PDA

Vollständige Version anzeigen : Formular mit Unterformularen: Neuer Datensatz


Lia
22.03.2006, 10:47
Hallo alle zusammen.

Ich bin zwar kein Access-Anfänger, habe aber ein Anfänger-Problem. Vorher habe ich das Befüllen der Formulare und das Speichern über Recordsets gelöst. Damit hatte ich auch nie Probleme, denn damit lässt sich alles machen.

Nun habe ich die Aufgabe eine Datenbank zu erstellen, die Verwaltung und Weiterentwicklung soll aber jemand anders übernehmen. Es ist jemand, der nicht über die nötigen Kenntnisse verfügt, mit Recordsets umzugehen. Also habe ich mir gedacht, das ganze mit gebundenen Formularen zu machen. Und da ich das gar nicht kann, habe ich da große Probleme.

Da die DB etwas komplexer ist, nenne ich hier nur ein paar Tabellen, um die Situation zu schildern (Grafik im Anhang).

Wie kann ich es realisieren, alle Tabellen in einem Formular unterzubringen? Dazu muss ich sagen, dass das Anzeigen nicht das Problem darstellt, sondern die NEUANLAGE. Ich habe es so probiert, dass das Formular mit "tbl_auftrag" verbunden war und die Unterformulare mit den anderen Tabellen.

Mein Problem besteht darin, in die Tabelle "tbl_auftrag" die FK-Werte zu schreiben. Ich habe ein Schließen-Button. Darauf habe ich die Zuweisungen gelegt, aber es funktioniert nicht so ganz. Mal funktioniert es, mal nicht. Und wenn es nicht funktioniert, dann sprigen alle Unterformulare auf den neuen Datensatz. Davon steht aber nichts im Code.

Danke.

Anne Berg
22.03.2006, 12:20
Ich sehe da eigentlich nicht den Sinn im Einsatz von Unterformularen, zumindest nicht aus Sicht der Aufträge. Die Zuordnung der Kunden-ID und der Produkte könntest du mit Kombifeldern lösen.

Im Formularkopf könntest du ein Kombifeld zur Auswahl des Auftrags einsetzen. Dann im Detailbereich die Daten anzeigen. Gibt es immer nur ein Produkt pro Auftrag? Sonst müsstest du den Tabellenentwurf evtl. noch einmal überdenken...

Lia
22.03.2006, 12:35
Das Beispiel ist - wie gesagt - sehr komplex, darum habe ich auch nur Beispieldaten genommen. Aber hast Recht, ich habe vergessen zu erwähnen, dass der Kunde nur ein Produkt haben kann (Produkt ist also eine Tabelle, die nicht existiert, aber mit der es verständlicher ist. Hätte ich richtige Tabellen genommen, hätte ich zuerst einen Roman als Erklärung schreiben müssen).

Danke für die Tipps, aber das schwierige daran ist, dass die Daten eingegeben werden. Die Kunden und - in diesem Fall - die Produkte sind nicht vorhanden. Darum müssen alle Tabellen gefüllt werden. Und zuerst die einzelnen Tabellen füllen zu lassen und dann in einem Formular auswählen zu lassen, wäre für die User unzumutbar. Darum habe ich versucht, das Ganze in einem Formular mit Unterformularen unterzubringen.

Dabei vertehe ich auch nicht, warum die Methode, die ich anwende mal funktioniert und mal nicht. Wenn es falsch ist, dürfte es doch gar nicht funktionieren. Das verwirrt mich doch sehr.

Anne Berg
22.03.2006, 12:56
Um sagen zu können, was warum bei dir nicht funktioniert reichen deine Informationen natürlich nicht aus. ;)
Aber ich bin immer noch nicht davon überzeugt, dass es klug ist, ein Formular für alle Zwecke einzusetzen. Das Erfassen und Pflegen der Kundendaten und der Produkte sollte schon separat erfolgen.
Dazu könnte ich mir vorstellen, bei Erfassung der Aufträge die Neueingabe von Kunden und Produkten zuzulassen und die jeweiligen Pflegeformulare (evtl. als PopUp) zur Eingabe zu öffnen.

Lia
22.03.2006, 13:50
Ich habe das Problem gefunden. Ich habe die einzelnen Schlüssel innerhalb des Formulars miteinander verknüpft, also bei den Eigenschaften/Verknüpfen von bzw. Verknüpfen nach. Das hab ich jetzt entfernt und nun funktioniert es.

Ich sehe es genauso wie du Anne, aber es ist eine kleinere Datenbank, in die pro Jahr vielleicht 20 Aufträge eingetragen werden. Außerdem ist es eine Umstellung von Excel auf Access ( :entsetzt: ) und da will man natürlich nicht, dass die neue Lösung anders aufgebaut ist. Dann kommt ja niemand mehr damit klar.

Vielen Dank Anne für deine Hilfe