Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Tabellenbeziehungen: PK soll auf 2 FK verweisen / Nachzucht-DB

Begonnen von hansdampf8, Juli 19, 2017, 12:28:46

⏪ vorheriges - nächstes ⏩

MzKlMu

#15
Hallo,
ZitatIn meiner Tabellenstruktur gibt es aber für die Elterntiere und die Nachtkömmlinge eine eigene Tabelle.
das ist falsch. Alle Tiere kommen in eine Tabelle. Das mit 2 Tabellen kannst Du nicht lassen.
Die Nachzuchten werden ja dann auch zu Geflügel, das gibt mit 2 Tabellen ein heilloses Durcheinander.
Siehe Bild.

Kannst Du bitte die DB mal mit einigen Spieldaten hier hochladen.

Gruß Klaus

hansdampf8

Hallo!

ZitatDas mit 2 Tabellen kannst Du nicht lassen.
Ja, mit den Tabellen hab ich so meine Schwierigkeiten.
ZitatDie Nachzuchten werden ja dann auch zu Geflügel, das gibt mit 2 Tabellen ein heilloses Durcheinander.
Muss ich dann die tbl_Nachzucht jetzt löschen oder bleibt sie erhalten zur Eingabe der Elterntiere?

Ich lade die Test.mdb mal hoch.

Gruß Hans

MzKlMu

#17
Hallo,
ZitatMuss ich dann die tbl_Nachzucht jetzt löschen oder bleibt sie erhalten zur Eingabe der Elterntiere?
natürlich muss die erhalten bleiben. Ich habe sie ja auch nicht durchgestrichen. Über diese Tabelle kannst die komplette Zuchthierarchie abbilden und nachvollziehen. Das ist neben der Geflügeltabelle die wichtigste Tabelle.

Zum Beispiel:
Auch die Hasen und das Geflügel gehören in eine Tabelle. Da Du ohnehin eine Tabelle für die Tierart hast, kannst Du ja unterscheiden. Wenn Du getrennte Tabellen hast, macht eine Tabelle für die Tierart keinen Sinn.
Und statt Hasenname und Geflügelname schreibst Du Tiername.

Baue das mal um und lade dann noch mal hoch.

PS:
Verwende keine Umlaute in den Feldnamen (Geflügel > Gefluegel).
Gruß Klaus

Lachtaube

Wie schon zuvor erwähnt, gehören alle Tiere in eine Tabelle (analog zu Allen Brownes Pferdezucht - jedoch zusätzlich noch mit dem Tierart-Attribut ausgestattet). Ich würde persönlich auch auf Banalitäten wie eine Geschlechtstabelle verzichten, weil die 3 kurzen Ausprägungen (w, m, n) schließlich für alle Ewigkeit in Stein gemeißelt sind und durch eine einfache Gültigkeitsregel gut gegen Fehleintragungen abgesichert werden können.

PS: es fehlt natürlich ein Unterscheidungsmerkmal, denn die Tiere (speziell Jungtiere) werden kaum auf ihren Namen - wenn überhaupt - hören. Geburtdatum, Sterbedatum, etc. muss man auch noch nachtragen.
Grüße von der (⌒▽⌒)

hansdampf8

#19
Ich habe meine Struktur jetzt nach euren Angaben und meinem Verständnis umgestellt und finde es natürlich wesentlich übersichtlicher(logischer).
Nur mit den Nachzuchten habe ich noch meine Schwierigkeiten.
Muss ich jetzt in der tbl_Tiere einen FK von der tbl_Nachzucht setzen um zu wissen welches Tier welche Eltern hat?

Lachtaube
Zitates fehlt natürlich ein Unterscheidungsmerkmal
Hier handelt es sich nur um eine Beispiel DB um das ganze Konstrukt zu verstehen. Natürlich werden noch einige Attribute dazukommen wenn der Bauplan erstmal stimmt.

Gruß Hans


Lachtaube

Die Nachzuchttabelle beinhaltet wenig Aussagekraft, weil daraus nicht hervorgeht, wer, wann durch welche Eltern geboren wurde, sondern allerhöchstens, dass ein Paar eine Geburt (und dann noch ohne Datum) hatte.
Grüße von der (⌒▽⌒)

hansdampf8

ZitatDie Nachzuchttabelle beinhaltet wenig Aussagekraft, weil daraus nicht hervorgeht, wer, wann durch welche Eltern geboren wurde
Das stimmt nicht ganz so. In dieser Tabelle sind genau die ID Daten der Eltern erfasst.
z.B. ID_Nachkömmling -> ID_Vater -> ID Mutter
Zitatund dann noch ohne Datum
Ich habe doch oben geschrieben, das dieses Konstrukt zum verstehen der ganzen Sache dient. Ein Feld z.B für Geburtsdatum kommt natürlich noch hinzu wenn alles sauber erstellt ist.
Mir geht es erstmal um eine funktionierende Tabellenstruktur.

Das hat mir jetzt nicht geholfen!

Wie bekomme ich die Nachzuchten in die Tabelle Tiere mit einer sauberen Verknüpfung?

