Mehrere Datensätze auf einmal einer verknüpften Tabelle zuordnen?
Wie kann ich aus einer TABELLE 1 mehrere Datensätze auf einmal (zB Abrechnungen) einer verknüpften TABELLE 2 (Kundenquittung) zuweisen? Also N : 1 auf einmal für viele Ns ausführen.
9 Antworten
-
Hallo Reinhard,
Wenn du die Datensätze manuell auswählst (Häckchen links), dann geht es nur über Massendatenänderung (Zahnrad->Massendatenänderung). Dort wählst du das Feld Kundenquittung, dann "festen Wert zuweisen" und dann gibst du die ID des Datensatzes von der Tabelle Kundenquittung.
Ich kenne dein Datenmodell nicht, aber normalerweise sollten beide Tabellen eine Verknüpfung zu der Tabelle Kunden haben. Wenn es so ist und du periodisch für einen Kunden die Quitung über mehrere Abrechnungen erstellst, kann man das mit einem Button ("Kundenquittung erstellen")in der Tabelle Kunden tun:
---
let my:=this;
let new:=create Kundenquittung;
new.Kunde:=my;
new.Datum:=today();
Abrechnungen [not Kundenquittung].(Kundenquittung:=new)
---
Ninox erstellt einen neuen Datensatz in der Tabelle Kundenquittung und verknüpft diesen mit dem Kunden. Dann nimmt es alle Abrechnungen die mit dem Kunden verknüpft sind aber noch keiner Quittung zugeordnet sind und verknüpft diese mit dem neu erstellten Datensatz aus der Tabelle Kundenquittung.
Leo
-
Hi Leo,
perfekt, genau soetwas suche ich. Kann ich nun noch einen Zeitraum-Filter für die Abrechnungen mit zwei Datumsfeldern von - bis hinzufügen? Hatte soetwas mal in etwa so gebaut:
let myDateMin := Von;
let myDateMax := Bis;
let myClient := Client
for myBill in select Abrechnungen where 'Kundenkonto' = myClient and 'Buchungsdatum' >= myDateMin and 'Buchungsdatum' <= myDateMax do...
hatte es aber nicht zum Laufen bekommen.
Weiter soll es so sein, dass ab einem bestimmten Betrag (15,00 EUR) eine Auszahlung erfolgt und der ausgezahlte Betrag mit dem Betrag des Kundenkontos gegengerechnet wird. Wenn der Betrag nicht erreicht wurde, würde ich diesen gerne in den nächsten Zeitraum mitnehmen... Wie würdest Du das umsetzen?
Danke vorab für den hilfreichen Input! Reinhard
-
Hallo Reinhard,
da brauche ich das Datenmodel und die Namen der Felder. Wenn du die Zuweisung aus der Kundentabelle machst, dann verstehe ich den Satz: let myClient := Client nicht
Leo
-
Hi Leo,
ah sorry, hier war die Zuweisung tatsächlich aus der Quittung selbst. Ich komme hier nicht drauf von welcher Tabelle aus es am meisten Sinn ergibt, daher ist mein Datenmodell auch nicht ganz soo relevant...
Hier die Namen meiner Tabellen:
TABELLE 1: Kontakte
-> hier sind alle Kundendaten gespeichert, hier möchte ich gerne einen Kontostand aus TABELLE 2 mit führen.
TABELLE 2: 'Produkte Handel'
-> hier sind die Abrechnungen der pro Kontakt verkauften Produkte (verknüpft mit TABELLE 1 und TABELLE 3)
TABELLE 3: Quittungen
-> hier sollen eben die Quittungen im besten Fall automatisch aus TABELLE 1 erstellt werden
(verknüpft mit TABELLE 1 und TABELLE 2)
Besten Dank! Reinhard
-
Hallo Reinhard,
natürlich ist es relevant, aus welcher Tabelle die Zuweisung erfolgt. Was heißt hier automatisch? Automatisch beim Klicken auf Button, automatisch beim Erreichen 15 Euro, automatisch beim Datum?
Wenn du die 15€-Grenze einführen möchtest, dann ist es, meiner Meinung nach, nicht notwendig die Anfangs- und Enddatum abzufragen. Man kann einfach sagen,wenn alle noch offenen Rechnungen beim Kontakt größer als 15 Euro sind, dann diese in einer Quittung zusammenfassen.
anbei die Musterdatenbank:
https://www.dropbox.com/s/aymoc08i7g3006z/Reinhard.ninox?dl=0
Leo
-
Hi Leo,
danke für die Datenbank, das scheint super zu funktionieren. Das Filtern nach dem Datum ist aber tatsächlich noch ein sehr wichtiger Punkt: Die Abrechnungen für die Kontakte findet erst im April statt und darf sich lediglich auf das Vorjahr beziehen, da auch erst bis zum April das Geld vom Dezember aus dem Vorjahr bei uns eingeht. Es wird daher vertraglich immer pro Kalenderjahr abgerechnet und nur wenn 15 EUR erreicht sind.
Danke wenn Du hierfür noch eine Lösung findest,
Grüße,
Reinhard
-
Weiterhin kann es auch möglich sein, dass ab und an eine Zwischenquittung im Verlauf des Jahres erstellt werden muss, sofern die Geschäfte außergewöhnlich gut laufen, so dass dann bei der Jahresabrechnung wieder geprüft werden muss, welche Beträge schon quittiert wurden und welche nicht.
Danke, Reinhard
-
Hallo Reinhard,
anbei die Datenbank. Habe jetzt zwei Buttons (für Vorjahr- und fürs Zwischenquitierung)
https://www.dropbox.com/s/w5rrkhdz9x8y8xt/Reinhard%20%281%29.ninox?dl=0
Leo
-
Hallo Leo,
hab alles in mein Datenmodell eingepflegt und es funktioniert einwandfrei :) Wahnsinn wie simpel das sein kann.
Leider bin ich aber auf ein neues Problem gestoßen, das mir nicht bewusst war:
Die Quittungen sollen immer jährlich erstellt werden, egal ob die 15 EUR erreicht sind oder nicht. Als Nachweis für den Kunden sozusagen. Wenn die 15 EUR erreicht sind wird direkt ausbezahlt und alles ist gut. Wenn nicht brauche ich trotzdem die Quittung allerdings soll der Betrag, als ausstehender Betrag, ins nächste Jahr mitgenommen werden und solange jährlich addiert werden, bis irgendwann die 15 EUR erreicht sind. Die genauen Produkte müssen nur aus dem aktuellen Jahr mitgenommen / verknüpft werden.
Hier sitze ich nun schon seit ein paar Stunden mit Kopfschmerzen dran, hast Du dafür eine Lösung?
Mal wieder danke und entschuldige meine anfangs schlechte Erklärung,
Reinhard
Content aside
- vor 5 JahrenZuletzt aktiv
- 9Antworten
- 2750Ansichten