Wie eine einmalige Massenverknüpfung vornehmen?
Schönen Sonntag liebe Ninoxler :-)
Ich habe mal wieder ein Problem: Ich möchte bzw. muss einen sehr grossen Datensatz in meine Ninox Anwendung per Verknüpfung zuordnen. Dies aber nur ein einziges Mal per Massendatenänderung, dann hat sich das schon erledigt.
Aber wie stelle ich das an? Um besser zu verdeutlichen was ich vorhabe ein kleiner Screenshot:
Die Datensätze die man links sieht sollen nach rechts mit einer anderen Tabelle verknüpft werden. Einzeln kein Problem, bei 14000 Stück aber doch zu viel fürs Mausgeklicke :-)
Hat da jemand vielleicht eine gute Idee?
9 Antworten
-
Hallo,
können die Datensätze links denn über Informationen aus dem Datensatz rechts identifiziert werden? Anhand welcher Felder? Wei heißen die Tabellen und die wichtigen Felder? Wenn wir das wissen können wir dir helfen die Datensätze per "select" über "Berechneten Wert zuweisen" in der Massendatenänderung ermitteln.
VG Frank
-
Hi...
Ich musste es mir grad selber mal ausmalen, damit ich wieder durchsteige. Wie ich es sehe, ist das an sich wohl nicht schwierig. Ich weiss nur nicht wie ich es Ninox sagen soll.
Ich habe in der Tabelle "MeinAG" ein Auswahlfeld "AGFarbcodefeldAuswahl" und alle Datensätze mit dem Eintrag "1" sollen mit der Tabelle "Objekte" verknüpft werden. Und zwar mit allen Datensätzen bei denen zur Zeit im Feld "Code" kein Eintrag ist, es also noch leer ist.
Manuell funktionierts schon alles... Ich kann im Verknüpfungsfeld "AGFarbcodefeldAuswahl" die Datensätze in "Objekte" mit leeren "Code" Feld anwählen und jeden Datensatz einzeln durch Klick verbinden. In Zukunft macht man das auch manuell. Sobald ein neues Objekt angelegt wird, wählt man den dazugehörigen "MeinAG" aus und verbindet das neue Objekt mit dem. Aber jetzt zum Start muss ich die alten Datensätze ja in einem Rutsch einmalig zuordnen.
Es wäre toll wenn das irgendwie zu machen wäre....
.........................
Die nächste Frage wäre dann auch gleich: Wie kann man beim anlegen eines neuen Objekts gleich automatisch den MeinAG mit der Nr. 1 verknüpfen? Da dies in den meisten Fällen in der Praxis so vorkommt spart man sich das ständige Auswählen dann und kann es manuell dann ändern wenn es mal sein muss.
-
Mein obiger Satz
"Manuell funktionierts schon alles... Ich kann im Verknüpfungsfeld "AGFarbcodefeldAuswahl" die Datensätze in "Objekte" mit leeren "Code" Feld anwählen und jeden Datensatz einzeln durch Klick verbinden."
sollte natürlich heissen: "Ich kann im Verknüpfungsfeld "MeinAG zu diesem Objekt" die Datensätze in "Objekte" mit leeren "Code" Feld anwählen....."
Sorry für die blöden Feldernamen aber im Bastelmodus sind die noch prototypenhaft benannt :-)
-
So... Kämpfe mich voran:
In beiden Tabellen habe ich nun je ein eindeutiges Feld angelegt.
Tabelle "MeinAG" hat das JA/NEIN Feld "VKUNDENFREUND?" und die Tabelle "OBJEKTE" das Feld "VKUNDE?". Wobei "JA bzw. true" nun angibt, dass die Bedingung jeweils erfüllt ist.
Nun sollen alle VKUNDEN mit dem VKUNDENFREUND verknüpft werden und zwar in Richtung des VKUNDENFREUNDES. Der Gute hat also viele Kunden. Die Kunden dagegen immer nur einen Freund.
Nun müsste ich nur noch wissen wie ich das in der Massendatendingens korrekt anwende....
-
Hallo,
also so ganz verstehe ich die Zusammenhänge noch nicht... was ich bisher verstehe:
- Du hast eine Tabelle MeinAG mit dem Auswahlfeld AGFarbcodefeldAuswahl. Dieses Auswahlfeld hat in mehreren Datensätzen die Option mit der Nummer 1.
- Du hast eine Tabelle Objekte mit einem Feld Code. Dieses Feld ist bei mehrere Datensätzen leer.
Nun sollen alles Datensätze der Tabelle MeinAG mit AGFarbcodefeldAuswahl=1 mit allen Datensätzen der Tabelle Objekte mit Code=null verbunden werden ... also eine n:m-Verbindung? Über eine zusätzliche Verknüpfungstabelle? Oder der erste Datensatz der Tabelle MeinAG mit dem ersten Datensatz der Tabelle Objekte, der zweite Datensatz der Tabelle MeinAG mit dem zweiten Datensatz der Tabelle Objekte usw.?
Dann sprichst du aber von einem Verknüpfungsfeld AGFarbcodefeldAuswahl - das hat nun den gleichen Namen wie das Auswahlfeld der Tabelle MeinAG... ist das jetzt in der Tabelle Objekte? Oder ist das einfach falsch beschrieben? Laut Bild heißt das Verknüpfungsfeld in Tabelle Objekte ja MeinAG zu diesem Objekt...?
VG Frank
P.S.: Auch bei einem Prototypen ist es für dich einfacher, wenn Tabellen, Felder und Variablen schlüssig benannt sind. Aber wenn du mit den Namen klar kommst ist das ja in Ordnung. ;)
-
Du kämpfst dich voran und ich werde immer verwirrter ... wie passen denn jetzt die neuen Infos noch zu den alten? Ich verstehe ich nicht.
-
Hehe...
Vergiss das ganz oben einfach. Ich hab das mittlerweile derart komplex, dass ich kaum noch weiss wie ich andere etwas fragen kann... Ich habe mal mein Problem in einer neuen Datenbank nachgebaut. Die ist in der Webinar DE 2019 Cloud von Ninox zu finden: "Objekte und MeinAG verknüpfen Test"
Es geht darum, dass man einen Haufen Kunden (Objekte) hat die einem bestimmten Auftraggeber (MeinAG) zugeordnet werden sollen. Das zuordnen an sich ist auch kein Problem: Ich gehe in die Kunden (Objekte) Tabelle und suche mir dort den richtigen Auftraggeber (MeinAG) für diesen Kunden aus.
Mein Problem ist die massenweise Zuordnung:
Alle Kunden in der Objektabelle bei denen VKunde? auf "JA" steht sollen dem VKUNDENFREUND in der Tabelle MeinAG zugeordnet werden. Bei dem ebenfalls ein passender Status da wäre (VKunden geeignet). Denke aber den braucht man auf der Seite gar nicht, da klar ist, dass diese Kunden (Objekte) dem Auftraggeber der im Auswahlfeld auf 1 steht zugeordnet werden sollen.
Es ist alles schwieriger zu erklären als es eigentlich ist.... :-)
-
Hallo,
dann versuchen wir das mal ... Massendatenänderung über Objekte mit "Berechneten Wert zuweisen" im Feld 'MeinAG':
if VKunde then first(select MeinAG where 'VKUNDENFREUND?' = true) else 'MeinAG' end
VG Frank
-
Guten Morgen.
Was eine Mütze Schlaf doch manchmal bewirken kann :-)
Deine Hinweise haben mir den Pfad gewiesen und nun ist der Job vollbracht... 14000 Datensätze korrekt zugeordnet. Am Ende war der Code so simpel:
if 'VKUNDE?' = true then select MeinAG where AGFarbcodeAuswahl=1
Ich hatte bisher wenig mit dem select Befehl gemacht. Nun weiss ich wieder etwas mehr und schon fallen einem wieder zig Lösungen für ältere Probleme von selber ein.
Wie auch immer: Vielen Dank für die freundliche Hilfe. Alles prima nun :-)
Content aside
- vor 5 JahrenZuletzt aktiv
- 9Antworten
- 2563Ansichten