Also ich beschreibe mal den Aufbau meiner Datenbank
Ich habe eine Tabelle Rechnungen mit den Feldern (Rechnungsnummer (PK),Rechnungsdatum und Kunde)
Eine Tabelle Rechnungsdetails (ID(PK), Datum, Baustelle, PositionIDRef, Anzahl)
Und eine Tabelle Positionen (ID(PK), Bezeichnung, Einheit, Preis, Gültig bis)
So stelle ich mir die Funktion vor.(die eigentlich in der Formularansicht auch funktioniert).
Der Anwender erstellt eine neue Rechnung und gibt Kundenname und Rechnungsdatum an. Rechnungsnummer wird automatisch vergeben.
Dannach kann der Anwender im Unterformular die einzelnen Positionen eingeben. Das heißt er gibt Datum und Baustelle an, und wählt die Position die zu verrechnen ist aus einer Kombibox aus. Dannach wird der Preis/Stk und die Einheit automatisch in das Formular eingetragen.
Somit braucht der Nutzer nur mehr die Anzahl eingeben und der Gesamtpreis wird berechnet.
Dies habe ich über eine Abfrage gelöst, indem ich alle Felder die ich im Unterformular benötige in eine Abfrage zusammengefasst habe.
Wie gesagt, in der Formularansicht funktioniert alles.
Wenn ich jetzt einen Bericht (Rechnung) erstelle, bekomme ich zum Beispiel für Rechnung Nr 1 die gesamten Positionen angezeigt. Auch diese die unter Rechnung Nr 2 gespeichert sind usw.
Nur zur Verständlichkeit. Es handelt sich um ein Transportunternehmen welches sowohl nach Stunden, als auch nach Tonnen oder m³ verrechnet. Deshalb habe ich eine dritte Tabelle (Positionen) erstellt um den Anwender die Schreibarbeit zu ersparen. Ich habe somit auch nur eine Maske in der alle Rechnungen geschrieben werden können, somit kann ich auch alte Rechnungen die benötigt werden über eine einzige Maske wieder aufrufen.
Wenn jemand weiß was ich falsch mache, bzw. einen besseren Vorschlag für den gesamten Aufbau der Datenbank hat wäre ich demjenigen sehr dankbar.
LG Andreas