Zitat von
baumina:
laut deiner Tabellendefinition gibt's das Feld Ansprechpartnernummer nicht in der Tabelle Anlagen.
Doch, ich habe nur nicht alle Felder aufgeführt. Es gibt noch viel mehr Felder. Das von Dir angesprochene war aber in diesem Fall nicht wichtig.
Zitat von
Dejan Vu:
Zum testen, wie der Feldname wirklich heißt, füge testweise ein 'Anlagen.*' an die Feldliste an.
Hatte ich bereits und ich hab mir die Feldnamen mit
ShowMessage(DataModule1.qrySystemData.FieldList.Text);
anzeigen lassen. Das Feld heißt auch Anlagennummer, darauf zugreifen konnte ich trotzdem nicht. Ich habe das Problem aber gelöst. Es scheint folgendes zu sein.
Feldnamen wie z.B. "Bezeichnung", welche in der Abfrage in mehreren Tabellen vorkommen, werden im Ergebnis der Feldnamen mit dem Tabellennamen davor dargestellt. z.B. ANLAGENTYP.Bezeichnung
Also kann der Zugriff wie folgt erfolgen...
Zentrale := DataModule1.qrySystemData.FieldByName('ANLAGENTYP.Bezeichnung').AsString;
Feldnamen wie der aktuelle Fehlergrund "Anlagennummer", welche in keiner weiteren Tabelle der Abfrage auftaucht, werden im Ergebnis der Feldnamen nur mit dem Feldname dargestellt -> "Anlagennummer"
Also kann der Zugriff nicht so...
AnlagenNr := DataModule1.qrySystemData.FieldByName('ANLAGEN.Anlagennummer').AsInteger;
erfolgen, sondern ...
AnlagenNr := DataModule1.qrySystemData.FieldByName('Anlagennummer').AsInteger;
Entgegen meiner Definition in der
SQL-Abfrage, wird der vorgestellte Tabellennamen nur wenn erforderlich verwendet.
Danke trotzdem nochmal und Gruß Jens