Einzelnen Beitrag anzeigen

Benutzerbild von MPirnstill
MPirnstill

Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
 
Delphi XE8 Enterprise
 
#12

Re: Wie definiere ich ein Lookup-Feld für eine TQuery?

  Alt 10. Jan 2006, 09:13
Zitat von marabu:
Ich habe den thread erst jetzt genau durchgelesen. Andreas hat klar erkannt, wenn du die Query dynamisch erstellst, dann müssen alle Felder per Code persistent gemacht werden. Ohne eine Routine wie CreateAllFields() kannst du gar nicht anfangen zu testen.

marabu
Hallo Marabu,

du hast jetzt in deinem Beispiel diese 'CreateAllFields()' auch nicht verwendet.

Ich habe jetzt jedenfalls mal versucht dein Beispiel in mein Programm einzubauen. Wenn ich dann den 'Open' für meine Query ausführe, bekomme ich die Fehlermeldung
Zitat:
Feld 'ID_Mitglied' nicht gefunden.
So heißt mein 'KeyField' in 'FQry'. Und da ich mit '*' selektiere müßte es eigentlich da sein.

Ist dies jetzt z.B. so ein Fall, daß die anderen Felder nicht mit 'CreateAllFields' erzeugt wurden?

Ich habe beim Testen vorm 'Open' nachgesehen, in der FieldDefs-Liste sind alle 16 Spalten meiner Tabelle, aber in der Fields-Liste steht nur das Lookup-Feld. Wenn ich das jetzt richtig interpretiere, muß ich vorm erzeugen des Lookup-Feldes noch
Zitat:
- vor dem Aufruf vom FieldDefs.Update muss noch FieldDefs.Updated auf false gesetzt werden -
Die Eigenschaft 'FieldDefs.Updated' kennt Delphi unter 2.0 anscheined noch nicht, hab mal einfach
Delphi-Quellcode:
FQry.FieldDefs.Clear;
FQry.FieldDefs.Update;
probiert, aber der Erfolg bzw. Mißerfolg bleibt derselbe. Mein KeyField 'ID_Mitglied' kennt Delphi nicht.

Gruß
Micha
Ich habe fertig!

DP - hier werden Sie geholfen!
  Mit Zitat antworten Zitat