ich bin auf der Suche nach der Möglichkeit Datensätze miteinander zu verknüpfen. Meine Accesszeiten sind wohl doch länger vorbei als gedacht und ich komme nicht drauf.
Einsatzzweck: Ich möchte eine Vater, Mutter und Kind Zuordnung in einem Adressbuch realisieren.
wenn Du häufig solche Kombinationen hast, dann soltest Du die Adressen in einer separaten Tabelle auslagern. Den Personen kannst Du dann über den Primärschlüssel der Tabelle Adressen die entsprechende Adresse zuordnen. So kommen Adressänderungen allen Personen der Gruppe zugute. Die Personentabelle enthält dann eventuell die folgenden Felder:
ID → Primärschlüssel | Nachname | Vorname | Adress_ID → Fremdschlüssel aus Adressen
Nachteil bei dieser Aufteilung ist allerdings: Du gibst zuerst die Adresse an und ordnest die Adresse dann Personen zu. In einem Formular kann das so aussehen: "Adresse" ist das Hauptformular, "Personen" ist das Unterformular. Zumindest das Unterformular sollte ein Tabellenkontrollfeld sein, so dass Du sofort alle Personen zu einer Adresse siehst.
Daten wie Geschlecht, Geburtsdatum usw. gehören natürlich ebenfalls in die Personen-Tabelle.
die Ferienfreizeit ist gut verlaufen und die Anmeldung für die Ferienfreizeit 2016 hat begonnen. Höchste Zeit also um wieder an meiner kleinen Datenbank weiter zu entwickeln. Das mit den Adressen ist nachvollziehbar. Dann muss ich die Adresse für einen Haushalt nur noch einmal und nicht drei mal eingeben.
Aber die eigentlich Frage bleibt bestehen. Wie verknüpfe ich Mutter, Vater und Kind. Mache ich das mit einer gesonderten Elterntabelle oder mit den Feldern Vater_ID und Mutter_ID in der Kontakttabelle? Alle Personen unter einer Anschrift angezeigt zu bekommen ist nicht ausreichend genug differenziert.
Viele Grüße
Paul
EDIT:
Ich glaube so funktioniert es mit einem Listenfeld mit SQL Abfrage
SELECT "Name" ||', '|| "Vorname", "ID" FROM "Kontakte"
wenn Du Vater und Mutter mit dem Kind verknüpfen willst, dann kommt es natürlich darauf an, welcher Datensatz zuerst da ist. Es wäre umständlich, zuerst das Kind einzugeben, dann Vater und Mutter und anschließend zu dem Kind-Datensatz zurückzukehren und dort Vater und Mutter auszuwählen.
Einfacher wäre wohl, dem Vaterdatensatz das Kind zuzuordnen und dem Mutterdatensatz ebenso. Dafür würde ich eine separate Tabelle bauen, die aus der Personentabelle immer nur jeweils zwei Primärschlüssel als Fremdschlüssel und in der Kombination als eigenen Primärschlüssel führt. Ist das Kind eingegeben, so kannst Du nach der Eingabe des Vaters anschließend über ein Listenfeld das Kind zuordnen. Diese Zuordnung geschieht in einem Unterformular. Vermutlich musst Du dort aber jedes Mal das Listenfeld aktualisieren, da dies beim Neueinlesen des Formulars nicht jedes Mal automatisch passiert.
Vorteil dieser Variante wäre, dass Du beliebig viele Kinder einem Vater bzw. einer Mutter zuordnen kannst sowie auch beliebige Vater-Mutter-Kombinationen möglich machst sowie beim Kind immer die Übersicht über Vater und Mutter mitführen kannst (eben in dem Unterformular).
Nachteil: Du führst vermutlich viele Adressen doppelt. Vielleicht hilft da ein Ankreuzfeld wie "Adresse siehe ...". Allerdings hast Du dann natürlich Schwierigkeiten, wenn sich eine Adresse nur für eine der Personen ändert.
ich habe das jetzt so gelöst (Siehe Datei im Anhang). Es ist zwar noch alles in der Entstehungsphase, aber die Eingabemaske funktioniert schon sehr gut soweit. Die Kontaktdaten habe ich soweit eingegeben. Der nächste Schritt ist jetzt einen Serienbrief an die Teilnehmer zu verschicken. Momentan hänge ich jedoch beim erstellen der Abfrage dafür. Wie bekomme ich auch die Kontaktdaten der Eltern passend zum Kind in die Abfrage?
auch wenn es schon "etwas" her ist, aber es ist gerade wieder aktuell. Könnt ihr mir erklären und oder im Handbuch zeigen, wie ich die Spalten der Unterformulare bearbeiten kann?
Wenn ich in ""FF-Verwaltung - leer.odb" ein Unterformular anlege bekomme ich immer nur die IDs (z.B. Teilnehmer-ID und Rollen-ID) angezeigt und nicht das, was als Text dahinter liegt. Ich komme einfach nicht an die Spalten.
wenn Du weißt, wie Du normalerweise Spalten markierst und die Eigenschaften aufrufen solltest, dies aber nicht geht, dann wirst Du eine LO 5.0.*-Version auf der Platte haben. Der Bug, dass Spalten nicht bearbeitet werden können, taucht dort auf und ist mit LO 1.* behoben.