AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access Datenbank Durchsuchen (mit Wildcards)
Thema durchsuchen
Ansicht
Themen-Optionen

Access Datenbank Durchsuchen (mit Wildcards)

Offene Frage von "Honsy"
Ein Thema von Freecer · begonnen am 1. Sep 2004 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
Seite 2 von 2     12   
Freecer

Registriert seit: 30. Okt 2003
44 Beiträge
 
#11

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 8. Sep 2004, 11:12
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:
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;
Gut also ... KUNDEN = Datenbankname

Vorname = Die Tabelle

Das einzige was ich abgewandelt habe ist das with ADODataSet1 do da ich ohne query arbeite (ich hoffe das funzt so auch bzw. sollte es??)

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:
...EDatabase Error with message 'DBEdit12: Field 'ID' not found....Processe stopped... usw...
Ich erkläre mir diesen fehler so (?) das ich mit diesem data set die grid verbudnen habe und das er mir dann deswegen den fehler anzeigt !?

danke für support
  Mit Zitat antworten Zitat
aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#12

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 8. Sep 2004, 20:36
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:
    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
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.

Gruss
Armin
Armin
aschne1
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 9. Sep 2004, 11:24
Versuch mal statt
Zitat:
Code:
 CommandText := CommandText + 'Vorname LIKE "%' + Edit1.Text + '%" ';
Code:
 CommandText := CommandText + 'Vorname LIKE ' + QuotedStr('%' + Edit1.Text + '%');
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Freecer

Registriert seit: 30. Okt 2003
44 Beiträge
 
#14

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 9. Sep 2004, 12:03
Das beispiel direkt ober mir war ebenfalls effekt los, trotzdem THX!

also zu deinen fragen...

in meiner ADOConenction1 is der connect string:

Zitat:
Microsoft.Jet.OLEDB.4.0
Also für access eben...

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

also ich gugg jetzt nochmal die sahcen durch...hacke die frag emal als "gelöst" ab... bidde trotzdem im auge behalten dankeeee

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:
 CommandText := 'SELECT Vorname FROM KUNDEN WHERE ';
also vorname selektierte...

mit dem * funzte es einwandfrei danke leute ihr seit echt die besten
  Mit Zitat antworten Zitat
Honsy

Registriert seit: 8. Sep 2006
Ort: Bochum
6 Beiträge
 
Delphi 7 Professional
 
#15

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 13. Sep 2006, 13:00
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:
 query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE (''%' + EditSuche.Text + '%'')';
 query1.open;
Wenn ich anstelle (''%' + EditSuche.Text + '%'')'; einfach einen Namen eingebe findet er in der Accses Datenbank die Einträge.

Kann mir Jemand helfen?

Danke
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 13. Sep 2006, 13:20
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;
inde deus abest
  Mit Zitat antworten Zitat
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 13. Sep 2006, 13:48
Zitat von Honsy:
Meine SQL Abfrage sieht dabei so aus:
Delphi-Quellcode:
 query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE (''%' + EditSuche.Text + '%'')';
 query1.open;
Probier mal
("%' + EditSuche.Text + '%") anstelle von (''%' + EditSuche.Text + '%'') Gruß
tr909
  Mit Zitat antworten Zitat
Honsy

Registriert seit: 8. Sep 2006
Ort: Bochum
6 Beiträge
 
Delphi 7 Professional
 
#18

Re: Access Datenbank Durchsuchen (mit Wildcards)

  Alt 14. Sep 2006, 08:45
query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ''Honsy'''; - funktioniert,

query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ''EditSuche.Text'''; - funktioniert schon nicht mehr,

query1.sql.text := 'SELECT Projektnummer, Projektname, Name FROM tabelProjekt, tabelProjektleiter WHERE ProjektLeiterID = LeiterID AND Name LIKE ("%' + EditSuche.Text + '%")'; - funktioniert leider auch nicht.


Zitat:
Parameter definieren solllte helfen:
Da kommt die Fehlermeldung: Query1: Parameter 'Name' nicht gefunden.



Gruß Honsy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr.
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