Einträge nach gewissen Kriterien übertragen
Bekomme folgendes Szenario nicht gelöst. Ich habe eine Tabelle von Crew-Mitgliedern (Stammcrew) eines Künstlers. Nun möchte ich innerhalb eines Projektes diese Stammcrew via Button in eine Tabelle übertragen, die die Crew für den aktuellen Tag wiedergibt, ähnlich wie bei einem Fussballspiel (spielen ja nicht immer alle mit) .. Stelle mir grob vor, dass ich via cnt(select 'Stammcrew' where Travelparty.Artist = myArtist) die Datensätze zähle und dann in einer Schleife die einzelnen Datensätze mit der Verknüpfung "kreiere" .... aber wie laufe ich jeden Datensatz ab? ... da habe ich einen Knoten? Hoffe, das Problem ist verständlich
17 Antworten
-
Hallo,
Du hast: Tabelle 'Artist' mit Untertabelle 'Crew' sowie Tabelle 'Projekt' mit Verknüpfung zu 'Artist'. Desweiteren eine Tabelle 'Travelparty' mit Verknüpfungen zu 'Crew' und 'Projekt'. In der Tabelle 'Projekt' möchstest Du per Button Datensätze für jeden mit 'Artist' verknüpften Datensatz aus Crew in der Tabelle 'Travelparty' erstellen? Dann würde Dir dieser Code helfen:
let my := this;
for i in Artist.Crew do
let myNew := create Travelparty;
myNew.(Projekt := my;
Crew := i)
end
Vielleicht hilft das beim Knoten lösen - ansonsten wären nähere Angaben zum Datenmodell hilfreich.
lg, Torsten
-
Hier mein Datenmodell
Artist speichert die Stammcrew in "Main Crews"
Project ist die Aktuelle Tour oder Show wo ich beim Anlegen erst die Stammcrew übernehmen möchte und später einzelne Positionen (etwaige Ersatzleute) editieren möchte ... diese gespeichter in "Travel Party"
Das ganze ausgelöst von einem Button im Formular "Project"
Schon mal herzlichsten Dank für die schnelle Antwort... habe aber gemerkt, dass ich mein Problem noch zu ungenau beschrieben habe.... hoffe, es wird jetzt klarer :)
Gruess und bleibt gesund
-
Hm, wenn ich mir Dein Datenmodell anschaue, war meine Lösung doch gar nicht so verkehrt, hier und da Namen anpassen, schon passt's.
Aus meiner Sicht hättest du 'Travel Party' aber nicht mit 'Main Crews' sondern mit 'Contacts' verknüpfen müssen und per Button erst mal die 'Contacts' verknüpfen, die der Artist als 'Main Crews' hat. Dann wäre es:
let my := this;
for i in Artist.'Main Crews'.Contacts do
let myNew := create 'Travel Party';
myNew.(Project := my;
Contacts := i)
end
lg, Torsten
-
du bist der Hammer ... Datenmodell korrigiert ... Code probiert .... hammer!!!
eine letzte Frage dazu ... der "Main Crews" Mitglieder einen Status "active" mitgegeben und möchte die forSchleife so einpassen, dass nur Aktive Crewmitglieder uebernommen werden....
dieser Quelltext macht das nicht
let my := this;
for i in Artist.'Main Crew'.Contacts do
if Artist.'Main Crew'.active then
let myNew := (create 'Travel Party');
myNew.(
Project := my;
Contacts := i
)
end
end -
Hallo,
der Status ist ein Ja-/Nein-Feld namens 'active'? Dann sollte das hier funktionieren:
let my := this;
for i in Artist.'Main Crew'['active'].Contacts do
let myNew := create 'Travel Party';
myNew.(Project := my;
Contacts := i)
end
lg, Torsten
-
Spitze ... ich sehe, dass ich noch etwas an meiner Syntax arbeiten muss ... bin halt noch ein Newbie
Mega Dank für deinen Support, dass erspart Stunden von Frustration :)
-
Kein Ding, im Zweifel hier fragen, je klarer Dein Datenmodell erklärt ist, umso wahrscheinlicher kann Dir jemand helfen...
-
Ich strauchel immer wieder am Datenmodell :) .... ich möchte beim Anlegen eines Crewmitgliedes in "Main Crews" einen Job anwählen und mir nur die "Contacts" anzeigen lassen, die diesen Job zugewiesen bekommen haben.
Habe verschiedenes probiert
zB
- Verknüpfung _Job List und Contacts ... und über like-Befehl gefiltert (erfolglos)
am weitesten kam ich mit:
- Verknüpfung NN:Job_Contacts wo ich nach den Jobs gruppieren müsste, aber das ist in der Handhabung nicht schön
Fehlt mir offensichtlich das generelle Verständnis der Verknüpfungen? Wahrscheinlich gibts ne ganz einfache Lösung wieder und ich sehe sie nicht.
-
Ich verstehe nicht ganz, was der Unterschied zwischen '_Job List' und 'Travel Party' ist - ich dachte, Du pflegst in 'Travel Party' diejenigen, die an einem Project arbeiten? D.h. neben der 'Main Crew' des 'Artist 'könnten das auch andere 'Contacts' sein? Und diese anderen willst Du (z.B. vom Projekt aus) dem 'Artist' als 'Main Crew' für zukünftige Projekte zuordnen?
-
Sorry: ich und meine wirren Gedanken. die Tabelle MainCrews dient quasi als Template für die Stammcrew. Da es Freiberufler sind sieht, die tatsächliche Travel Party oft anders aus. im besten Fall ein Knopfdruck und die Stammgruppe übernommen. (funktioniert dank dir), worst case die Travel Party wird manuell aus der Tabelle Contacts aufgebaut. _JobList speichert lediglich die Berufsbezeichnungen (Label), nach denen ich beim verknüpfen zwischen MainCrews und Contacts bzw TravelParty und Contacts filtern möchte bevor ich mich fuer einen entscheide. Das bekomme ich mit einer Ansicht hin Aber nicht während des Verknüpfens
-
Hi,
Du kannst die Auwahl der Verknüpfungen beschränken - die Feldeigenschaften der Verknüpfung geben das unter "Einschränkungen" her. Wenn Du also bei TravelParty als Filter-Kriterium eine Verknüpfung zu _JobList hast, kannst Du die Auswahl der Verknüpfung zu Contacts (welche jeweils auch nach _JobList verknüpft sind) wohl in der Form
a.'_Joblist' = b.'_Joblist'
einschränken.
Falls Du damit nicht klar kommst: Vielleicht zeigst Du Deine DB mal im Rahmen eines Webinars? Mittwochs von 16 bis 18 Uhr ist für sowas immer eine gute Zeit. Ich bin sicher, dass die technische Umsetzung nicht sonderlich kompliziert ist - es hilft Dritten nur ungemein, die DB auch tatsächlich zu sehen...
lg, Torsten
-
Diese Funktion ist mir vertraut, doch leider versagt Sie, da _JobList via NN Verknüpfung mit Contacts verbunden ist.... würde gern auf Webinar Angebot zurückkommen.... nur leider habe ich noch die Kinder zu unterrichten und ne 4jährige ganztägig zu bespassen :) , was meine Zeitplanung sehr einschränkt.
Verknüpfe ich nur mit NN Tabelle ... kann ich keine neuen Contacts anlegen aber das Filtern geht
Verknüpfe ich direkt mit Contacts, was mir logisch erscheint, funzt das Filtern nicht
hier mal am Beispiel in Main Crews
-
Tabellenstruktur ist noch arg vereinfacht, weils mir erst um die Funktion und nicht um Details geht
-
hast Du's schon mit contains versucht? sowas wie:
contains(concat(b.'executable Jobs'.'_Job List'.'NN:Job_Contacts'.'_Job List'),a.'_Job List')
lg, Torsten
-
liefert mir "Die Funktion ist nicht definiert : contains(string,nid)
-
okay, klar, sorry. Dann:
contains(concat(b.'executable Jobs'.'_Job List'.'NN:Job_Contacts'.'_Job List'.'Job Name'),a.'_Job List'.'Job Name')
-
man da haette ich auch selbst drauf kommen können..... klasse läuft ... ihr seit echt der Wahnsinn ... ich bin echt happy auf Ninox gestossen zu sein .... suche seit Jahren nach einer verständlichen Lösung und bin bei FileMaker schnell an meiner Grenzen gestossen... Merci und bleibt gesund
Content aside
- vor 4 JahrenZuletzt aktiv
- 17Antworten
- 1539Ansichten