Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Legeliste für Hennenhaltung
Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter
zurück: Problem mit Abfrage 2 Tabellen weiter: Doppelungen durch Löschabfrage entfernen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
astern
Datenmodell-Missionar


Verfasst am:
26. Okt 2009, 10:53
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

astern am 26. Okt 2009 um 09:20 hat folgendes geschrieben:
Uuaahh, guten Morgen!
Geht Ihr immer so spät ins Bett?

Ich habe mir gerade Eure Nachtdiskussion durchgelesen und wollte auch noch was zum Thema "Einstalldatum" sagen:

Also: Es könnte ja sein, dass sich das Einstallen über zwei bis drei Tage hinzieht - am 15.7. kommen 300 weiße Hennen und am 17.7. kommen noch 150 braune dazu. Wenn der Benutzer der DB dann beide Zugänge mit dem Grund "Einstallung" versieht, dann stehen in der Tabelle abgangzugang zwei Zeilen mit dem Grund "Einstallung" und unterschiedlichen Datumsangaben. Dann müsste man erst mal per "Zauberabfrage" das richtige herausfinden (nämlich das kleinere von beiden). Genau genommen müsste die Abfrage lauten: "Finde den Zugang mit dem Grund Einstallung und dem kleinsten Datum nach dem letzten Null-Bestand". Das könnte kompliziert werden. Daher die redundante Speicherung in der Tabelle herde.

ABER: Man könnte durch entsprechende VBA-Programmierung sicherstellen, dass es nach einem Null-Bestand immer nur EINEN Zugang mit dem Grund "Einstallung" gibt. Für das weitere Hinzukommen von Hennen müsste man dann so etwas wie "Zustallung" oder so ähnlich definieren. Dann gäbe es also nach einem Null-Bestand immer nur EINE ZEILE mit dem Grund "Einstallung" und evtl. weitere Zeilen mit dem Grund "Zustallung". Dann wäre der Eintrag des Einstallungsdatums in der Tabelle herde wirklich überflüssig, denn das Einstallungsdatum könnte eindeutig aus der Tabelle abgangzugang gewonnen werden.

Beim Grund würde ich noch eine Spalte grund_abzu einfügen, um Gründe für Abgänge und für Zugänge unterscheiden zu können. Das macht sich nachher gut beim Füllen der entsprechenden Kombinationsfelder.

Und noch eine Frage an den "Hühnerbaron": Wie ist Eure Denkweise bei der Umstallung? Sagt Ihr:

(1) "Soundsoviele Hennen aus dieser Herde gehen rüber in eine andere Herde." oder sagt Ihr:
(2) "Der Zugang in dieser Herde kommt aus der Herde x."

Das wäre dann wichtig für die Formulargestaltung. Im Augenblick realisiert das Datenmodell die 2. Variante (Fremdschlüssel "herde_id_f_von" in Tabelle "abgangzugang"). Das ist aber nur eine Benennungsfrage. Solltet Ihr Variante (1) bevorzugen, müsste man den Fremdschlüssel "herde_id_f_nach" nennen.

MfG
A*

Hallo!
Ich habe nochmal über die Umstallung nachgedacht. Vorweg aber ein Wort zur späteren Formuargestaltung:
Ich würde es dem Benutzer nicht überlassen, bei einem Abgang ein Minuszeichen vor die Anzahl zu machen - nachher vergisst er das (und Softwarebenutzer machen prinzipiell alles falsch, was man falsch machen kann!) und alles kommt durcheinander.
Also: Ein Optionsfeld mit den Optionen "Abgang" und "Zugang" und dahinter ein Feld zur Eingabe einer POSITIVEN Zahl (per VBA überprüfen!). Wählt der Benutzer die Option "Abgang", wird die eingegebene Zahl mit -1 multipliziert.

Nun zur Umstallung:
Der Benutzer lässt sich die "Quellherde" anzeigen, wählt "Abgang", als Grund "Umstallung" und gibt eine Anzahl ein. Daraufhin werden in der Tabelle abgangzugang ZWEI Zeilen eingetragen: Ein Abgang bei der "Quellherde" und ein Zugang bei der "Zielherde".
Es geht aber auch umgekehrt:
Der Benutzer lässt sich die "Zielherde" anzeigen, wählt "Zugang", als Grund "Umstallung" und gibt eine Anzahl ein. Daraufhin werden in der Tabelle abgangzugang wieder ZWEI Zeilen eingetragen: Ein Abgang bei der "Quellherde" und ein Zugang bei der "Zielherde".

Daraus ergibt sich jetzt, dass man den Fremdschlüssel gar nicht mit dem Zusatz "von" bzw. "nach" versehen sollte, denn er wird bei der "Quellherde" als Ziel und bei der "Zielherde" als Quelle benutzt. Also einfach "herde_id_f2".

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Okt 2009, 10:56
Rufname:


AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Guten Morgen!
Zitat:
Geht Ihr immer so spät ins Bett?
Manchmal Razz
Zitat:
Also: Es könnte ja sein, dass sich das Einstallen über zwei bis drei Tage hinzieht
Das Du diese Möglichkeit versuchst "abzusichern" in der Datenbank - wOw!
Ich sage jetzt einfach, dass es nicht vorkommt - ich weiß, sag niemals nie, aber es kam bis Dato noch nicht vor und soooo ganz schnell sehe ich keinen Grund, warum es mal so sein könnte.
Darum denke ich, dass die Datenbank (für meine Ansprüche) ohne eine solch eventuelle Einstallsituation auskommt!
Es wird immer eine ganze Herde an einem Datum eingestallt. Versprochen Wink

Darf ich mal nachfragen, wie dieser Post von Dir:
astern - 25. Okt 2009, 23:06 hat folgendes geschrieben:
Zitat:
Oder ich lege noch eine Spalte in der Tabelle "ZUABGANG" an, in der ich mit einem Wert, z.B. über ein Kontrollkästchen was 1 ausgibt, diese Buchunng als Einstallung kennzeichnet
Oh Mann, Du bist aber auch hartnäckig!
Meine Antwort ist wieder: NEIN!! Dafür haben wir doch schon vor langer Zeit die Tabelle "grund" angelegt! Der Grund kann alles mögliche sein: Tod, Verkauf, Diebstahl, der Fuchs, Einstallung, ... und was weiß ich nicht noch alles, was auf einem Hühnerhof passieren kann!
mit dem Satz jetzt zu vereinen ist?
Zitat:
Beim Grund würde ich noch eine Spalte grund_abzu einfügen, um Gründe für Abgänge und für Zugänge unterscheiden zu können. Das macht sich nachher gut beim Füllen der entsprechenden Kombinationsfelder.

Was ich noch anmerken könnte - Es werden pro Herde ca 1000 +- neu eingestallt, aber es werden (trotz sag niemals nie) niemals mehr als 150, eher weniger umgestallt.
Zitat:
(2) "Der Zugang in dieser Herde kommt aus der Herde x."
..trifft es ausreichend genau!
Punkt 2 ist interessanter als eins, da meist nur eine interne Umstallung stattfindet um eine Herde "leer" zu bekommen, damit diese wieder komplett neu eingestallt werden kann.

einen freundlichen morgendlichen Gruß!
Nachtrag: Bernd512 am 26. Okt 2009 um 10:05 hat folgendes geschrieben:
Zitat:
Vorweg aber ein Wort zur späteren Formuargestaltung:
Ich würde es dem Benutzer nicht überlassen, bei einem Abgang ein Minuszeichen vor die Anzahl zu machen - nachher vergisst er das (und Softwarebenutzer machen prinzipiell alles falsch, was man falsch machen kann!) und alles kommt durcheinander.
Also: Ein Optionsfeld mit den Optionen "Abgang" und "Zugang" und dahinter ein Feld zur Eingabe einer POSITIVEN Zahl (per VBA überprüfen!). Wählt der Benutzer die Option "Abgang", wird die eingegebene Zahl mit -1 multipliziert.
Das hat mir auch schon Sorgen bereitet Razz Aber ich wollte das nicht jetzt anschneiden, da wir etwas mit dem Einstalldatum auf Kriegsfuss stehen.
Aber der Lösungsvorschlag von Dir, wäre natürlich die Idiotensicherung schlechthin!
Wenn es mal soweit ist, würde ich gerne Hilfe für den VBA Teil in Anspruch nehmen Rolling Eyes
astern
Datenmodell-Missionar


Verfasst am:
26. Okt 2009, 12:21
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

So,
hier kommt nochmal die leicht modifizierte Version 6.
Zitat:
Darum denke ich, dass die Datenbank (für meine Ansprüche) ohne eine solch eventuelle Einstallsituation auskommt!
Trotzdem sollte man programmtechnisch verhindern, dass jemand zweimal "einstallt".

Zitat:
Darf ich mal nachfragen, wie dieser Post von Dir: ...mit dem Satz jetzt zu vereinen ist?
Wieso? Wo siehst Du da einen Widerspruch?
Du wirst später im Formular Kombinationsfelder für die Auswahl des Grundes brauchen - und zwar eines für einen Zugang und eines für einen Abgang. Mit der zusätzlichen Spalte grund_abzu wird es möglich, im Auswahlfeld für den Zugang nur Gründe für Zugänge und im Auswahlfeld für den Abgang nur Gründe für Abgänge aufzulisten! Du wirst schon sehen! Glaub' mir!
Der Benutzer würde sich schön wundern, wenn er einen Zugang eingeben will, die Box "Grund" öffnet und darin steht "Tod"!!

