Pitanje se odnosi na sledeci kod
Code:
Private Sub Command22_Click()
Dim SQl As String
If Format$(Me.T1) <> "" Then
SQl = "OznakaDonosioca like '" & Me.T1 & "*' AND "
End If
If Format$(Me.T2) <> "" Then
SQl = SQl & "NaslovPropisa Like'" & Me.T2 & "*' AND "
End If
If Format$(Me.T3) <> "" Then
SQl = SQl & "Godina='" & Me.T3 & "' AND "
End If
If Format$(Me.T4) <> "" Then
SQl = SQl & "Status Like '" & Me.T4 & "*' AND "
End If
If Format$(Me.T5) <> "" Then
SQl = SQl & "Donosilac Like '" & Me.T5 & "*' AND "
End If
If SQl <> "" Then
SQl = Mid(SQl, 1, Len(SQl) - 4)
SQl = "SELECT * FROM Propisi " _
& " WHERE " & SQl
Else
SQl = "SELECT * FROM Propisi "
End If
If Me.Frame25 = 2 Then
DoCmd.OpenForm "Propisi"
Forms![Propisi].RecordSource = SQl
ElseIf Me.Frame25 = 1 Then
Me.Form.Tag = SQl
DoCmd.OpenReport "RPropisi", acViewPreview
End If
End Sub
Linija
SQl = Mid(SQl, 1, Len(SQl) - 4) itekako je potrebna. Pogledaj seriju IF naredbi na pocetku. Svaka od njih ima na kraju AND. Tvoj SQl string se dakle zavrsava recju AND. To AND na kraju mora da se ukloni da bi SQl bio korektan.
Moglo je da se napise i ovako:
SQl = LEFT(SQl, Len(SQl) - 4) = uzmi SQ ali zanemari poslednja 4 znaka (' AND')
Trik je u onome Len(SQl) - 4
Naravoucenije: veruj Izonicu kad napise kod. Radi bez greske