I wrote a variable SQL statement, and im totally not happy with it, even though it works.
There must be a better way to write it, but how?
---------sql="SELECT * FROM stock"
If Artist <> "" Then
sql = sql + " WHERE Artist LIKE '%"&Artist&"%'"
End if
If Title <> "" Then
If Artist = "" Then
sql = sql + " WHERE Title LIKE '%"&Title&"%'"
Else
sql = sql + " AND Title LIKE '%"&Title&"%'"
End If
End If
If Label <> "" Then
If Artist = "" And Title = "" Then
sql = sql + " WHERE Label LIKE '%"&Label&"%'"
Else
sql = sql + " AND Label LIKE '%"&Label&"%'"
End If
End If
If YearMade <> "" Then
If Artist = "" And Title = "" And Label = "" Then
sql = sql + " WHERE YearMade LIKE '%"&YearMade&"%'"
Else
sql = sql + " AND YearMade LIKE '%"&YearMade&"%'"
End If
End If
If InStock <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" Then
sql = sql + " WHERE InStock LIKE '%"&InStock&"%'"
Else
sql = sql + " AND InStock LIKE '%"&InStock&"%'"
End If
End If
If Audio <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" Then
sql = sql + " WHERE Audio <> NULL "
Else
sql = sql + " AND Audio <> NULL "
End If
End If
If Picture <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" And Audio = "" Then
sql = sql + " WHERE Picture <> NULL "
Else
sql = sql + " AND Picture <> NULL "
End If
End If
If CloseUp <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" And Audio = "" And Picture = "" Then
sql = sql + " WHERE CloseUp <> NULL "
Else
sql = sql + " AND CloseUp <> NULL"
End If
End If
sql = sql + " ORDER BY Artist, Title, Label"
End If
-----
Cheers
Dave
There must be a better way to write it, but how?
---------sql="SELECT * FROM stock"
If Artist <> "" Then
sql = sql + " WHERE Artist LIKE '%"&Artist&"%'"
End if
If Title <> "" Then
If Artist = "" Then
sql = sql + " WHERE Title LIKE '%"&Title&"%'"
Else
sql = sql + " AND Title LIKE '%"&Title&"%'"
End If
End If
If Label <> "" Then
If Artist = "" And Title = "" Then
sql = sql + " WHERE Label LIKE '%"&Label&"%'"
Else
sql = sql + " AND Label LIKE '%"&Label&"%'"
End If
End If
If YearMade <> "" Then
If Artist = "" And Title = "" And Label = "" Then
sql = sql + " WHERE YearMade LIKE '%"&YearMade&"%'"
Else
sql = sql + " AND YearMade LIKE '%"&YearMade&"%'"
End If
End If
If InStock <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" Then
sql = sql + " WHERE InStock LIKE '%"&InStock&"%'"
Else
sql = sql + " AND InStock LIKE '%"&InStock&"%'"
End If
End If
If Audio <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" Then
sql = sql + " WHERE Audio <> NULL "
Else
sql = sql + " AND Audio <> NULL "
End If
End If
If Picture <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" And Audio = "" Then
sql = sql + " WHERE Picture <> NULL "
Else
sql = sql + " AND Picture <> NULL "
End If
End If
If CloseUp <> "" Then
If Artist = "" And Title = "" And Label = "" And YearMade = "" And InStock = "" And Audio = "" And Picture = "" Then
sql = sql + " WHERE CloseUp <> NULL "
Else
sql = sql + " AND CloseUp <> NULL"
End If
End If
sql = sql + " ORDER BY Artist, Title, Label"
End If
-----
Cheers
Dave