Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie kann ich tabellenübergreifende Daten einlesen? (https://www.delphipraxis.net/116878-wie-kann-ich-tabellenuebergreifende-daten-einlesen.html)

emsländer 8. Jul 2008 09:36

Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO

Wie kann ich tabellenübergreifende Daten einlesen?
 
Moin,

die query:

Delphi-Quellcode:
'select * from Akten left join Antragsteller1 on Akten.Aktennr = Antragsteller1.zu_Akte where Aktennr ='+ inttostr(aktennr);
 

      _query.sql.Text := _stmp;
      _query.open;
      if eof then begin
         showmessage('Keine Daten vorhanden'+#10#13+'Sollte eigentlich hier nicht vorkommen!');
      end else begin
        with frmmain do begin
          edt_aktennr.value := aktennr;
          edt_antragsteller_titel.text   := FieldByName('Antragsteller1.Titel').asstring;  => hier haperts
Wie kann ich die Daten von Tabelle Antragsteller1 UND Akten übernehmen?

Gruss

EL

hoika 8. Jul 2008 10:18

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Hallo,

hast du dir das Ergebnis deines Selects mal angesehen ?

Wahrscheinlich gibt es "Titel" in beiden Tabellen


Select Akten.*, Antragsteller1.Titel as AST_Titel from Akten left join Antragsteller1


Zugriff dann über FieldByName('AST_Titel').AsString



Heiko

emsländer 8. Jul 2008 10:19

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Zitat:

Zitat von hoika
Hallo,

hast du dir das Ergebnis deines Selects mal angesehen ?

Wahrscheinlich gibt es "Titel" in beiden Tabellen


Select Akten.*, Antragsteller1.Titel as AST_Titel from Akten left join Antragsteller1


Zugriff dann über FieldByName('AST_Titel').AsString



Heiko

Hoi,

ne - Titel gibt es nur einmal

Gruss

EL

hoika 8. Jul 2008 10:44

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Hallo,

dann halt nur FieldByName('Titel').AsString


Heiko

emsländer 8. Jul 2008 10:54

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Zitat:

Zitat von hoika
Hallo,

dann halt nur FieldByName('Titel').AsString


Heiko

uaaaaaaaaaa :wall: :wall: :wall:

japp .. das wars. So einfach ... und ich denk da wer weiß, was man da machen muss....



Danke!


Gruss

EL

emsländer 8. Jul 2008 15:27

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Moin,

ich hab jetzt noch ein weiteres Problem bekommen, nachdem ich das ganze ein wenig erweitern wollte:

Die Query frisst er:
Delphi-Quellcode:
  _stmp := 'Select * from Akten Ak inner join Antragsteller1 A1 on A1.zu_Akte=Ak.Aktennr '
          +' where Ak.Aktennr ='+ inttostr(aktennr);
dann aber bei:
Delphi-Quellcode:
          edt_antragsteller_titel.text   := FieldByName('A1.Titel').asstring;
          edt_antragsteller_vorname.text := FieldByName('A1.Vorname').asstring;
          edt_antragsteller_nachname.text := FieldByName('A1.Nachname').asstring;
          edt_antragsteller_geburtsdatum.text := FieldByName('A1.Geburtsdatum').asstring;
kennt er A1.Titel etc. nicht. (Das Feld A1.Titel wurde nicht gefunden) :?:


Gruss

EL

marabu 8. Jul 2008 15:41

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Hallo,

in der Ergebnismenge gibt es keine qualifizierten (zweistufigen) Namen.

Freundliche Grüße

emsländer 8. Jul 2008 15:55

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Zitat:

Zitat von marabu
Hallo,

in der Ergebnismenge gibt es keine qualifizierten (zweistufigen) Namen.

Freundliche Grüße

Wie meinst Du das?

Unter dieser Nummer (23) ist ein Datensatz in jeder Table zu finden.

Gruss

EL

DeddyH 8. Jul 2008 15:59

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Zitat:

Delphi-Quellcode:
FieldByName('A1.Titel').asstring;

->
Delphi-Quellcode:
FieldByName('Titel').asstring;

emsländer 8. Jul 2008 16:02

Re: Wie kann ich tabellenübergreifende Daten einlesen?
 
Zitat:

Zitat von DeddyH
Zitat:

Delphi-Quellcode:
FieldByName('A1.Titel').asstring;

->
Delphi-Quellcode:
FieldByName('Titel').asstring;

geht dann schief, wenn ich den query-string erweitere, da Antragsteller1 und Antragsteller2 identische Tables sind:
Delphi-Quellcode:
  _stmp := 'Select * from Akten Ak inner join Antragsteller1 A1 on A1.zu_Akte=Ak.Aktennr '
          +' inner join Antragsteller2 A2 on A2.zu_Akte=Ak.Aktennr where Ak.Aktennr ='+ inttostr(aktennr);
Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.
Seite 1 von 3  1 23      

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