Datenquellen: Fremdbeziehungen in Formular darstellen
Author: mstaender
Publication Date: 1/30/2017 10:15
Hi,
ich stehe gerade auf dem berühmten Schlauch weil ich weiß, dass das was ich will sicherlich geht aber ich finde nicht den richtigen Weg :[
Szenario: ich habe ein Datenobjekt X das eine Reihe von Tests durchläuft und sehe daher die Tests in einer 1:n Beziehung (1 Datum (X) hat n Testergebnisse)
Ich habe dazu eine Tabelle A erstellt. Diese soll analog zu dem was ich damals in der DTB gelernt habe nun mehrere Testergebnisse über eine Tabelle B in eienr 1:n Fremdbeziehung referenzieren.
Intuitiv würde ich davon ausgehen, dass ich eine Eingabekomponente, etwa eine FS-LIST nehmen und sie via Mapping mit dem Feld der Fremdbeziehung verknüpfen kann.
Nun funktioniert das Beispiel aber ja vermutlich eher irgendwie analog zu der CMS_INPUT_COMBOBOX aus der DTB mit einer Datenbank-Selektion kann das sein?
Ich hatte die Referenz nur von Tabelle A -> Tabelle B gespeichert, Tabelle B weiß also nicht zu welchem Eintrag aus tabelle A ein Datensatz gehört. Bisher dachte ich, dass die Abfrage in etwa so funktioniert:
- "gib mir alle Einträge von Tabelle B die im Datensatz aus A referenziert sind"
aber langsam glaube ich das wird eher so etwas:
- " gib mir Alle Einträge aus B bei denen der Fremdbeziehungswert *whatever?!* ist"
Momentan tendiere ich zu einer FS-LIST mit DATABASE als Datentyp aber dann müsste ich einen Filter angeben, sehe ich das korrekt? Wie würde der aussehen? :smileysad: Brauche ich echt eine beidseitige Beziehung?
Ich glaube ich brauche einen Denkanschubser...
MfG Marcus
Tags: datenquelle, fs5.2, module_development
-
Author: StefanSchulz - 1/31/2017 8:17
Hallo Marcus,
mit einer FS_LIST Typ DATABASE oder vielleicht besser FS_INDEX mit DatasetDataAccessPlugin kann man das Mapping direkt mit der Fremdbeziehung verknüpfen. Es sind keine weiteren Definitionen a la Combobox nötig.
Mit einer FS_INDEX dürfte die Formulardefinition wie folgt aussehen (Tabellenvorlage heißt bei mir "db.b" für Tabelle B):
<FS_INDEX name="index">
<LANGINFOS>
<LANGINFO lang="*" label="Index"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="db.b"/>
</SOURCE>
</FS_INDEX>
Im Mapping-Register kann dann eine ?:n Beziehung direkt als Spalte für die Eingabekomponente ausgewählt werden.
Beste Grüße
Stefan
0
Please sign in to leave a comment.
Comments
1 comment