![]() |
Datenbank: Access • Zugriff über: BDE
Access Tabelle durchsuchen
Ich arbeite gerade mit BDE, aber nur zu test zwecken, also ich setz es dann in MYSQL um.
Ich will die DB durchsuchen und zwar, wenn in dein Editfeld z.B. 5 eingegeben wird, dann werden alle Daten mit ID 5 angezeigt.(also z.B. Name dann halt und Adresse..). Brauch ich ein Query(ok ja^^), der SQl Code ist das schwierige, ich glaub damit muss ich mich noch ma auseinander setzten. Dann das laden in die Editfelder, geht dann ja über den SQL COde.
Delphi-Quellcode:
Wäre nett wenn mir jemand da helfen könnte.
edit1.text := query1.FieldByName('Name').AsString; // so oder?
[edit=sakura] Titel auf Wunsch angepasst. Mfg, sakura[/edit] |
Re: Suchen!
Der SQL-Code wäre:
SQL-Code:
SELECT * FROM tabellenname WHERE id = 1
|
Re: Suchen!
Zitat:
SQL-Code:
Und dann muss ich ja noch die Daten einfügen in die Editfelder.
'SELECT * FROM tabellenname WHERE id ='+edit1.Text
Beim Code muss dann ja noch was dazu für die einzelnen Felder oder? |
Re: Suchen!
Oder besser mit Parameter
Wenn du dem Query die Abfrage:
SQL-Code:
zuweist. brauchst du später, nur den Parameter mit
SELECT * FROM tabellenname WHERE id = :suchid;
Delphi-Quellcode:
absetzen
query1.ParamByName('suchid').assTring := Edit1.Text;
|
Re: Suchen!
Hi,
ich würde das über Paramter lösen:
Delphi-Quellcode:
Query1.SQL.Text := 'SELECT * FROM tabellenname WHERE id = :id';
Query1.ParamCheck := true; Query1.ParamByName('id').AsInteger := StrToInt(Edit1.Text); Query1.Open; // Auslesen wie gewohnt: Edit2.Text := Query1.FieldByName('Feldname').AsString; |
Re: Suchen!
Zitat:
Fehler: inkompatibletypen Tstrings und string. inkompatibletypen string und Tfield. |
Re: Suchen!
Delphi-Quellcode:
Query1.SQL.Text := ...
|
Re: Suchen!
Hai Seppel,
da fehlt ein .Text
Code:
EDIT: Dieser mkinzler. Hat keine Mathematik sondern "nur" Informatik studiert und postet doch schneller als der DP-Hai :stupid:
Query1.SQL[b].Text[/b] := 'SELECT * FROM tabellenname WHERE id = :id';
|
Re: Suchen!
Und hier:
Delphi-Quellcode:
Edit2.Text := Query1.FieldByName('Feldname').asString;
|
Re: Suchen!
ei ei ei, ich änder das gleich mal noch. Ist halt außen Kopf gemacht ne ;-)
|
Re: Suchen!
Da du meintest du hättest Probleme mit SQL ... schau dir mal dieses Tut zu SQL an.
![]() |
Re: Suchen!
Zitat:
@all: Thx, too. Habt mir sehr geholfen. |
Re: Suchen!
Liste der Anhänge anzeigen (Anzahl: 1)
Hab ma ein Problem und zwar Suchen klappt ja jetzt, aber wenn ich dann die Navibenutze um z.B was neues zu erstellen, dann bekomme ich eine Meldung, ich glaub es leigt an dem Feld ID.
Ich poste ma alles rein. Ich benutze ADOkomponente, also auch eine Access datenbank. Der Primärschlüssel is STUID und wird nicht automatisch festgelegt(ein Felher?) Also kann die ID(STUID) auch ma 1000 statt 1 sein. Ich glaube das ist der Felher, vlt. probiere ich esm a mit ner id und der STUID an sich, aber dann kann ich net mehr nach der STUID suchen oder?
Delphi-Quellcode:
begin
Query1.SQL.Text := 'SELECT * FROM apezdb WHERE STUID ='+id.Text; //Parameter hab ich weggleassen, haben bei ADO komponente net gefunzt. Query1.Open; id.Clear; name.Clear; Rasse.clear;p1.Clear;p2.Clear;p3.Clear;m1.Clear; m2.Clear;m3.Clear;komm.Clear; id.text := Query1.FieldByName('STUID').asString; name.Text := Query1.FieldByName('Name').asString; Rasse.Text := Query1.FieldByName('Rasse').asString; p1.Text := Query1.FieldByName('Planet1').asString; p2.Text := Query1.FieldByName('Planet2').asString; p3.Text := Query1.FieldByName('Planet3').asString; m1.Text := Query1.FieldByName('Mond1').asString; m2.Text := Query1.FieldByName('Mond2').asString; m3.Text := Query1.FieldByName('Mond3').asString; komm.Text := Query1.FieldByName('Kommentar').asString; end; |
Re: Suchen!
Sorge dafür, das die ID automatisch vergeben wird.
|
Re: Suchen!
Zitat:
|
Re: Suchen!
Also, ich will ja jetzt nach ner STUID suchen z.B 2000, die richtige ID(Primärschlüssel) davon ist 3.
Suchen klappt auch, nur wenn ich dann vorwärts gehen will, dann kommt halt ne Fehlermeldung und da steht Fled ID kann nicht verändert werden. Muss ich vlt. nach der Suche noch was freigeben, bzw. der DB mitteilen?? |
Re: Suchen!
Was für Typen haben id und Co?
|
Re: Suchen!
Liste der Anhänge anzeigen (Anzahl: 1)
ID ist Autowert, ich lad die DB einfach ma hoch^^
STUID is glaub ich Zahl oder so. |
Re: Suchen!
Habt ihr mich vergessen. :(
edit: Könnt ihr mir net helfen?? Mein Problem ist wenn ich suche und was finde und dann etwas neues hinzufügen will oder vorwärts gehen will, dass eine Fehlermeldung kommt, ID falsch... |
Re: Suchen!
Das Problem liegt bestimmt darin, dass ich nicht nach der ID suche, sondern nach einem anderen Feld oder?
|
Re: Suchen!
*up*
|
Re: Suchen!
Jetzt erklär mir noch mal Deine Tabellenstruktur und was bzw. wie Du suchst. Primärschlüssel ist Id? Und STUID ist einfach eine (nicht eindeutige) Zahl?
|
Re: Suchen!
Zitat:
Soll ich vlt. ma alles uppen?? Datenbank und momentanen Code?? |
Re: Suchen!
Schaden kann es nicht.
|
Re: Suchen!
Liste der Anhänge anzeigen (Anzahl: 1)
Ok hier is alles.
|
Re: Suchen!
Ist das Access 2003 oder gar 2007? Auf jeden Fall bekomme ich die DB nicht geöffnet.
|
Re: Suchen!
Zitat:
|
Re: Suchen!
Etwas zum Titel, da wir inzwischen mehrere Beschwerden dazu haben - diesen kannst Du nicht mehr ändern, aber in Zukunft wähle bitte aussagekräftigere Titel für Deine Fragen - alle werden es Dir danken :zwinker:
...:cat:... Danke vom Team im Voraus |
Re: Suchen!
Eigentlich ist es nicht nötig, die DB nun zu konvertieren, poste doch einfach mal die Metadaten hier.
|
Re: Suchen!
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Im Anhang is ein Screen^^ |
Re: Suchen!
Mich wundert, dass die Datasource mit der Table verbunden ist und nicht mit der Query.
|
Re: Suchen!
Zitat:
^^ Dann muss ich auch zu beginn abfragen oder? also Select from apezdb weil ja dann alles manuell gemacht wird und die Tabelle macht ja das für mich. Oder sehe ich das falsch? |
Re: Suchen!
Ich würde es so machen. Dann kannst Du Dir die Table komplett sparen.
P.S.: Es heißt SELECT * FROM Tabelle ;) |
Re: Suchen!
Zitat:
dein Bild im Anhang hat aber nichts mit dem Titel des Threads zu tun. Schreibe Sakura doch eine PN und bitte ihn den Titel zu ändern! |
Re: Suchen!
Ok es funzt einigermaßen.
Jetzt ist zumindest keine Fehlermeldung. Aber ich kann nicht vor oder zurück gehen. Wie kann man das jetzt machen. |
Re: Access Tabelle durchsuchen
In welcher Datenmenge denn? Die initial im Query steht?
|
Re: Access Tabelle durchsuchen
Zitat:
Select * from tabelle So dann suche ich, Select from tabelle where STUID =.... so ich hab dann was gefunden und wenn ich dann auf weiter gehen will kennt er keinen Datensatz mehr. Das leigt auch daran, dass es ja eigentlich keinen mehr gibt, also muss ich ja irgendwie die anderen Datensätz wieder reinladen. Das is denke ich das Problem. |
Re: Access Tabelle durchsuchen
Du filterst mit Deiner Query. Zur Suche kannst Du Dir mal Locate ansehen.
|
Re: Access Tabelle durchsuchen
Zitat:
Ich schau ma was es da gibt, wegen dem Locate. edit:
Delphi-Quellcode:
Query1.Locate()// was muss man da jetzt eingeben etwa : STUID=+id.Text
|
Re: Access Tabelle durchsuchen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 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