zwei neue Datensätze zusammen verknüpfen
Guten Tag zusammen
ich habe drei Tabellen: A und B sind verknüpft, C ist mit keiner verknüpft.
Zur Erklärung: A und B sind 'Anfrage Anmeldung' und BewohnerIn in einem Altenheim: C ist das Archiv, falls aus der Anmeldung nichts wird.
Das Archiv habe ich absichtlich nicht verknüpft, da ich in den anderen Tabellen nur die aktiven BW drin haben will. (Wenn diese nicht eintreten oder austreten, werden sie automatisch ins Archiv gepackt und gelöscht.
Jedenfalls möchte ich Datensätze aus dem Archiv bei Bedarf "reaktivieren" können.
Also erzeuge ich aus der Tabelle C mit einem Button neue Datensätze in A und B und schreibe Daten aus C rein. Das klappt.
Woran ich bisher gescheitert bin, ist, die zwei neuen Datensätze in A und B miteinander zu verknüpfen.
Hier mein Code:
let my := this;
let myDat := 'Datum Anfrage';
let myAnrede := Anrede;
let myNameKontakt := 'Name Kontaktperson';
let myVornKontakt := 'Vorname Kontaktperson';
let myBez := 'Beziehung zu BewohnerIn';
let myInst := Institution;
let myOrtKont := 'Ort Kontaktperson';
let myVerwand := Verwandschaftsgrad;
let myTel := Telefon;
let myEmail := 'E-Mail';
let myBem := 'Bemerkungen/ Situation';
let myAufenth := 'geplante Aufenthaltsart';
let myStandort := Standort;
let myVorgEin := 'Datum Vorgesehener Eintritt';
let myAufenthDauer := 'Aufenthaltsdauer in Tagen';
let myEnt := Entscheidung;
let myBWName := 'Name BW Archiv';
let myBWVorn := 'Vorname BW Archiv';
let myBWGebDat := 'Geburtsdatum BW Archiv';
let myAnmNew := (create 'Anfrage Anmeldung');
myAnmNew.(
'Datum Anfrage' := myDat;
Anrede := myAnrede;
'Name Kontaktperson' := myNameKontakt;
'Vorname Kontaktperson' := myVornKontakt;
'Beziehung zu BewohnerIn' := myBez;
Institution := myInst;
'Ort Kontaktperson' := myOrtKont;
Verwandschaftsgrad := myVerwand;
Telefon := myTel;
'E-Mail' := myEmail;
'Bemerkungen/ Situation' := myBem;
'geplante Aufenthaltsart' := myAufenth;
Standort := myStandort;
'Datum Vorgesehener Eintritt' := myVorgEin;
'Aufenthaltsdauer in Tagen' := myAufenthDauer
);
let myBWNew := (create BewohnerIn);
myBWNew.(
'Name BW' := myBWName;
'Vorname BW' := myBWVorn;
Geburtsdatum := myBWGebDat
);
delete this;
Ich wäre über eine Rückmeldung sehr froh. Vielen Dank, beste Grüsse, Roger
7 Antworten
-
Hallo Roger, man muss dem Verknüpfungsfeld die ID des zu verknüpfenden Datensatzes zuweisen, und zwar auf der N-Seite. Wenn das in deinem Fall die Tabelle 'Bewohner' ist, dann müsste man dort eine Zeile hinzufügen:
[...] let myBWNew := (create BewohnerIn); myBWNew.( 'Anfrage Anmeldung' := myAnmNew; 'Name BW' := myBWName; 'Vorname BW' := myBWVorn; Geburtsdatum := myBWGebDat );
Wenn 'Anfrage Anmeldung' die N-Tabelle ist, dann würde ich erst den Datensatz in 'BewohnerIn' erstellen und den Teil unterhalb "create 'Anfrage Anmeldung'" entsprechend ergänzen:
[...] let myAnmNew := (create 'Anfrage Anmeldung'); myAnmNew.( BewohnerIn := myBWNew; 'Datum Anfrage' := myDat; Anrede := myAnrede; 'Name Kontaktperson' := myNameKontakt; [...]
Und noch ein ein allgemeiner Tipp. Die Zuweisung der vielen Variablen vor dem "create" kann man sich sparen und statt dessen über die in der Variable "my" gespeicherte ID des aktuellen Datensatzes direkt auf dessen Felder zugreifen:
let my := this; let myAnmNew := (create 'Anfrage Anmeldung'); myAnmNew.( 'Datum Anfrage' := my.'Datum Anfrage'; Anrede := my.Anrede; [...]
Damit spart man sich viel unnötige Tipparbeit und der Code wird deutlich übersichtlicher.
-
Einen Codiervorschlag gibt es ja schon. Deshalb ein Vorschlag zur allgemeinen Struktur - der könnte es grundsätzlich einfacher machen: Wie wäre es, doch ALLE Personen in der Tabelle zu halten und einfach ein Choice-Feld mit Status (Kandidat, Bewohner, Ex-Bewohner) zu machen. Auf der Basis ist die Verarbeitung aller Inhalte so viel einfacher und über die Choice lässt sich trotzdem immer eine für die Anzeige/Eingabe perfekt passende Auswahl treffen.
-
Guten Morgen zusammen
Das ist super, vielen Dank für die prompte Unterstützung und die tollen Tipps. Baue ich entsprechend ein :-)
Mit dem Auswahlfeld habe ich mir schon überlegt und mich dann doch für eine Trennung entschieden.
Einen schönen Tag und Gruss, Roger
-
planox. pro said:
'Anfrage Anmeldung' := myAnmNew;Ich nochmal: da erhalte ich die Fehlermeldung: "Die Tabellenspalte wurde nicht gefunden". (Die richtige Schreibweise habe ich überprüft, BewohnerIn ist auf der N-Seite).
-
Des Rätsels Lösung; Du bist genial, herzlichen Dank :-)
Content aside
- vor 2 JahrenZuletzt aktiv
- 7Antworten
- 60Ansichten
-
3
Folge bereits