Hallo zusammen,
bin neu hier und brauche eure Hilfe.
Ich möchte gerne eine Datenbank im access erstellen.
Habe eine Tabelle mit 6 kundennummer angelegt.
Jeden Tag kommen zu jede Kundennummer diverse Leute zum Essen und ich möchte die Eingabe mittels ein Formular tätigen.
Z.b
Datum12.09
Kundennummer 1 = 6 mittagessen
Kundennummer 2 = 2 mittagessen
usw..
Ich habe ein Formular erstellt, aber ich kann nur eine Kundennummer eingeben.
Wenn ich das Feld Kundennummer doppelt im Formular hinzufüge und als Standardwert die einzelnen Kundennummer eintrage, wird bei der erste Eingabe der hinterlegte Standardwert überschrieben.
Lässt sich das darstellen wie ich es möchte?
Hallo und willkommen im Forum.
Wen Du eine DB erstellen willst, solltest Du zunächst einmal festlegen, was die DB überhaupt machen , bzw. für was sie eingesetzt werden soll.
Dabei ist zu überlegen, welche Daten gebraucht werden und welche dieser Daten schon vorhanden sind. Die (essentielle) Normalisierung der Daten und das Setzen der Beziehungen wäre der nächste Schritt (siehe u. st. Links 1, 1a und 1b).
Erst wenn diese Daten (Tabellen-) Konstellation logisch korrekt ist und die reale Situation widerspiegelt , kann man an die Erstellung der Formulare herangehen, die letztendlich nur die Visualisierung (und damit einhergehend die Manipulation) der Daten darstellt.
Du brauchst für die geschilderte Minimal-Aufgabe mindestens diese Tabellen:
tblKunden
KundID (Autowert)
Kund_Nachname (Text)
Kund_Vorname (Text)
Kund_Adresse (Text, evtl weiter aufgedröselt in Kund_Ort,_Kund_Strasse, Kund_PLZ, etc.)
tblKundenSpeisen
KundSpID (Autowert)
KundSp_KundID (Long) Fremdschlüssel zu tblKunden
KundSp_SPID (Long) Fremdschlüssel zu tblSpeiseArten
KundSp_Datum (DatumIUhrzeit)
KundSp_Anz (Long)
KundSp_Notiz (Langer Text) ' falls erforderlich
tblSpeiseArten
SpID (Autowert)
Sp_Art (Text)
Beziehungen:
tblKunden ---1:n--- tblKundenSpeisen ---n:1---tblSpeiseArten
Ein Formular frmKundenspeisen mit Datenherkunft zu tblKundenspeisen. Die Fremdschlüsselfelder werden als Kombifelder (zur Auswahl des Kunden, bzw. der Speiseart für den aktuellen Datensatz ausgeführt mit jeweils Datensatzherkunft zu tblKunden und zu tblSpeisearten respektive.
Weiter Formulere zu tblKunden und tblSpeisearten, um diese Daten einzugeben und zu pflegen.
Andere Sichtweise:
Hauptformular für tblKunden. Darin ein Unterformular(-Steuerelement) für frm_KundenSpeisen als Endlosform, das über die Schlüsselfelder (KundId, KundSP_KundID) verknüpft.
Hallo Franz,
vielen Dank für deine Rückmeldung.
Ich habe bereits zwei Tabelle erstellt.
Tabelle Kunde
Kundenummer
Name 1
Name 2
Straße
PLZ
Ort
Telefonnummer
E-Mail
Tabelle Mittag
Datum
Kundennummer
Anzahl Mittagessen
Nun wie bekomme ich das hin, die Eingabe für dass Mittagsessen über das Formular einzugeben?
Ich möchte nicht jeden Tag das Datum, Kundennummer eingeben um die Eingabe zu tätigen
Möchte gerne via Formular
Nur das Datum eingeben und die Kundennummer sollten vorgelegt sein, damit ich nur die Anzahl der mittagsessen eingeben kann.
Vielen Dank im Voraus für deine Antwort
Hallo,
zunächst:
Vermeide dringend(!!) Leer- und Sonderzeichen bei der Benamsung (Blank, Minus-Zeichen).
Vermeide dringend (!!) reservierte Wörter (Datum)
Sorge dafür, dass "Kunde.Kundenummer" ein Autowert, bzw. ein Long-Wert mit eindeutigem Index ist.
Sorge dafür, dass "Mittag.Kundenummer" ein Long-Wert ist.
Erstelle eine 1:n-Beziehung zwischen "Kunde.Kundenummer" und "Mittag.Kundenummer"
Erstelle ein Einzel-Formular für Tabelle Kunde ("frmKunde")
Erstelle ein Endlosform für Tabelle Mittag ("frmMittag")
(Datentypen sind unbedingt in einer DB zu definieren).
Füge das frmMittag als UFO-Steuerelement in frmKunde ein.
Verknüpfe das UFO-Steuerelement über die Schlüsselfelder "Kundennummer" .
Damit werden alle Essen des aktuell angezeigten Kunden aufgelistet.
Das entspricht meinen zweiten Vorschlag von vorher.
ZitatNur das Datum eingeben und die Kundennummer sollten vorgelegt sein.
ist nicht zielführend... Welcher der Kunden soll denn standardmäßig verwendet werden?
Wähle also mit der vorgeschlagenen Formularkonstruktion einen bestimmten Kunden und trage das Datum und die Anzahl der MittagEssen in einen neuen Datensatz ein (hier könnte das aktuelle Datum vorbelegt sein).
Hallo,
es ist eine Kantine und es kommen verschiedenen Mitarbeiter zum Essen. Die Mitarbeiter sind auf 6 Kunde aufgeteilt.
Ich muss jeden Tag die Anzahl der Mittagsessen pro Kunde eingeben.
Aktuell mache ich alles via Excel will aber zu Access wechseln.
Es kommen jeden Tag alle Kundennummer vor.
Hallo,
ja, und?
Wo gibt es jetzt ein Problem? Hast Du alle Vorgaben umgesetzt?
btw: Access ist nicht gleich Excel.. Verabschiede Dich von Excel-Denken und ließ Dich in die Grundlagen von Access und relationalen Datenbanksystemen ein.
Hallo,
Deine Angaben sind schwer zu verstehen.
Zitat... die Anzahl der Mittagsessen pro Kunde eingeben.
Das kann doch pro Kunde nur ein Essen sein, oder ist
ein Kunde mal 2 Mittagessen ?
Sind das jeden Tag immer 6 Kunden ?
Lade hier mal die Exceltabelle hoch, mit einigen wenigen (anonymen) Daten.
Hallo zusammen,
ja, es kommen täglich zu jeder Kundennummer mehrere Leute essen.
Ich habe 3 Bilder im Anhang eingefügt mit der Ist Zustand und Soll
Ich hoffe jetzt könnt Ihr mich besser verstehen :-)
Excel : ist Zustand
Access 1 : habe ich hinbekommen, pro Kunde eine Tabelle erstellt
Access 2 : sollte sein, bekomme ich leider nicht hin.
Danke im Vorasu
Hallo,
das ist alles ziemlich verworren und unverständlich.
Was sind das für Zahlen in der Exceltabelle ?
Und bitte auch meine Fargen beantworten:
ZitatSind das jeden Tag immer 6 Kunden ?
Hallo Klaus,
ja das sind immer 6 Kunden.
Anbei die Erläuterung zur excel Zahlen.
In der blau Zeile sind die Kunden,
darunter ist jeden Tag die Besucher bzw.anzahl Mittagsessen pro Kundennummer.
z.b am 01.04 waren 35 Leute von der Kundennummer 3 essen und 10 von der Kundennummer 153 usw.
Hallo,
langer Rede kurzer Sinn: mach es einfach so, wie hier vorgestellt:
https://www.access-o-mania.de/forum/index.php?topic=24322.msg142978#msg142978
Damit kannst Du den Zustand (aber zunächst nicht die "Darstellung") entspr. der Excel-Liste darstellen.
Über "Bequemlichkeit" (bei der Eingabe) unterhalten wir uns später.
btw: Das Feld "Name 2" in "Kunden" wird ersatzlos gestrichen. Dabei ist die Benamsung (zusätzlichzu den "dringenden" Maßnahmen) noch stark verbesserungwürdig.
Hallo Franz,
das habe ich erledigt. Wie kann ich nun die Eingabe tätigen wie ich mir wünsche.
In der Tabelle Kunde mit UFO-Mittag sehe ich alle Mittagsessen pro Kunde.
Vielen Dank im Voraus für dein Hilfe
Max
Hallo,
wie wünscht Du denn die Eingabe mit dieser DB?
Lad die mal hoch, repariert/komprimiert und gezippt.
Hallo Frank,
anbei die Tabelle in Zip.
Das Formular sollte am liebsten wie folgt aussehen :
Datum :
und alles 6 Kundenummer in einem Formular ersichtlich sein, sodass ich nur die Anzahl der Mittagsessen eintragen kann
Danke dir für deine Lösung und Hilfe
Hallo,
Vorschlag anbei...
Hallo Franz,
vielen Dank für dein Vorschlag.
Lässt sich das nicht darstellen, dass die Kundennummer täglich ( Mo-Fr ) erscheinen und ich nur die Anzahl der Mittagsessen eintrage ?
Danke
Hallo,
das lässt sich programmieren, obwohl ich befürchte, dass dies zu unflexibel wird. Programmieren heißt, beim Starten der DB dafür sorgen, dass für den aktuellen Tag und für jeden Kunden ein Datensatz in tbl_Mittagsessen erzeugt wird, sofern es einen solchen noch nicht gibt.
Hallo Franz,
vielen Dank das passt so.
Sollte ich noch Fragen diesbezüglich haben, würde ich mich melden.
Danke
Hallo Franz,
ich schon wieder, kann mann das Listenfeld ( Kundennummer_f) weg lassen und nur das Feld Kundennummer beibehalten.
Danke für dein Hilfe
Hallo,
nein, das Feld kannst Du nicht weglassen, es ist ja ein Kombifeld und dient der Auswahl eines Kunden.
Hallo,
kann das ausgeblendet werden ?
Ich möchte nur die Kd-Nr eingeben
Hallo,
dann setz bei beiden Kombis die 1.Spaltenbreite von 0cm auf 1cm....
und pass evtl. die Listenbreite an