Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle (https://www.delphipraxis.net/167683-masterfields-unterschiedliche-feldnamen-master-und-detail-tabelle.html)

RSE 12. Apr 2012 15:58

Datenbank: Interbase • Version: 6.1 • Zugriff über: IBOTable

MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Hallo,

ich habe gerade die Property MasterFields von TTable/TIBOTable entdeckt und habe sie erfolgreich im Einsatz. Das funktioniert super, wenn das verknüpfende Feld in Master- und Detail-Tabelle genauso heißt. Was muss aber in MasterFields eingetragen werden, wenn das Feld im Master TICKET_ID und im Detail VORGANG_ID heißt? Beide Tabellen bestehen bereits und ich möchte/kann nichts umbenennen, da das Änderungen an hunderten von Stellen nach sich ziehen würde. Leider gibt es dazu auch keine ausführlichen Beispiele, aus denen sich meine Frage beantworten lassen würde (oder der Wald ist mir zu dicht).


MfG
RSE

Bummi 12. Apr 2012 16:08

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
ich kenne TIBOTable nicht

bei anderen Datasets
MasterFields: TICKET_ID
IndexFieldnames: VORGANG_ID

datail.datasource=Master_src

Wenn Du statt Tabellen für Detail ein Dataset verwenden kannst
könntest Du den Commandtext/Sql folgendermaßen gestalten um den Datentransfer zu minimieren

select * from Detail
where VORGANG_ID=:TICKET_ID

in diesem Fall kannst IndexFieldnames leer lassen wenn dieses Ärger machen sollte, im AfterInsert müsstest Du dann allerdings Vorgang_ID manuell mit Ticked_ID versorgen.

RSE 12. Apr 2012 16:24

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Also klappen tut das schon mal mit den IndexFieldnames. Was ich dabei nicht verstehe: Wie funktioniert es? Was hat das mit IndexFieldnames zu tun? Laut Hilfe zu TTable hat das was mit Indizes zu tun, sind dabei nicht indizierte Felder in der Datenbank gemeint? Wieso findet sich in der Hilfe kein Hinweis auf diesen Zusammenhang?

Unabhängig von diesen Fragen: Die Fragestellung des Threads ist damit erst einmal beantwortet. Ich danke dafür.

p.s.: Ich benutze noch Delphi 5!

Bummi 12. Apr 2012 16:29

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Wenn Du den Button auf Masterfields drückst kannst Du im Feldverbindungsdesigner die verknüpften Felder zuordnen, der eine Teil landet in Masterfields der andere in Indexfieldnames, bei einem einfügen in Details werden die verknüpften Felder automatisch mit den Masterfieldwerten versorgt.

RSE 12. Apr 2012 16:57

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Das scheint das Verhalten von TTable zu sein, von dem Designer habe ich schon gelesen. Bei TIBOTable hängt nur der String-Editor dahinter. Wenn das die einzige Dokumentation ist, die es dazu gibt, finde ich das schwach von ... das muss noch Borland gewesen sein, die das so implementiert haben.

Uwe Raabe 12. Apr 2012 17:17

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Zitat:

Zitat von RSE (Beitrag 1161592)
Bei TIBOTable hängt nur der String-Editor dahinter. Wenn das die einzige Dokumentation ist, die es dazu gibt, finde ich das schwach von ... das muss noch Borland gewesen sein, die das so implementiert haben.

Soweit ich weiß, ist TIBOTable gar nicht von Borland und von Haus aus auch nicht in Delphi enthalten. Der TIBTable (ohne O) ist allerdings enthalten und hat auch den MasterFields-Designer. So gesehen musst du dich wohl eher bei dem Erzeuger von TIBOTable beschweren.

RSE 12. Apr 2012 17:57

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Das Verhalten von TIBOTable ist dem von TTable nachempfunden. Ich meinte die an dieser Stelle unzureichende/nicht vorhandene Dokumentation des Zusammenspiels von MasterFields und IndexFields bei TTable. TIBOTable liefert durchaus Dokumentation, wo es sich vom Verhalten von TTable unterscheidet bzw. zusätzliche Optionen bietet. Dass gleiches nicht nochmals erklärt wird, ist klar.

Hübsch wäre ein Tutorial, welches nicht nur an der Oberfläche kratzt, sondern gerade solche sicherlich nicht allgemein bekannten Spezialfälle bei der Benutzung der Standardkomponenten beleuchtet. Ähnliche Fragen habe ich durchaus gefunden, aber keine grundlegenden Antworten zur Benutzung dieser beiden Properties im Zusammenspiel und auch kein entsprechendes Tutorial. Durch das Vorhandensein des Designers ist es allerdings auch einleuchtend, warum das so ist. Warum IBO den ausgebaut hat, bleibt offen, vielleicht ein Versehen.

Ich will auch nicht weiter feststellen, was alles nicht gut ist in dieser Welt. Mein Problem ist gelöst, ich bin zufrieden und danke allen Beitragenden!

shmia 12. Apr 2012 18:45

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Zitat:

Zitat von RSE (Beitrag 1161611)
Hübsch wäre ein Tutorial, welches nicht nur an der Oberfläche kratzt...

Auf der Delphi 5 CD-Rom ist im Verzeichnis \Documentation der mit 1020 Seiten sehr umfangreicher Developer's Guide (nur auf Englisch).

Uwe Raabe 12. Apr 2012 21:48

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Zitat:

Zitat von RSE (Beitrag 1161611)
Hübsch wäre ein Tutorial, welches nicht nur an der Oberfläche kratzt, sondern gerade solche sicherlich nicht allgemein bekannten Spezialfälle bei der Benutzung der Standardkomponenten beleuchtet.

Sowas?

http://docwiki.embarcadero.com/RADSt...enge_verwenden

RSE 13. Apr 2012 09:10

AW: MasterFields: unterschiedliche Feldnamen in Master- und Detail-Tabelle
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1161633)

Das hat Google nicht gefunden... ich sollte mir doch angewöhnen mal in dieses Wiki mit reinzuschauen, obwohl an vielen Stellen noch der gleiche Text wie in der Delphi 5 Hilfe drinsteht. Danke für den Link!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.

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