[ bdrago @ 05.06.2006. 08:57 ] @
Pozdravljam clanove foruma.
Javljam se ponovo sa slicnim pitanjem u vezi pretrazivanja pomocu forme za upit (pogledaj okaceni primjer). Sada su neka polja na pocetku forme za upit izbacena i sve to na izgled radi.
Prvi puta mi je pomogao Izonic, pa ga molim da pogleda primjer (a i ostale zainteresovane), posto mi nije jasan sledeci red koda, i da li on uopste sada treba u tom obliku? i da ga ispravi ako treba?

SQL=Mid(SQL, 1, Len (SQL) – 4)

Zahvaljujem!
[ Zidar @ 05.06.2006. 15:55 ] @
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

[ bdrago @ 07.06.2006. 05:51 ] @
Hvala Zidar!
Vjerujem ja Izonicu ali ne vjerujem sebi, tj. sada sam ipak nesto naucio.

Pozdrav.