Entwickler-Ecke
Datenbanken - Zu Zeile mit bestimmter ID springen
LonghornUser - Fr 09.04.10 21:32
Titel: Zu Zeile mit bestimmter ID springen
Hallo,
ich möchte gerne eine Funktion "Springe zu Zeile mit bestimmter ID..." implementieren. Da mir der betreffende Befehl fehlt, habe ich folgende (ziemlich miese ;)) Lösung erdacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| s := InputBox('SalesSystem - Eingabe', 'Bitte geben Sie die gewünschte ID ein:', ''); while (s <> '') and (ZQuery1.FieldByName('ID').AsString <> s) do begin ZQuery1.Next; end; |
Habt ihr da vielleicht etwas besseres?
Ciao LHUser
Xentar - Fr 09.04.10 22:06
LonghornUser hat folgendes geschrieben : |
| Da mir der betreffende Befehl fehlt, |
Glaub das war irgendwas mit Query.Locate oder so?
LonghornUser - So 11.04.10 15:31
Ich habe das ganze so probiert, aber der Befehl liefert immer False :(
Delphi-Quelltext
1:
| ZQuery1.Locate('ID', s, []); |
RonLipp - Mo 12.04.10 14:39
Das Feld 'ID' sollte existieren und von Typ String sein.
Beim Doppelklick auf die Komponente ZQuery1 lässt sich das prüfen.
zuma - Mo 12.04.10 15:21
ist deine ID vom Typ String oder Integer?
ist in s direkt vor dem locate auch nur der 'richtige' Eingabewert (z.b. '3') oder ist da noch evtl. ein (Leer-)zeichen drin (z.b. '3 ') ?
versuch mal:
Delphi-Quelltext
1: 2: 3: 4:
| s := InputBox('SalesSystem - Eingabe', 'Bitte geben Sie die gewünschte ID ein:', ''); if not zquery1.Locate('ID', StrToInt(s), []) then showmessage('ID nicht gefunden'); |
die Prüfung per doppelklick funktioniert nicht zwangsläufig, besser ist es, in der DB-Tabelle (oder, falls Datenmenge nicht aus db, in der Erzeuge-Routine für die Datenmenge, mit der das Grid verbunden ist) den Feldnamen/Feldtyp zu prüfen und im Code dann entsprechend zu verwenden.
LonghornUser - Mo 12.04.10 21:11
Euer Hinweis war genau richtig. Die ID war ein Integer und ein String. Macht auch irgendwie Sinn ;)
Danke!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!