Entwickler-Ecke

Datenbanken - Query.fieldbyname zusätzlich filtern


sims1122 - Mi 01.09.10 09:32
Titel: Query.fieldbyname zusätzlich filtern
Moin,

ich sitze zur Zeit daran, ein bestehendes riesiges Delphiprogramm zur Datenbankverwaltung zu reparieren. Nun ist es so, dass mir leider in diesen SQL und Querygeschichten die absoluten Grundlagen fehlen. Von daher vorweg: Wenn jemand ein gutes Tutorial noch kennt, immer her damit;-)
Nun aber meine Frage. Folger Code liegt vor:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TStammdatenForm1.PDJ_verwendung_ButtonClick(Sender: TObject);
var
   vn: TVNFORM;
begin
   if QueryMatSuche.FieldByName('IDENTNUMMER').AsInteger > 0 then
   begin
      vn := TVNFORM.create(self);
      vn.iIdentNummer := QueryMatSuche.FieldByName('IDENTNUMMER').AsInteger;
      vn.ShowModal();
   end
end;

Soweit, sogar so klar. Jetzt möchte ich aber nicht nur die Felder haben, in denen die Eigenschaft Identnummer gleich ist, sondern auch noch nach einer zweiten Eigenschaft filtern, genauer gesagt möchte ich, dass nur diejenigen Datensätze angezeigt werden, deren Spalte "GUELTIG" = 1 ist. Weiß da jemand, wie ich das noch filtern kann? bzw wird das aus dem Code hier überhaupt klar, oder fehlt euch noch was?

Vielen Dank im Voraus

Max


Nersgatt - Mi 01.09.10 09:37

Du kannst doch einfach die 2. Spalte abfragen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
   if (QueryMatSuche.FieldByName('IDENTNUMMER').AsInteger > 0AND 
      (QueryMatSuche.FieldByName('GUELTIG').AsInteger = 1then
   begin
      vn := TVNFORM.create(self);
      vn.iIdentNummer := QueryMatSuche.FieldByName('IDENTNUMMER').AsInteger;
      vn.ShowModal();
   end


sims1122 - Mi 01.09.10 09:41

DAS zählt jetzt natürlich schon zu peinlich.

Herzlichen Dank^^