Oder soll ich einfach die tbl_Tiere um die Felder ID_Mutter u ID_Vater ergänzen und dort die ID's der Elterntiere eintragen.

Gruß Hans

MzKlMu

#22
Hallo,
@Lachtaube
ich kann Dir auch nicht ganz folgen (was natürlich auch an mir liegen kann).
Wo siehst Du den Vorteil des Aufbaus mit 3 Tiertabellen (2 davon virtuell) ?
Wenn ich jedes Tier das geboren wurde in der Tiertabelle erfasse (mit Geburtsdatum) kann ich doch in einem Hafo das Tier anzeigen und im Ufo über Kombis die beiden Elterntiere auswählen und dann auch anzeigen. Der in #19 skizzierte Aufbau braucht in der Nachzuchttabelle kein Geburtsdatum, das steht ja in der Tiertabelle schon drin.
Gruß Klaus

Lachtaube

Klaus, In der vorliegenden Form fehlen doch die ganzen Iformationen zum Tier - nur die Elterninfos wären vorhanden. Selbst wenn die Infos vorlägen, müssten sie doch in die Tiertabelle übertragen werden, damit sich auch Nachzuchttiere paaren ließen.

Nimm jedoch die Nachzuchttabelle und verschiebe ihre Felder gedanklich in die Tiertabelle - dann liegen alle Infos zu einem Tier, die ja auch alle von der selben Natur sind, in einer Tabelle vor.

Diese Datenform kann selbstverständlich genauso in Unterformularen verwendet werden - jeweils ein Kombifeld für jedes Elternteil sollte aber auch genügen, es sei denn, dass ich die Eltern nachtragen muss (wenn man auf NotInList im Kombifeld verzichten will).
Grüße von der (⌒▽⌒)

MzKlMu

Hallo,
ja jetzt habe ich verstanden.
@Hans
folge dem Vorschlag von Lachtaube aus #18, nur so geht es. Aus dem jetzigen Aufbau kann man nur die Elterntiere bestimmen, aber nicht von welchem Tier das die Eltern sind.
Gruß Klaus

hansdampf8

Hallo Klaus und Lachtaube!

Ich versuche es mal nach #18 zu bauen aber so richtig habe ich es noch nicht verstanden..
Hoffentlich geht mir beim experimentieren ein Licht auf.
Ich werde berichten!!


Gruß Hans


hansdampf8

#26
Da sind wir wieder!

Ich muss ehrlich gestehen, dass ich dieses Konstrukt noch nicht zu 100% verstehe aber es klappt.
An dieser Stelle Danke!

Jetzt habe ich ein Problen mit der Abfrage für alle Tiere, in der mir leider nur die Nachzuchten angezeigt werden. Ich möchte aber alle Tiere angezeigt bekommen inkl Elternnamen und auch die Tiere von denen die Eltern unbekannt sind.
Also in denen die Felder leer sind.
Gibt es da eine Möglichkeit?

Nachtrag:
Hab jetzt zwei Tiereinträge mit Mutter k.A. und Vater k.A. vorgenommen und in der Abfrage entsprechend gefiltert bei den Nachzuchten mit Nicht Wie "Mutter k.A.'.
Wäre das so auch eine saubere Lösung?

Nachtrag 2
Um Millisekunden zu spät gelesen @Klaus.. Klappt und zeigt alles an.
Danke Danke


Gruß Hans und DB liegt bei...

MzKlMu

Hallo,
klicke die Beziehungslinien zu den beiden virtuellen Tabellen doppelt und stelle Beziehungstyp 3 ein.
Gruß Klaus

hansdampf8

Letztes Problem für heute!

Habe ein Formular zur Eingabe der Tiere erstellt frm_Tiere. Funktioniert auch so weit.
Aus den Feldern IDTierArt und Tier_Mutter_F habe ich cbo Boxen gemacht und möchte mir die Eingabe erleichtern.
Es sollen mir nun auch nur alle weiblichen Tiere der entsprechenden TierArt gezeigt werden und da liegt das Problem. Es werden mir nur alle weiblichen Tiere der TierArt Geflügel angezeigt.
Die Filterung für das Feld IDTierArt_F habe ich über Kriterien -> Aufbauen erstellt.
Wie [Formulare]![frm_Tiere]![cboIDTierArt]

Ich verstehe einfach nicht warum es nicht funktioniert. Gebe ich dort den Wert händisch ein funktioniert die Filterung.

DB ist dabei

Gruß Hans und gute Nacht für heute!


MzKlMu

Hallo,
Me.Requery aktualisiert das Formular, aber nicht das Kombi, das Kombi muss gezielt aktualisiert werden.
Außerdem muss die Aktualisierung des Kombis auch in das Formularereignis "Beim Anzeigen", damit das Kombi an die aktuelle Anzeige angepasst wird.
Ändere wie folgt:
Private Sub cboIDTierArt_AfterUpdate()
    Me.Tier_Mutter_F.Requery
End Sub

Private Sub Form_Current()
    Me.Tier_Mutter_F.Requery
End Sub


Gruß Klaus