![]() |
Datenbank: Paradox • Zugriff über: Delphi 3
Datenbank suchen
Halloo zusammen ,, habe eine Datenbank table1 database1
Über ein menü möchte ich auf suchen klicken ,, der user soll dann den begriff nach dem er sucht eingeben und der Datensatz in dem der begriff gefunden wird soll angezeigt werden ... (DBGrid1) habe mir im netz bisher einen Wolf gesucht .. ich weiß auch das ich mal einer routine aus einer adressverwaltung genutzt habe und das es dort klappt. Allerdings ist da 5 jahre her Delphi 1 und nun fange ich wieder ganz von vorn an ... |
Re: Datenbank suchen
Herzlich willkommen in der Delphi-PRAXiS, ronnyz.
Es gibt mindestens zwei Möglichkeiten für dich in einer Paradox-Tabelle zu suchen. Die eine ist über die Locate-Methode der TTable-Komponente, die andere per LocalSQL mit einer TQuery-Komponente. Wenn du mit Locate() suchst, dann wird der nächste passende Satz gefunden und im DBGrid automatisch selektiert. Die Suche per LocalSQL ist dann interessant, wenn du aus einer großen Menge von Sätzen eine Untermenge herausgreifen willst. Grüße vom marabu |
Re: Datenbank suchen
danke dir genauso hab ich mir das vorgestellt >>>>>>>> Wenn du mit Locate() suchst >>>>>>>>>
genau das wie gebe ich das nun in der prozedur ein procedure TForm1.suchenClick(Sender: TObject); begin ????????????????????????????????????? end; end. PS vielen Dank für die schnelle Antwort |
Re: Datenbank suchen
Im einfachsten Fall geht es so:
Delphi-Quellcode:
Je nach Feldtyp kannst du noch Optionen in den LocateOptions (dritter Parameter) benutzen. Auch das Suchen in einer Feldkombination ist möglich, allerdings mit leicht geänderter Syntax:
procedure TForm1.suchenClick(Sender: TObject);
begin with DBGrid1.DataSource.DataSet do if not Locate('feld1', 'text1', []) then ShowMessage('Pech gehabt'); end;
Delphi-Quellcode:
Schau einfach mal in die Online Hilfe von Delphi.
... Locate('feld1;feld2', VarArrayOf(['text1', 'text2']), [loCaseInsensitive, loPartialKey])
marabu |
Re: Datenbank suchen
Danke ...werd ich mal lesen C-;
|
Re: Datenbank suchen
soweit klar
procedure TForm1.SuchenClick(Sender: TObject); begin with DBGrid1.DataSource.DataSet do if not Locate('NR', '2', []) then ShowMessage('Nichts gefunden '); end; bedeutet wenn 2 gesucht wird in dbgrid anzeigen wenn nicht nichts gefunden... allerdings hab ich mich wohl nicht richtig ausgedrückt ... weil bei der lösung muß ich ja vorher im Quelltes eingeben was gesucht wird hier z.B nr.2 ich möchte aber das der user über ein menüpunkt suchen klcikt evtl sich finddialog öffrnen er dann von mir aus die nr 99 eingibt und dan eine meldung nicht gefunden kommt oder in dbgrind den datensatz anzeigt ... |
Re: Datenbank suchen
Schau mal:
Delphi-Quellcode:
Wenn es nicht funktioniert, dann musst du den Datentyp für den Suchwert anpassen.
procedure TForm1.suchenClick(Sender: TObject);
var s: String; begin with DBGrid1.DataSource.DataSet do begin s := FieldByName('NR').AsString; if InputQuery('Suchen nach', 'NR', s) and (s <> '') then if not Locate('NR', s, []) then ShowMessage(Format('NR "%s" nicht gefunden', [s])); end; end; marabu |
Re: Datenbank suchen
:-D Vielen Lieben Dank , hat geklappt , genau das hab ich gesucht ,,, eingetlich ganz einfach wenn mans liest ...
naja .. muß erst ma wieder rein kommen ... Übung macht den Meister :wall: C-; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz