Zuallererst müssen wir wissen, dass Null- und Leerzeichenfolgen in Access unterschiedlich sind. Wenn dieses Problem also nicht gut gelöst wird, kann es zu großen Problemen führen, insbesondere bei gemischten Abfragen.
(Empfohlenes Tutorial: Zugriff auf Datenbanklernen)
Die Lösung lautet wie folgt:
var SQLStr:string; begin // SQLStr := 'select * from ordertb where 1>0'; if Trim(Edit1.Text)<>'' then SQLStr := SQLStr +' and serialid like :a'; if Trim(Edit2.Text)<>'' then SQLStr := SQLStr +' and pname like :b'; with ADOQuery1 do begin Close; SQL.Clear; SQL.Add(SQLStr); if Trim(Edit1.Text)<>'' then Parameters.ParamByName('a').Value := '%'+Trim(Edit1.Text)+'%'; if Trim(Edit2.Text)<>''then Parameters.ParamByName('b').Value := '%'+Trim(Edit2.Text)+'%'; Open; end; end;
oder:
begin with ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select * from ordertb where 1>0'); if Trim(Edit1.Text)<>'' then SQL.Add(' and serialid like ''%'+Trim(Edit1.Text)+'%'''); if Trim(Edit2.Text)<>''then SQL.Add(' and pname like ''%'+Trim(Edit2.Text)+'%'''); Open; end; end;
Zusammenfassung:
Filtern Sie die Felder mit leeren Bedingungen aus der Abfrageanweisung.
Das obige ist der detaillierte Inhalt vonZugriff auf leere Felddatensätze löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!