Hallo liebe Helfer,
Ich habe eine Rechnungstabelle mit einer *:1-Relation in die Kundentabelle. Realisiert ist das, wie in der Doku vorgeschlagen, mit Feldern namens “Rechnungen.Kunden.”.
im Variables/Fields Fenster sieht man im Designer unter “Rechnungen” einen Ordner namens “Kunden” und da befinden sich die Felder.
Nun würde ich noch gerne die Info unterkriegen, dass es sich um eine *:1-Relation handelt. Die Doku sagt, die Felddefinition müsste dann so durchgeführt werden: “Rechnungen:Kunden.”.
Das funktioniert aber bei mir nicht. Es taucht dann ein neuer Fields-Ordner namens “Rechnungen:Kunden” in besagtem Fenster auf.
Was mache ich falsch?
Danke und viele Grüße
Michael
Hallo Michael,
ich weiß nicht auf welche Doku du dich beziehst. Generell arbeitet ein DP mit dem LL Tabellenmodell, bestehend aus Tabellen und Relationen. Damit der Kunde als N:1 Relation bei der Rechnung erscheint, macht man / ein DataProvider eigentlich folgendes:
-
Tabellen Rechnung, Kunde registrieren
-
Relation “KundeRechnung” registieren : Table1, Table2, ParentField(s), ChildField(s) → “Kunde”, “Rechnung”, “Id”, “KundeId” je nach dem, wie die Felder in deiner Datenstruktur definiert sind und wie der entsprechende Data Provider arbeitet. List&Label greift dann eigentlich nur auf Listen vom “Tables” und “Relations” zu, die eine DataProvider liefert.
Vermutlich versuchst du gerade einen eigenen Data Provider zu schreiben. Das ist keineswegs trivial.
Schaue doch erstmal nach, ob es für deinen Anwendungsfall nicht den passenden bereits gibt. Wenn du nicht mit einer besonders exotischen Technologie arbeitest, sollte deiner eigentlich dabei sein und du bist fertig.
(siehe combit.ListLabel30.chm → combit.Reporting.DataProviders Namespace)
Viele Grüße,
Thomas
Hi Michael, der Thomas hat es ja schon Top erklärt, falls du mit seiner Info nicht weiter kommst, oder es einen passenden DP für dich gibt, dann spendier mal mehr Infos und dann wird dir sicher geholfen hau rein und schönes WE
Hallo Thomas und Erdal,
habt Dank für Eure Posts, aber ich bin noch keinen Schritt weiter. Ich weiß aus Erfahrung, dass die Erstellung eines ILLDataProvider nicht trivial ist. Meine (Xbase+±dbf-Tabellen und Indizes, Xbase+±Arrays) funktionieren auch schon wunderbar und jetzt geht es darum, die Ecken und Kanten rund zu kriegen.
Ich setze nochmal an.
Beispiel Relation Kunden-Rechnungen 1:n.
Es ist für meinen Rechnungs-Report irrelevant, dass ich von einem Kunden ausgehend alle seinen Rechnungen ablaufen könnte. Also sehe ich (noch) keinen Grund, diese Relation dem L&L bekanntzugeben. Bringt ja nix, weil ihr ja in der Doku schreibt, dass ich mich um :1-Beziehungen selber kümmern muss. Das tue ich ja auch und LlDefineField()e in der Rechnungen-Tabelle die Kunden-Felder mit dem Prefix “Rechnungen.Kunden.”.
Jetzt wär’s halt schön, wenn man auch sähe, dass “Kunden” eine über Relation angebundene Datenbank ist und nicht nur eine Feldstrukturierung innerhalb von Rechnungen.
Viele Grüße
Michael