MfG
A*
Nachtrag: astern am 26. Okt 2009 um 11:25 hat folgendes geschrieben:
Nochmal dazu:
Zitat:
Darf ich mal nachfragen, wie dieser Post von Dir: ...mit dem Satz jetzt zu vereinen ist?
Wahrscheinlich wird das auch wieder nur mit einem Beispiel klar:

Die Tabelle grund sieht dann so aus:

1 | Tod | ab
2 | Einstallung | zu
3 | Diebstahl | ab
4 | Umstallung | zu
5 | Umstallung | ab
6 | Fuchs | ab

Achtung: Eine Umstallung kann SOWOHL Grund für einen Abgang ALS AUCH für einen Zugang sein!

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!



eier_v06.jpg
 Beschreibung:
Datenmodell
 Dateigröße:  72.23 KB
 Angeschaut:  552 mal

eier_v06.jpg



eier_v06.zip
 Beschreibung:
.mdb-Datei (2003er Format)

Download
 Dateiname:  eier_v06.zip
 Dateigröße:  13.63 KB
 Heruntergeladen:  12 mal

ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Okt 2009, 12:37
Rufname:

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Diebstahl Very Happy Fuchs Very Happy
Danke für die Erklärung, damit wird es klar.
Das Umstallung sowie als auch sein kann, kann ich nachvollziehen!
Zitat:
Wieso? Wo siehst Du da einen Widerspruch?
Für mich war unverständlich, warum in "Herde" Einstalldatum temporär angelegt wird, obwohl's ja auch in der "zuabgang" steht mit Grund.
Für eine Auswertung ist es aber (nachher wird's klar) einfacher, wenn man das Einstalldatum ohne eine evt Verwechslung aus "Herde" entnehmen kann und damit die Veränderung des Bestandes "sicher" berechnen kann.
In der "Praxis" stelle ich mir das so vor, dass man am Tag der Ausstallung, oder halt bevor man dieses Datum erneuert, die Statistik ausgegeben bekommt für den beendeten Durchlauf der Herde. (Zukunftsmusik, aber so mein Gedanke)

Ja?
astern
Datenmodell-Missionar


Verfasst am:
26. Okt 2009, 12:45
Rufname: Andreas
Wohnort: Rastede


AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Zitat:
dass man am Tag der Ausstallung, oder halt bevor man dieses Datum erneuert, die Statistik ausgegeben bekommt für den beendeten Durchlauf der Herde.
Diese Statistik kann man jederzeit bekommen, weil die Daten ja alle vorliegen. Man muss nur entsprechend geschickt eine Abfrage formulieren.

Ich sage immer: "Wenn das Datenmodell stimmt, geht hinterher prinzipiell alles!"

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Okt 2009, 01:16
Rufname:

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Bernd512 am 26. Okt 2009 um 12:04 hat folgendes geschrieben:
Also behalten "wir" das Feld Einstalldatum in Herde und bei der Einstallung wird es mit eingebeben, sowie in zuabgang einen Zugang mit abzu_grund und abzu_datum.

Das Formular für "Eine neue Herde einstallen" beinhaltet dann:
herde_name
herde_einstalldatum
abzu_menge
abzu_farbe
abzu_datum
grund_bezeichnung (nur die für zugang im Kombifeld)?

Hier:
Eine Legeliste aus der freien Natur - so kann auch ich mal ein Beispiel liefern Razz



258_Legeliste_Gefluegel.pdf
 Beschreibung:

Download
 Dateiname:  258_Legeliste_Gefluegel.pdf
 Dateigröße:  57.38 KB
 Heruntergeladen:  39 mal

astern
Datenmodell-Missionar


Verfasst am:
27. Okt 2009, 18:46
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

So,
hier kommt eine neue Version mit einem Formular zur Verwaltung der Herden. Es fehlen noch zwei Sachen:
- Berechnung des aktuellen Bestandes
- Umstallung

Kommt in der nächsten Version!

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!



eier_v07.zip
 Beschreibung:
.mdb-Datei (2003er Version)

Download
 Dateiname:  eier_v07.zip
 Dateigröße:  37.46 KB
 Heruntergeladen:  26 mal

ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
27. Okt 2009, 20:21
Rufname:

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

was soll ich dazu schreiben... Embarassed
astern
Datenmodell-Missionar


Verfasst am:
27. Okt 2009, 21:57
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

So,
jetzt funktioniert der Rest auch!

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!



eier_v08.zip
 Beschreibung:
.mdb-Datei (2003er Version)

Download
 Dateiname:  eier_v08.zip
 Dateigröße:  47.55 KB
 Heruntergeladen:  27 mal

ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Okt 2009, 00:04
Rufname:

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003


Dann versuche ich ich mich jetzt an dem Legeformular.

Recht herzlichen Dank!
astern
Datenmodell-Missionar


Verfasst am:
28. Okt 2009, 00:09
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Na dann - viel Erfolg dabei!
Das Legeformular müsste ja dem von mir erstellten Formular sehr ähnlich sein - evtl sogar etwas einfacher, weil man nicht zwischen Zu- und Abgang unterscheiden muss. Die Eier kommen immer nur dazu.

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Okt 2009, 16:14
Rufname:

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Bernd512 am 27. Okt 2009 um 23:19 hat folgendes geschrieben:
astern - 27. Okt 2009, 23:09 hat folgendes geschrieben:
Die Eier kommen immer nur dazu.
So ist es Smile

Ich schaue mir den Code an...und versuche daraus zu lernen!

Beim erstellen des Formular zum eingeben der täglichen Eier, scheitere ich schon kläglich daran, dass wenn man im oberen Formularbereich eine der vier Herden auswählt, die Daten aktualisiert werden.

Würde mich das jemand freundlicherweise "eincoden" oder den Weg beschreiben?
Auch wenns es im Herden Formular was aStern bereits fertiggestellt hat eigentlich "ablesbar" ist, komme ich nicht dahinter wie man es wirklich anstellt.

Es geht um das Formular "Eier".

MfG



eier_v09.zip
 Beschreibung:

Download
 Dateiname:  eier_v09.zip
 Dateigröße:  45.48 KB
 Heruntergeladen:  19 mal

astern
Datenmodell-Missionar


Verfasst am:
29. Okt 2009, 16:37
Rufname: Andreas
Wohnort: Rastede

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Hallo!
Es fehlt die Prozedur Herdenliste_AfterUpdate, d.h. das, was passieren soll, wenn man in die Herdenliste clickt. Kannst Du einfach aus meinem Formular abkupfern!

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
derArb
getting better


Verfasst am:
29. Okt 2009, 16:50
Rufname: derArb
Wohnort: Berlin

AW: Legeliste für Hennenhaltung - AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

Hallo,

Me = aktuelles Formular
Recordset = Datensatzherkunft Deines Formulars (in Deinem Fall Tabelle 'herde')
FindFirst = Finde den ersten Datensatz in der Tabelle mit der folgenden Bedingung
...wo der Wert im Tabellenfeld 'herde_id' identisch ist
mit dem angeklickten Datensatz in der Formular Listenfeld 'Herdenliste'
dabei wird der Wert der gebundenen Spalte des Listenfelds ausgelesen
in Deinem Fall also die unsichtbare Spalte 'herde_id'
Die Nz Funktion fängt einen Klick auf ein leeres Feld ab.
Code:
Private Sub Herdenliste_AfterUpdate()
    Me.Recordset.FindFirst "herde_id=" & Nz(Me![Herdenliste], 0)
End Sub

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
ThinkNut
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Okt 2009, 18:16
Rufname:


Re: AW: Legeliste für Hennenhaltung - Re: AW: Legeliste für Hennenhaltung

Nach oben
       Version: Office 2003

astern - 29. Okt 2009, 15:37 hat folgendes geschrieben:
Kannst Du einfach aus meinem Formular abkupfern!
Das war mein Plan Confused

Der Button Speichern aus dem Herdenformular fängt so an:
Code:
    Dim sqltext As String
    Dim vonzuherde As Long
vonzuherde finde ich nicht wieder - wozu dient es dort?

Versuche den Speichern Button im Eier Formular hinzubekommen...

Könnte mir bitte einer mal für ganz Dumme erklären wozu in dem Code die Zeichen sind, also das was nicht "lesbar" ist:
Code:
    sqltext = "INSERT INTO legemenge (herde_id_f, " & _
             "leg_anzahl, leg_farbe, leg_datum, leg_bemerkung) VALUES (" & _
             Str(Parent!herde_id) & ", Null, " & _
             Str(legfanzahl) & ", '" & _
             cbx_legffarbe & "', " & _
             sqldatum(legfdatum) & ", '" & _
             legfbemerkung & "')"
'   MsgBox sqltext
    CurrentDb.Execute sqltext
das hinter der Zeile z.B.
Code:
    & ", '" & _



eier_v10.zip
 Beschreibung:

Download
 Dateiname:  eier_v10.zip
 Dateigröße:  51.15 KB
 Heruntergeladen:  13 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter
Diese Seite Freunden empfehlen

Seite 4 von 5
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps