Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Masterbeziehung mit Virtual Table (https://www.delphipraxis.net/179390-masterbeziehung-mit-virtual-table.html)

simmi 4. Mär 2014 12:25

Masterbeziehung mit Virtual Table
 
Hallo,

ich erzeuge zur Laufzeit 2 virtual Table objekte (Devart). Funtioniert alles. Ich möchte nun, dass Tabelle1 als Master läuft. Zum Testen habe ich mir 2 DBGrid eingefügt. Tabellen werden dort auch angezeigt. Nur der folgende Quelltext funktioniert nicht. Wo liegt der Fehler?
Delphi-Quellcode:
Tabelle1.IndexFieldNames:='id_kunde';

Tabelle2.Active:=false;
Tabelle2.IndexFieldNames:='id_kunde';
Tabelle2.MasterSource:=DS_Tabelle1;
Tabelle2.MasterFields:='id_Kunde';
Tabelle2.Active:=true;

Perlsau 4. Mär 2014 16:25

AW: Masterbeziehung mit Virtual Table
 
Die Fehlermeldung "funktioniert nicht" ist bei mir noch nicht ein einziges Mal aufgetaucht.

Und weshalb schreibst du diese Anfrage in der Code-Library? Das gehört doch in die Abteilung Datenbanken!

EarlyBird 4. Mär 2014 16:59

AW: Masterbeziehung mit Virtual Table
 
Füge noch Detailfields hinzu:
Delphi-Quellcode:
Tabelle2.DetailFields:='id_Kunde';

Perlsau 4. Mär 2014 17:01

AW: Masterbeziehung mit Virtual Table
 
Wenn du die Fehlermeldung nicht verraten möchtest, ist das natürlich deine Sache.

simmi 5. Mär 2014 09:41

AW: Masterbeziehung mit Virtual Table
 
@Perlsau
1. Gibt es keine Fehlermeldung
2. Kann ich nicht 24 Stunden im Forum sein

@EarlyBird
Danke, werde ich ausprobieren.

p80286 5. Mär 2014 10:39

AW: Masterbeziehung mit Virtual Table
 
Zitat:

Zitat von simmi (Beitrag 1250533)
Hallo,

ich erzeuge zur Laufzeit 2 virtual Table objekte (Devart). Funtioniert alles. Ich möchte nun, dass Tabelle1 als Master läuft. Zum Testen habe ich mir 2 DBGrid eingefügt. Tabellen werden dort auch angezeigt. Nur der folgende Quelltext funktioniert nicht. Wo liegt der Fehler?
Delphi-Quellcode:
Tabelle1.IndexFieldNames:='id_kunde';

Tabelle2.Active:=false;
Tabelle2.IndexFieldNames:='id_kunde';
Tabelle2.MasterSource:=DS_Tabelle1;
Tabelle2.MasterFields:='id_Kunde';
Tabelle2.Active:=true;

"Funktioniert nicht" ist natürlich sehr detailiert und konkret. Wir wissen nicht was Du erreichen willst, darum fällt es recht schwer zu beurteilen was hier u.U. nicht korrekt ist.
Übrigens laufen Tabellen eher selten und als "Master" schon gar nicht.
Wahrscheinlich möchtest Du eine Master-Detail Beziehung herstellen, aber das ist nur vermutet.
Und wenn alla Annahmen richtig sind, Was funktioniert denn nicht??

Gruß
K-H

simmi 5. Mär 2014 12:35

AW: Masterbeziehung mit Virtual Table
 
Funktioniert nicht heißt: Die Tabelle2 die soll mit der Tabelle1 verknüpft werden. Dabei ist Datasource von Tabelle1 die Mastersource in der Verknüpfung zu Tabelle2.

Diese Beziehung der Tabellen funktioniert im Normalfall schon seit ewigen Zeiten und kann über den Assistenten eingestellt werden. Dann funktioniert es auch, dass Tabelle2 über den Index von Tabelle1 "gefiltert" wird. Werden die Einstellungen zur Laufzeit vorgenommen, dann funktioniert halt diese Verbindung nicht. Die zur Laufzeit vorgenommenen Einstellungen werden ignoriert.

simmi 5. Mär 2014 12:52

AW: Masterbeziehung mit Virtual Table
 
Erledigt, der Hinweis auf DetailFields brachte die Lösung. Funktioniert jetzt alles wie von mir gewünscht.

Perlsau 5. Mär 2014 13:54

AW: Masterbeziehung mit Virtual Table
 
Zitat:

Zitat von simmi (Beitrag 1250719)
Erledigt, der Hinweis auf DetailFields brachte die Lösung. Funktioniert jetzt alles wie von mir gewünscht.

... und kein Mensch weiß, worum's eigentlich genau ging ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz