Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Find-Next in Query - Wie?

  Alt 20. Aug 2003, 11:39
Du mußt die Datenmenge aufbereiten, also zuerst eine vernünftige SELECT.
Das geht ungefähr so:

Delphi-Quellcode:
ArtDS.Close;
    ArtDS.SelectSQL.Text := 'SELECT * FROM ART WHERE UPPER (BEZ) LIKE UPPER (''%' + LabeledEdit1.Text + '%'') ORDER BY NR';
    ArtDS.Open;
    IF NOT ArtDS.IsEmpty THEN BEGIN
      WHILE NOT ArtDS.EOF AND weiter DO BEGIN

        lblArtBez.Caption := ArtDS.FieldByName ('BEZ').AsString;
        CASE MessageDlg('Artikel gefunden ?',mtInformation,
          [mbYes, mbNo, mbCancel], 0) OF
          mrNo : begin
                       weiter := true;
                       lblArtNr.Caption := '';
                     end;
          mrYes : begin
                       weiter := false;
                       gefunden := true;
                       close;
                     end;
          mrCancel : begin
                       LabeledEdit1.Text := '';
                       weiter := false;
                       close;
                       lblArtNr.Caption := '';
                     end;
        END;
        IF weiter THEN
          ArtDs.Next;
      END;
      IF ArtDS.Eof THEN
        ShowMessage ('nicht gefunden !');
    END
Nur als Anhaltspunkt ! Der Code ist viel umfangreicher, alles wäre jetzt zuviel und überflüssig. Das Proggy sucht anhand einer in ein Editfeld eingegebenen Suchanforderung zuerst mal alle Daten zusammen, die zutreffen KÖNNTEN. Da kannst Du nun durchwandern mit next. Dann habe ich noch 2 Variable "weiter" und gefunden". gefunden ist eben gefunden. weiter ist nicht gefunden, aber noch was da zum suchen. Den Rest mußt Du Dir denken/selber machen.
Gruß
Hansa
  Mit Zitat antworten Zitat