Hallo
Gegeben<br>
- Delphi 6<br>
- MSSQL-Server 2000<br>
- Zugriff auf den SQL-Server erfolgt mittels ADO<br>
Eine DB-Tabelle beinhaltet einen Self-Join. Eingerichtet als Nachschlagefeld in Delphi verwende ich hierzu zwei ADODataset-Komponenten, eine die alle Attribute führt (und z.B. mit deinem DBGrid verbunden ist) und die zweite, die lediglich als LookupDataset für den Self-Join dient. Verbinde ich eine DBLookupComboBox mit dem Nachschlagefeld, funktioniert alles sehr gut, bis auf eine Kleinigkeit. Nehme ich neue Datensätze auf, so erscheinen diese nicht(!) automatisch in der Nachschlagemenge. Erst ein nochmaliges Öffnen der Lookup-Datenmenge befördert sie ans Tageslicht. Ich habe es auch einmal mit ADOTable versucht, gleicher Effekt.
Bei BDE-basierten Anwendungen kenne ich diese Problematik nicht. Arbeitet man hier miz zwei TTable-Komponenten, so erscheint in der Nachschlagemenge auch sofort die neu-aufgenommenen Datensätze. Ein Art ReOpen (Close und Open) ist nicht nötig.
Stephan
Gegeben<br>
- Delphi 6<br>
- MSSQL-Server 2000<br>
- Zugriff auf den SQL-Server erfolgt mittels ADO<br>
Eine DB-Tabelle beinhaltet einen Self-Join. Eingerichtet als Nachschlagefeld in Delphi verwende ich hierzu zwei ADODataset-Komponenten, eine die alle Attribute führt (und z.B. mit deinem DBGrid verbunden ist) und die zweite, die lediglich als LookupDataset für den Self-Join dient. Verbinde ich eine DBLookupComboBox mit dem Nachschlagefeld, funktioniert alles sehr gut, bis auf eine Kleinigkeit. Nehme ich neue Datensätze auf, so erscheinen diese nicht(!) automatisch in der Nachschlagemenge. Erst ein nochmaliges Öffnen der Lookup-Datenmenge befördert sie ans Tageslicht. Ich habe es auch einmal mit ADOTable versucht, gleicher Effekt.
Bei BDE-basierten Anwendungen kenne ich diese Problematik nicht. Arbeitet man hier miz zwei TTable-Komponenten, so erscheint in der Nachschlagemenge auch sofort die neu-aufgenommenen Datensätze. Ein Art ReOpen (Close und Open) ist nicht nötig.
Stephan
Comment