![]() |
Also...
@ MrSpock Ich hab den Code nachmal in mein Programm kopiert und überprüft. Funktioniert aber immer noch nicht. Zitat:
@ APP Hab alles nochmal im DB-Explorer kontrolliert. Es stimmt alles. |
Hallo Flo,
wenn dein Programm nicht zu groß ist, kann ich dir nur noch anbieten, das Programm (und die Tabellen) einmal dem nächsten Posting anzuhängen oder mir zu schicken, dann kann ich dort noch einmal reinschauen. |
Nur die Unit, in der der Fehler ist ???
|
Hallo Flo,
wenn diese Unit nicht auf andere Units zugreift (über die uses Klausel), dann genügt die Unit und die Tabellen. Benutzt du ein eigenes DataModule, dann solltest du das auch anhängen. |
Hallo Flo,
ich habe mir einmal deine Dateien angeschaut und den Fehler gefunden. Das dritte Feld "Nr" ist kein Zahlenfeld! Es ist definiert als A 5 (alphanumerisch 5 Zeichen lang). Es gibt jetzt 2 Möglichkeiten: Entweder du änderst den Typ des Feldes z.B. mit der Datenbankoberfläche in ein Integerfeld (I) oder zu änderst den Code in:
Delphi-Quellcode:
Bei der 2. Lösung musst du jedoch beachten, dass bei Vergleichen mit >= oder <= die Reihenfolge der Zeichen im ASCII Code entscheidend ist.
procedure TForm1.Button2Click(Sender: TObject);
begin Query1.Close; with Query1.SQL do begin Clear; Add('SELECT * '); Add('FROM kosten'); Add('WHERE abteilung = ' +QuotedStr(Edit1.Text)); Add('AND reihe =' +QuotedStr(edit2.Text)); Add('AND Nr <= ' + QuotedStr(edit3.text)); end; Query1.Open; end; |
Hab die erste Lösung genommen und es hat geklappt :spin:
Aber wieso springt er denn nicht zum Datensatz ? Muss ich da noch was hinzufügen ??? |
Hallo Flo,
in deinem Formular zeigst du ja den Inhalt der Tabelle an. Neben der Tabelle hast du jetzt eine Datenmenge mit einer Query (Abfrage) erstellt. Diese beiden Datenmengen haben aber nichts miteinander zu tun. Wenn du willst, dass die Tabelle auf den gewünschten Satz zeigt, kannst du mit Locate arbeiten (siehe OH) und die Query komplett vergessen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Table1.Locate('abteilung;reihe;grabstelle', VarArrayOf([Edit1.Text, Edit2.Text, Edit3.Text]),[]); end; |
Ohh....das tut mir jetzt leid :oops:
Hätte ich vielleicht vorher sagen bzw. schreiben sollen. Klappt aber. Vielen Dank nochmal an alle, die geholfen haben !!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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 by Thomas Breitkreuz