![]() |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Hallo
Ich entshculdige mich für meine späte antwort, habe im mom echt viel um die ohren :( Naja wie dem auch sei, gut hab den code so mal übernommen...
Delphi-Quellcode:
Gut also ... KUNDEN = Datenbankname
procedure TForm1.Button1Click(Sender: TObject);
var CommandText: String; begin with ADODataSet1 do // TADODataSet begin Close; CommandText := 'SELECT Vorname FROM KUNDEN WHERE '; CommandText := CommandText + 'Vorname LIKE "%' + Edit1.Text + '%" '; // % vor Edit1 legt Suchart fest (*Ausdruck* oder Ausdruck*) //CommandText := CommandText + 'AND DeineTabelle.Feld2 LIKE "%' + Edit2.Text + '%" '; Open; end; end; Vorname = Die Tabelle Das einzige was ich abgewandelt habe ist das
Delphi-Quellcode:
da ich ohne query arbeite (ich hoffe das funzt so auch bzw. sollte es??)
with ADODataSet1 do
Aber wnen ich starte funzt es einwandfrei nur dann gebe ich in das edit z.b. D% ein und klicke auf suchen... dann sagt er mir: Zitat:
danke für support :) |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Hallo Freecer
Also ich habe das Ganze nochmals bei mir als Projekt angelegt und es funktioniert. Dabei habe ich Deine Prozedur bei mir in den Code reinkopiert. Also liegt es nicht am String! Im Projekt verwende ich folgende Komponenten:
Delphi-Quellcode:
Kannst Du bei der ADOConnection1 die Verbindung erfolgreich testen, bzw herstellen? Was für einen Provider verwendest Du in den Datenverknüpfungseigenschaften von ADOConnection1? Ich denke, dass da irgendwo der Fehler liegt. Bitte poste einmal die Datenbank (oder Auszug davon). Dann kann ich mir das mal ansehen und ein funktionierendes Beispiel zurücksenden. :wink:
ADOConnection1: TADOConnection; // Verbindung zu der Datenbank (*.mda)
ADODataSet1: TADODataSet; // Datenmenge kann Table oder Query sein (Du arbeitest also nicht ohne Query, das ist Sie) Edit1: TEdit; // Gesuchter Vorname oder Teil davon - Gesucht wird %Edit1.Text% Button1: TButton; // Suche wird ausgeführt DBGrid1: TDBGrid; // Anzeige der Daten (zur Kontrolle) DataSource1: TDataSource; // Verbindet ADODataSet1 mit DBGrid1 Gruss Armin |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Versuch mal statt
Zitat:
Code:
Grüße
CommandText := CommandText + 'Vorname LIKE ' + QuotedStr('%' + Edit1.Text + '%');
Mikhal |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Das beispiel direkt ober mir war ebenfalls effekt los, trotzdem THX!
also zu deinen fragen... in meiner ADOConenction1 is der connect string: Zitat:
aber mir geht es nicht ein warum der mir IMMER den fehler anzeigt von der ID? Was hat das mit der suche zu tun?? danke für eure mühen :) Also das is jetzt aber echt interessant die funktion funktioniert wudnerbar (wie auch nicht anders erwartet und von dir schon kommentiert) habe eben das project so anchgestellt wie du es gesagt hast und die suche funzt einwandfrei :D also ich gugg jetzt nochmal die sahcen durch...hacke die frag emal als "gelöst" ab... bidde trotzdem im auge behalten dankeeee :D Hab ich euch schon gesagt das ihr echt doll seit? :) mfg. Ok edit numero 3: Also... Mich hat es reichlich gestutzt das er immer dieses edit meinte, hab es einfach mal auf Datasource 2 gesetzt so wie alle anderne dits auch, und nun funzt es, aber wieso geht das nicht wenn die edits auf datasource1 gestellt sind????? leuchtet mir nicht ganz ein :? Edit:4 Bitte habt gedult mit meiner *G*... Gut hab mir gedacht vlt. liegt es an der selben datasource aber NÖ dem war leider nicht so... Genauer: Ich hab ne DataSource2 auf die form geklatscht und stellte die edits auf diese ein gut anzeige wie vorhin und ebenfalls selber fehler....nun ist mir zwar wirklich toll geholfen mit der suche *froi* aber interessant were jetzt wie ich das ergebnis der suche in den edits anzeigen lassen kann...also ich suche nach einem name, Klicke den an und in den edits bei name, vorname blablabla wird dann automatisch Vorname, Nachname usw. ausgefüllt, eben wie wenn ich es in der tabelle anklicke nur geht das jetzt eben irgendwi enicht...:? hoffe is nich zu komplex erklärt von mir... bzw. oder is den mods lieber wenn ich n neues thema dafür aufmache? (wobei das im grunde zusammengehört) mfg. Edit:5 So nummer 5 zum schluss....Das obige prob hat sich ebenfalls gerade gelöst... Es war logisch das die edits nen fehelr verursachen da ich ja nur...
Code:
also vorname selektierte...
CommandText := 'SELECT Vorname FROM KUNDEN WHERE ';
mit dem * funzte es einwandfrei danke leute ihr seit echt die besten :D |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Moin zusammen, hab jetzt schon so alles was in diesem Thread steht ausprobiert,
aber der schreibt mir keine Daten in mein DB Grid, wenn ich versuche eine suche mittels Editfeld und Wildkarts. Meine SQL Abfrage sieht dabei so aus:
Delphi-Quellcode:
Wenn ich anstelle (''%' + EditSuche.Text + '%'')'; einfach einen Namen eingebe findet er in der Accses Datenbank die Einträge.
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE (''%' + EditSuche.Text + '%'')';
query1.open; Kann mir Jemand helfen? Danke |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Parameter definieren solllte helfen:
Delphi-Quellcode:
query1.Parameters.ParamByName('Name').Value := '%' + EditSuche.Text + '%'; // muss nicht Name sein, einfach das entsprechende Feld in deiner Datenbank, nach welchem du halt suchst
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE :Name'; // selbiges wie oben bei dem Parameter query1.open; |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Zitat:
Delphi-Quellcode:
Gruß
("%' + EditSuche.Text + '%") anstelle von (''%' + EditSuche.Text + '%'')
tr909 |
Re: Access Datenbank Durchsuchen (mit Wildcards)
Delphi-Quellcode:
- funktioniert,
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ''Honsy''';
Delphi-Quellcode:
- funktioniert schon nicht mehr,
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ''EditSuche.Text''';
Delphi-Quellcode:
- funktioniert leider auch nicht.
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ("%' + EditSuche.Text + '%")';
Zitat:
Gruß Honsy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 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