Detta kanske är bättre att posta i SQL-forumet. (vet inte)
Min kod här har jag lite problem med eftersom om exempelvis visaSida är tomt så blir det fel med kommateckenet. Är titel tomt så blir det fel med where. hur löser jag detta på bästa sätt.
Har funderat på att sätta were sida_id <> "" i början och i slutet så att det blir rätt.
sqlString = "SELECT sida_titel, sida_id, sida_typ " &_
"FROM sidor "
IF titel <> "" THEN
sqlString = sqlstring &_
" WHERE sida_titel LIKE '"& titel &"', "
END IF
IF forfattare <> "" THEN
sqlString = sqlstring &_
" AND sida_forfattare LIKE '"& forfattare &"', "
END IF
IF visaSida <> "" THEN
sqlString = sqlstring &_
" AND sida_visa = "& visaSida &", " &_
END IF
sqlString = sqlstring &_
"ORDER BY sida_titel "
SET sidorRS = Con.Execute( sqlString )
sqlString = "SELECT sida_titel, sida_id, sida_typ " &_
"FROM sidor where 1 = 1 "
IF titel <> "" THEN
sqlString = sqlstring &_
" and sida_titel = '"& titel &"'"
END IF
Om du inte har något wildcard så finns ingen anledning att använda like. (Det kan bli fel också.)
Får det forfarande inte att fungera. Komma tecknen bråkar:
sqlString = "SELECT sida_titel, sida_id, sida_typ " &_
"FROM sidor where 1 = 1"
IF titel <> "" THEN
sqlString = sqlstring &_
" AND sida_titel = '"& titel &"', "
END IF
IF forfattare <> "" THEN
sqlString = sqlstring &_
" AND sida_forfattare = '"& forfattare &"', "
END IF
IF visaSida <> "" THEN
sqlString = sqlstring &_
" AND sida_visa = "& visaSida &", "
END IF
sqlString = sqlstring &_
" AND 1 = 1 " &_
" ORDER BY sida_titel "
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (komma) i frågeuttrycket '1 = 1 AND sida_forfattare = 'test', AND 1 = 1'.
sqlString = "SELECT sida_titel, sida_id, sida_typ " &_
"FROM sidor where 1 = 1"
IF titel <> "" THEN
sqlString = sqlstring &_
" AND sida_titel = '"& titel &"' "
END IF
IF forfattare <> "" THEN
sqlString = sqlstring &_
" AND sida_forfattare = '"& forfattare &"' "
END IF
IF visaSida <> "" THEN
sqlString = sqlstring &_
" AND sida_visa = "& visaSida &" "
END IF
sqlString = sqlstring &_
" ORDER BY sida_titel "