Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Suche in einer Access Datenbank mit Delphi (https://www.delphipraxis.net/54562-suche-einer-access-datenbank-mit-delphi.html)

Avax2k 6. Okt 2005 16:30

Datenbank: Access • Version: 2003 • Zugriff über: über ADO

Suche in einer Access Datenbank mit Delphi
 
Hallo, ich habe folgendes problem und zwar möchte ich in meiner Delphianwendung eine Access Datenbank durchsuchen. Habe dazu schon folgende Seite gefunden:

http://www.delphipraxis.net/internal...tenbank+suchen

leider habe ich es nicht geschafft, dass irgendetwas durchsucht wird auch wenn ich alles so schreibe, wie in diesem beitrag steht. Wenn ich auf den Knopf drücke, passiert einfach GAR NICHTS !!
wenn ich ein paar Argumente wie '' oder '%' weglasse kommt ein Fehler der sagt dass die Parameter falsch gesetzt sind..

hoffe jemand kann mir helfen und vielleicht sagen woran es liegt!

im Programm wird ADOConnection, ADOQuery, ADODataSet und DBGrid verwendet..alles ist richtig eingestellt und die Datenbank wird auch im DBGrid angezeigt..nur suchen lässt sich eben nicht :(

dfried 6. Okt 2005 18:46

Re: Suche in einer Access Datenbank mit Delphi
 
Ein bisserl Sourcecode wie du das machst und vor allem der SQL wären für eine LÖsungssuche extrem hilfreich!!! :zwinker:

Avax2k 6. Okt 2005 19:04

Re: Suche in einer Access Datenbank mit Delphi
 
SourceCode und SQL Text sind die gleichen wie bei dem Link den ich in meinem ersten Post angeheftet habe..ausgenommen den Tabellennamen und die Spaltenbezeichnung ist alles gleich.

Avax2k 7. Okt 2005 01:00

Re: Suche in einer Access Datenbank mit Delphi
 
hier der Quelltext des Buttons:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Text : String;
begin
  with ADODataSet1 do begin
  Close;
  Text := 'SELECT * FROM Datenbank WHERE Bezeichnung = "%' + Edit1.Text + '%" ';
  Open;
  end;
end;

end.
verwendet werden in der VCL Form nur TEdit, TButton, DataSource1, ADOConnection1 und ADODataSet1

so eingegeben tut sich nichts wenn man auf den Knopf klickt nachdem man in das Edit.Text Feld seine Eingabe gemacht hat. Ihr seht es ist somit so simpel, wie es eben nur sein kann und trotzdem geht es nicht.

[edit=Sharky]Quote-Tags durch Delphi-Tags ersetzt Mfg, Sharky[/edit]

mikhal 7. Okt 2005 06:31

Re: Suche in einer Access Datenbank mit Delphi
 
Tausche das Gleichheitssymbol durch den Operator LIKE, dann sollte es funktionieren.

Also:
Delphi-Quellcode:
...
Text := 'SELECT * FROM Datenbank WHERE Bezeichnung LIKE "%' + Edit1.Text + '%" ';
...
Grüße
Mikhal

r_kerber 7. Okt 2005 07:20

Re: Suche in einer Access Datenbank mit Delphi
 
Zitat:

Zitat von mikhal
Delphi-Quellcode:
...
Text := 'SELECT * FROM Datenbank WHERE Bezeichnung LIKE "%' + Edit1.Text + '%" ';
...

Wobei zu beachten ist, daß bei Access das Jokerzeichen standardmäßig * und nicht % ist.

Bernhard Geyer 7. Okt 2005 07:22

Re: Suche in einer Access Datenbank mit Delphi
 
Zitat:

Zitat von r_kerber
Zitat:

Zitat von mikhal
Delphi-Quellcode:
...
Text := 'SELECT * FROM Datenbank WHERE Bezeichnung LIKE "%' + Edit1.Text + '%" ';
...

Wobei zu beachten ist, daß bei Access das Jokerzeichen standardmäßig * und nicht % ist.

Je nach Zugriffsweg. AFAIK ist über ADO auch bei Access % das Joker-Zeichen. Nur direkt in Access bzw. über DAO kocht MS hier sein eigenes Süppchen.

Avax2k 7. Okt 2005 09:56

Re: Suche in einer Access Datenbank mit Delphi
 
Danke für die Tipps...

leider tut sich auch nichts, wenn ich das Gleichzeichen durch Like ersetze sprich
Zitat:

...
Text := 'SELECT * FROM DATENBANK WHERE BEZEICHNUNG LIKE "%' + Edit1.Text + '%";
...
die Datenbank habe ich so im ADODataSet1 eingestellt, dass lediglich "Bezeichnung" aus der kompletten Datenbank im DBGrid angezeigt wird.
Weiss jemand wieso das immer noch nicht funktionieren mag ?? :(

Jens Schumann 7. Okt 2005 10:10

Re: Suche in einer Access Datenbank mit Delphi
 
[quote="Avax2k"]hier der Quelltext des Buttons:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Text : String;
begin
  with ADODataSet1 do begin
  Close;
  Text := 'SELECT * FROM Datenbank WHERE Bezeichnung = "%' + Edit1.Text + '%" ';
  Open;
  end;
end;

end.
Tausch mal
Delphi-Quellcode:
Text := 'SELECT * FROM Datenbank WHERE Bezeichnung = "%' + Edit1.Text + '%" ';
gegen
Delphi-Quellcode:
CommandText := 'SELECT * FROM Datenbank WHERE Bezeichnung = "%' + Edit1.Text + '%" ';
aus

marabu 7. Okt 2005 10:15

Re: Suche in einer Access Datenbank mit Delphi
 
Und mache aus den Quotes jeweils zwei Hochkommata:

Delphi-Quellcode:
... := 'SELECT * FROM Datenbank WHERE Bezeichnung = ''%' + Edit1.Text + '%'' ';
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz