AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Current Record in einer Query ermitteln.
Thema durchsuchen
Ansicht
Themen-Optionen

Current Record in einer Query ermitteln.

Ein Thema von Natalia · begonnen am 13. Mai 2003 · letzter Beitrag vom 16. Mai 2003
Antwort Antwort
Natalia

Registriert seit: 13. Mai 2003
47 Beiträge
 
Delphi 7 Professional
 
#1

Current Record in einer Query ermitteln.

  Alt 13. Mai 2003, 10:39
Hi,

ich habe auf einem Formular ein DBGrid mit DataSourse QueryX
und mehrere DBEdit Felder mit DataSource TableY.

Qery und Table haben gleichen Wert in einer Spalte.
Wie kann ich auf den entsprechenden Record in der Tabelle springen, wenn ich im Grid(Query) die Zeilen markiere???

Natalia
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 13. Mai 2003, 21:35
Hallo Natalia,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Die DataSource Komponente, die mit QueryX verbunden ist, stellt das Ereignis OnDataChange zur Verfügung, das ausgelöst wird, z.B. wenn sich der aktuelle Datensatz der zugehörigen Datenmenge ändert. Hier kannst du dann Code einfügen, der z.B. mit Locate den entsprechenden Datensatz aus der Tabelle auswählt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Natalia

Registriert seit: 13. Mai 2003
47 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 14. Mai 2003, 07:46
Hi,MrSpock

Danke für den Tipp!
("Locate" war eine gute Idee)
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 15. Mai 2003, 20:50
Hallo Natalia,

freut mich, dass es funktioniert. Neben locate solltest du dir auch einmal "Schlüssel" Felder (primary keys, foreign keys) und dazu die FindKey Methode. Wenn "ID" z.B. ein Schlüsselfeld ist (das auch ausgewählt sein muss), dann wählst du den Satz mit der ID 5 wie folgt aus:

Delphi-Quellcode:
if myTable.FindKey([5]) then
  { Satz gefunden und ausgewählt }
else
  { gibbet nich :-)) };
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Natalia

Registriert seit: 13. Mai 2003
47 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 16. Mai 2003, 10:40
Hi,

Jetzt habe ich ein weiteres Problem

ich habe Query Artikel und Query Aufträge und suche für den bestimmten
Artikel offene Aufträge:

Code:
Delphi-Quellcode:
      artNr : integer;
      
      artN:=qrArtikelArtikelnummer.AsInteger;
      if not (qrAuftrag.Locate('artikelnummer',artNr, [])) then
      begin
        ShowMessage('Keine offene Aufträge');
        Exit;
      end;
SQL Query Auftrag:
Delphi-Quellcode:
      Select .....
      From Auftrag1 a, Auftrag2 b
      Where a.Artikelnummer=:artNr
Es wirt nichts gefunden
Was mache ich falsch?

[edit=mrSpock]Code Tags hinzugefügt.[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6
  Alt 16. Mai 2003, 11:32
Hallo Natalia,

in deiner Query benutzt du den Ausdruck :artNr, dadurch wird artNr ein Parameter deiner Query. Du kannst ihn dir sogar in der Params Eigenschaft anschauen. Um deine Variable artNr jetzt diesem Parameter zuzuweisen, musst du folgendes schreiben:

qrAuftrag.ParamByName('artNr').AsInteger := artNr; natürlich mit dem korrekten Querynamen...

Zuerst die Query schließen, dann die obigen Zuweisung an den Parameter. Anschließend kannst du die Query mit Open ausführen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Natalia

Registriert seit: 13. Mai 2003
47 Beiträge
 
Delphi 7 Professional
 
#7
  Alt 16. Mai 2003, 14:03
Danke, MrSpock!

Es funktioniert!

Natalia
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:58 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