also mein serverlein (sqlserver) sagt mir, dass er like mit nummerischen werten nicht 'liked'

da like nur für char-typen genommen wird.
also semantisch richtig wäre deine abfrage so:
SELECT * FROM Tabelle
WHERE ((jahr = feldj) AND (Zeitschrift = feldz) AND (Ausgabe = felda)
mir sind für numerische werte keine platzhalter wie % bekannt. (soll aber nicht heissen, dass es sie vielleicht doch gibt

)
bleibt dir also nur der aufbau ala:
if jahrfeld<>"" then sql = sql + " AND (jahr = jahrfeld) end if
if zeitschriftfeld <>"" then sql = sql + " AND (zeitschrift = zeitschriftfeld) end if...
so bastelst du dir dann den sql string passend zu den übergabewerten zusammen.
so oder so ähnlich halt.
[ed] klammern falsch gesetzt- passen jetzt [/ed]