Verknüpfung zweier Tabellen
Guten Abend,
habe da noch mal einer Frage zur Verknüpfung von Tabellen.
Ich habe eine Tabelle "Abrechnung" die in einer Verknüpfung mit Tabelle "Rechnungen" mir alle darin enthaltenen Rechnungen durch einen Filter "Abrechnungsjahr" automatisch zuordnet.
Ist das so möglich? Oder muss ich für alle einzenen Datensätze aus der "Abrechung" die "Rechnungen" immer alle einzeln zuordnen?
Wäre prima wenn so was auomatsich gehen würde.
Stehe da aber mit der Umsetzung auf dem Schlauch.
Schönen Abend
Dietmar
3 Antworten
-
Hallo Dietmar,
wenn du im ZahlenFeld Abrechnungsjahr diese Formel schreibst:
---
let me:=this;
select Rechnungen where year(Rechnungdatum)=me.Abrechnungsjahr.(Abrechnung:=me)
---
sollte es klappen. Natürlich musst du die Feldnamen anpassen
Leo
-
Hallo Leo,
ich habe da noch das Verständnisproblem, wo gebe ich denn die Formel in dem Zahlenfeld ein?
"Nach Änderungen folgendes Script ausführen"?
-
Hallo Dietmar,
sind die beiden Tabellen verknüpft? Wenn Ja, sollte es in der Tabelle Abrechnung ein Verknüpfungstabelle "Rechningen" und in der Tabelle "Rechnungen" ein Verknüpfungsfeld " Abrechnung stehen. Dann ist meine Formel tatsächlich bei "Nach Änderungen folgendes Script ausführen" im Zahlefeld "Abrechnungsjahr" in der Tabelle Abrechnung zu schreiben.
Wenn die beiden Tabellen nicht verknüpft sind und die die Tabelle Abrechnung als so eine Art Dashboard nutzt und Abrechnungsjahr als Filter nutzen möchtest, kannst du dann einen Layoutelement "Ansicht" hinzufügen mit diesr Formel:---
let me:=this;
select Rechnungen where year(Rechnungdatum)=me.Abrechnungsjahr
---
Wenn aber das Feld "Abrechnungsjahr" nicht ein Zahlenfeld sondern ein Auswhlfeld ist, sollte die Formel anders aussehen:
---
let me:=this;
select Rechnungen where year(Rechnungdatum)=me.number(text(Abrechnungsjahr))
---
Und noch etwas aus der Praxis. Wenn die Tabellen verknüpft sind, kann man in der Tabelle "Rechnungen" in das Feld "Rechnungsdatum" -> "Nach Änderungen folgendes Script ausführen"->:
---
let me:=this;
if Rechnungsdatum then
if cnt(select Abrechnung where Abrechnungsjahr=year(me.Rechnungsdatum)=0 then
create Abrechnung.(Abrechnungsjahr=year(me.Rechnungsdatum))
end;
me.Abrechnung:=first(select Abrechnung where Abrechnungsjahr=year(me.Rechnungsdatum))
else
me.Abrechnung:=0
end
---Diese Formel überprüft ob ein Datensatz mit dem Abrechnungsjahr bereits existiert und falls nein, erstellt einen in der Tabelle Abrechnung. Dann wir auch die Verknüpfung mit dem entsprechnen Datensatz erstellt.
Leo
Content aside
- vor 4 JahrenZuletzt aktiv
- 3Antworten
- 636Ansichten