Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeiger aus SQL-Abfrage setzen (https://www.delphipraxis.net/28510-zeiger-aus-sql-abfrage-setzen.html)

buyden 25. Aug 2004 17:01


Zeiger aus SQL-Abfrage setzen
 
Hallo erstmal.

Ich habe eine Paradox7-Tabelle aus der ich über eine SQL-Abfrage aus einem Query einen bestimmten Datensatz auswählen möchte. Der Datensatz wird in einer DB-Lookup-Listbox ausgegeben. Wenn ich jetzt in der Listbox den Datensatz markiere sollte der Datenbankzeiger auf diesen Datensatz springen, tut er aber nicht. Wenn ich die Listbox direkt mit der Tabelle verbinde funktioniert das. Wie stell ich das an, dass das auch aus der Abfrage heraus funzt?? :gruebel:

buyden 26. Aug 2004 21:07

Re: Zeiger aus SQL-Abfrage setzen
 
Ich glaub, ich hab mich etwas zu umständlich ausgedrückt also versuch ich's nochmal:
Ich möchte eigentlich nur wissen, wie ich es anstelle, dass der Pointer meiner Datenbank auf den markierten Datensatz in einer dblookuplistbox, die von einem query befüllt wird, springt. :roll:
:coder2:

Ich hoffe, das war verständlicher :spin2:

MarkusB 27. Aug 2004 10:58

Re: Zeiger aus SQL-Abfrage setzen
 
Moin buyden!

Versuch mit Table.Locate-Methode.

Viele Grüße
Markus

:gruebel:

buyden 29. Aug 2004 10:10

Re: Zeiger aus SQL-Abfrage setzen
 
Dankeschön erstmal für die Antwort aber gibt's da nicht einfach nen Schalter beim Query der dann den Pointer automatisch setzt? :gruebel:

buyden 2. Sep 2004 15:45

Re: Zeiger aus SQL-Abfrage setzen
 
Vielleicht sollte ich mal erklären, was ich vorhabe: Also ich habe eine Tabelle mit Reparaturaufträgen, und möchte dann einen bestimmten Auftrag heraussuchen lassen. Sobald ich also irgendwas in mein Edit-Feld eintrage sollte die Tabelle mit jedem eingegebenen Zeichen nach Übereinstimmungen durchsucht werden und die Ergebnisse in einer Liste dargestellt werden. Wenn ich jetzt aber noch nicht die komplette Reparaturnummer eingetragen habe sollte normalerweise in der Liste eine Auswahl, in Frage kommender Nummern stehen. Ich möchte jetzt auf einen Eintrag der Liste klicken können um alle Informationen zu dieser Reparaturnummer zu bekommen also den Zeiger auf diesen Datensatz setzen.

Für Hinweise, das zu realisieren wäre ich jederzeit dankbar. :gruebel:

aschne1 2. Sep 2004 23:06

Re: Zeiger aus SQL-Abfrage setzen
 
Hi buyden

Also ich denke, das sind zwei Probleme die gelöst werden sollen:

1. Beim Editfeld musst Du das OnChangeEreignis verwenden um bei Änderungen die Query neu abzufragen. Dies kann per Parameter erfolgen, oder Du schreibst die Abfrage per Code neu. Damit nicht nach jedem Tastenanschlag eine Abfrage durchgeführt wird, würde ich einen zusätzlichen Timer verwenden.

2. Die Abfrage aus Punkt 1 stellst Du nun in einem DBGrid dar. Durch ein Mausclick wir nun der Datensatzzeiger positioniert. Mit dem OnClick-Ereignis kann dann der Datensatz editiert werden, bzw eine Maske zum Editieren bereitgestellt werden.
Zu beachten ist noch, dass nicht jede SQL-Abfrage editiert werden kann (Beziehungen). In diesem Falle kannst Du, wie von Markus bereits erwähnt, mit der Locate Anweisung auf eine weitere Abfrage oder Tabelle zugreifen und die Daten in dieser editieren.

Ich hoffe das hilft Dir weiter.

Greetz

Armin

Sharky 3. Sep 2004 07:34

Re: Zeiger aus SQL-Abfrage setzen
 
Hai buyden,

zwei Fragen:
a) Sind die Reperaturnummern als String oder als Zahl in der Tabelle gespeichert?
b) Hast Du ein DBGrid in dem alle Datensätze angezeigt werden?

buyden 3. Sep 2004 15:53

Re: Zeiger aus SQL-Abfrage setzen
 
@aschne1

Punkt 1 ist mir soweit schon ganz klar.

Punkt 2: Zur Zeit verwende ich eine dblookuplistbox um die Datensätze aus dem Query darzustellen, da wird der Datensatzzeiger allerdings nicht gesetzt. Mit nem dbgrid soll das wohl funktionieren wenn ich dich richtig verstanden hab? Ich werd das mal testen. Dankeschön erstmal :lol:


@sharky

Meine Reparaturnummern sind Strings weil in etwa SR604574 oder so ähnlich und ja ich habe ein dbgrid mit allen Datensätzen. :?

buyden 6. Sep 2004 15:33

Re: Zeiger aus SQL-Abfrage setzen
 
Also mit dem dbgrid klappt das auch nicht aber jedenfalls hab ich jetzt schonmal die Abfrage in das OnChange-Ereignis eingebaut. :roteyes:

aschne1 6. Sep 2004 21:31

Re: Zeiger aus SQL-Abfrage setzen
 
Hi buyden

Also was genau klappt nicht? Wenn Du mit dem OnChange Ereignis die Datenmenge filterst, dann müsste die Anzeige im DBGrid erneuert werden und der erste Datensatz im Grid ist markiert, oder?
Willst Du nun die Daten im DBGrid editieren (nach anclicken) oder hast Du ein extra Form dafür?
Falls Du die Daten im Grid editieren willst, müsste die Option dgEditing = True sein.
Bitte gib mir kurz Bescheid, damit ich Dir weiterhelfen kann.

Greetz

Armin


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.
Seite 1 von 2  1 2      

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