Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#10

Re: ADO - Tabellenname herausfinden anhand eines DBEdits

  Alt 16. Jan 2004, 05:55
Hey Matt: ich wollte Dich nicht bezüglich der Gestaltung (im Sinne von Darstellung) deiner Query's schulmeistern: was ich meinte ist die Zeile:
,'TabellenNameas AusTabelle -- auf diese Zeile kommet es an! der Teil nach den 2 Minuszeichen ist nur ein Kommentar und kann weggelassen werden.
Also angenommen, Du hättest 2 Tabellen mit folenden Feldern:
Code:
Tabelle: Kunden
Felder: Vorname,
         Name,
         Geburtstag

Tabelle: Artikel
Felder: Nummer,
         Bezeichnung,
         Preis
dann würdest Du folgende 2 Querys dafür bauen:
SQL-Code:
select Vorname
       ,Name
       ,Geburtstag
       ,'KundenAS AusTabelle
  from Kunden
und:
SQL-Code:
select Nummer
       ,Bezeichnung
       ,Preis
       ,'ArtikelAS AusTabelle
  from Artikel
Nun kannst Du in Delphi den Namen der Tabelle erfahren, indem Du nach dem Feld "AusTabelle" fragst. Dieses Feld ist statisch (in allen Datensätzen gleicher Wert) und hat bei der ersten Query den Inhalt: "Kunden", bei der 2. : "Artikel".
Also kannst Du im OnKlick-Ereignis eines DB-Edits den Wert aus dem dazugehörigen DataSet ermitteln:
Delphi-Quellcode:
procedure TForm1.DBEdit1Click(Sender: TObject);
var MeineTabelle : String;
begin
  // Onlinhilfe lesen: TDataSet.FindField
  // und: Assigned()
  if Assigned(TDBEdit(Sender).DataSource.DataSet.FindField('AusTabelle'))
    then MeineTabelle := TDBEdit(Sender).DataSource.DataSet.FieldByName('AusTabelle').AsString;
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat