Supportnet / Forum / Datenbanken
Access Formulare
Frage
Moin,
ich hab da so ein Formular für ein Kunden- Mitarbeiter- und Produktmanagmentsystem. Und für die Bestellungsanahme hab ich folgendes Unterformular:
[url]http://www.rock-metal-zone.de/access.gif [/url]
Die Auswahl aus dem Kombinationsfeld funzt, aber wie krieg ich das hin das Beschreibung und Preis auch automatisch aktualisiert werden, passend zum Produkt natürlich. Ich hab eine Datenbank wo das funktioniert, aber ich hab keine Kennung wie die das hingekriegt haben. Es hat soweit ich das erkennen kann nix mit VB und/oder Makros zu tun.
Link zur Beispieldatenbank: [url]http://www.hep-verlag.ch/mat/access/download/access_2000.zip [/url]
Antwort 1 von oliverV
Hallo Flix,
in der Beispieldatenbank ist das gelöst, indem in der Datenherkunft des Formulars die weiteren Felder aus der tblBuch mit aufgenommen wurden.
In der tblBestelldetail wird lediglich die BuchIDFS gespeichert (was auch ausreichend ist), die übrigen Formularfelder werden nur angezeigt.
Also wie gesagt, der Schlüssel liegt in der Datenherkunft des Formulars.
Welche Felder (außer der ID als gebundene Spalte) im Kombifeld angezeigt werden ist egal.
Ich könnte auch noch eine andere "reine" Access-Lösung anbieten, sowie eine VBA-Lösung.
Gruß
Oliver
in der Beispieldatenbank ist das gelöst, indem in der Datenherkunft des Formulars die weiteren Felder aus der tblBuch mit aufgenommen wurden.
In der tblBestelldetail wird lediglich die BuchIDFS gespeichert (was auch ausreichend ist), die übrigen Formularfelder werden nur angezeigt.
Also wie gesagt, der Schlüssel liegt in der Datenherkunft des Formulars.
Welche Felder (außer der ID als gebundene Spalte) im Kombifeld angezeigt werden ist egal.
Ich könnte auch noch eine andere "reine" Access-Lösung anbieten, sowie eine VBA-Lösung.
Gruß
Oliver
Antwort 2 von Flix
Naja, das war mir schon klar, ich hab die Datenherkunft auch so abgeschrieben ;-) Was mir fehle, war der zusammengesetzte Fremdschlüssel aud der tblBestelldetail. Aber trotzdem funktioniert es nicht. Wenn ich ein Produkt auswähle, versucht er eine neue ProduktID zu vergeben, für diese ID gibt es aber weder Beschreibung noch Preis.
HILFE ich kann die Deadline schon fühlen. ;-)
HILFE ich kann die Deadline schon fühlen. ;-)
Antwort 3 von oliverV
Kannst du deine bisherige DB-Version hochladen, dann schau ich´s mir mal an.
Bisher hast du ja nur die Vorlage-DB in drei Varianten hochgeladen.
Gruß + schönes WE
Oliver
Bisher hast du ja nur die Vorlage-DB in drei Varianten hochgeladen.
Gruß + schönes WE
Oliver
Antwort 4 von Flix
Okay, hier!
www.rock-metal-zone.de/fimosa.zip
da is ´n bissel Kuddelmuddel bei den Formularen, hab nich aufgeräumt damit es nach arbeit aussieht, so wie mein Schreibtisch ;-)
www.rock-metal-zone.de/fimosa.zip
da is ´n bissel Kuddelmuddel bei den Formularen, hab nich aufgeräumt damit es nach arbeit aussieht, so wie mein Schreibtisch ;-)
Antwort 5 von oliverV
Hi Flix,
ich habe mal kurz reingeschaut, das Problem nachdem du gefragt hast, kannst du wie folgt lösen.
Ändere in der Abfrage Auftragsdetail beim Feld ProduktID die Tabelle, hier musst du die Tabelle "Auftragsdetail" und nicht die Tabelle "Produkte" verwenden.
Du willst ja in den Auftragsdetails einen neuen Datensatz erstellen und nicht in den Produkten (der Effekt den du in AW 2 beschrieben hast).
Analog in der Datenherkunft des Formulars "Auftragsdetail1".
In der Datenherkunft des Formulars "Auftragsdetail" verwendest du sowohl Auftragsdetail.ProduktID wie auch Produkte.ProduktID (gleicher Effekt).
Soviel zum eigentlichen Problem.
Richtig testen konnte ich es nicht, da ich deine teilweise sehr "gewagten" Verknüpfungen nicht ganz nachvollziehen kann, in der Form wird du meiner Ansicht nach auch in der Zukunft auf diverse unnötige Probleme stoßen.
Der doppelte Primärschlüssel in der Tabelle "Auftragsdetail" über BestellID und ProduktID empfinde ich als sehr skurril, als Ausgleich verzichtetst du aber auf einen AutoWert.
Das Auftragsformular bestehend aus 2 Unterformularen, dies ist auch sehr ungewöhnlich.
Mein Datenmodell sähe folgendermaßen aus:
Tabelle Produkte und Aufträge wie gehabt.
Tabelle Auftragsdetail:
Auftragsdetailnummer (Primärschlüssel Autowert)
Bestellnummer (Felddatentyp Zahl)
Produktnummer (Felddatentyp Zahl)
Menge, usw.
Bestellnummer und Produktnummer haben keinen Primärschlüssel, es sind lediglich die Fremdschlüssel aus der beiden anderen Tabellen.
Das Auftragsformular würde in meiner Lösung aus einem Auftrags-Hauptformular (basierend auf der Tabelle Aufträge) und einem Auftragsdetail-Unterformular (basierend auf der Tabelle Auftragsdetails) bestehen.
HF/UF verknüpft über Auftragsnummer/Bestellnummer.
Schau mal ob du mit den Infos weiterkommst.
Gruß
Oliver
ich habe mal kurz reingeschaut, das Problem nachdem du gefragt hast, kannst du wie folgt lösen.
Ändere in der Abfrage Auftragsdetail beim Feld ProduktID die Tabelle, hier musst du die Tabelle "Auftragsdetail" und nicht die Tabelle "Produkte" verwenden.
Du willst ja in den Auftragsdetails einen neuen Datensatz erstellen und nicht in den Produkten (der Effekt den du in AW 2 beschrieben hast).
Analog in der Datenherkunft des Formulars "Auftragsdetail1".
In der Datenherkunft des Formulars "Auftragsdetail" verwendest du sowohl Auftragsdetail.ProduktID wie auch Produkte.ProduktID (gleicher Effekt).
Soviel zum eigentlichen Problem.
Richtig testen konnte ich es nicht, da ich deine teilweise sehr "gewagten" Verknüpfungen nicht ganz nachvollziehen kann, in der Form wird du meiner Ansicht nach auch in der Zukunft auf diverse unnötige Probleme stoßen.
Der doppelte Primärschlüssel in der Tabelle "Auftragsdetail" über BestellID und ProduktID empfinde ich als sehr skurril, als Ausgleich verzichtetst du aber auf einen AutoWert.
Das Auftragsformular bestehend aus 2 Unterformularen, dies ist auch sehr ungewöhnlich.
Mein Datenmodell sähe folgendermaßen aus:
Tabelle Produkte und Aufträge wie gehabt.
Tabelle Auftragsdetail:
Auftragsdetailnummer (Primärschlüssel Autowert)
Bestellnummer (Felddatentyp Zahl)
Produktnummer (Felddatentyp Zahl)
Menge, usw.
Bestellnummer und Produktnummer haben keinen Primärschlüssel, es sind lediglich die Fremdschlüssel aus der beiden anderen Tabellen.
Das Auftragsformular würde in meiner Lösung aus einem Auftrags-Hauptformular (basierend auf der Tabelle Aufträge) und einem Auftragsdetail-Unterformular (basierend auf der Tabelle Auftragsdetails) bestehen.
HF/UF verknüpft über Auftragsnummer/Bestellnummer.
Schau mal ob du mit den Infos weiterkommst.
Gruß
Oliver

