PDA

Vollständige Version anzeigen : Speditionsdatenbankproblem: Rechnungsnummern


Stupsnase
29.04.2001, 11:18
Hallo! Ich bins schon wieder!

Ich habe ein Programm in dem es eine Versender-Tabelle gibt, die über die Versender-Nr. mit der
Empfänger-Tabelle verknüpft ist. Diese wiederum ist über die Empfänger-Nr mit der Lieferungen-Tabelle
verknüpft. Ich habe nun eine Abfrage nach Versender, Empfänger und Lieferungen erstellt, in der nach
Lieferungsdatum ein Zeitraum (z.B. ein ganzer Monat) abgefragt wird. Aufgrund dieser Abfrage habe ich einen
Bericht Rechnung erstellt, in dem jeder Versender mit seinen Empfängern mit seinen jeweiligen Lieferungen
aufgelistet wird und die Einzelpreise addiert werden, so daß ich dem Versender, "für den ich Spedition fahre",eine Rechnung stellen kann. Jetzt müßte aber auf jeder Rechnung eine neue Rechnungsnummer stehen, wenn ich den Bericht drucke. Versender-Nr, Empfänger-Nr und Lieferungs-Nr kann ich nicht verwenden, da bei der Lieferungs-Nr und Empfänger-Nr immer wieder die gleiche Rechnungsnummer erscheinen würde. Bei der Lieferungs-Nr wird immer nur die Lieferungs-Nr des obersten Datensatzes angezeigt, so daß im nächsten Monat die Rechnungsnummer nicht fortlaufend wäre.
Ich habe mir schon gedacht, daß ich irgendwie in die Abfrage ein Feld einfüge, daß beim Öffnen des Berichts einen neuen Autowert generiert, aber das klappt so nicht.
Kann mir jemand helfen und das möglichst ohne VBA oder SQL, denn davon habe ich überhaupt keine Ahnung.

Ich bin langsam am verzweifeln an diesem Problem.

Gruß Stupsnase

Ikke
29.04.2001, 13:51
Hallo Stupsnase,
ich geb's zu ich bin ein VBA-Fetischist... Ich halte VBA aber auch für die meisten Aufgaben einfach für am Besten.
Zu Deinem Problem erst einmal ein paar rechtliche Anmerkungen: Also die Rechnungsnummern müssen fortlaufend sein. Damit ist gemeint, daß Du die Rechnung (Rg) 1 und die Rg 10 nicht am 01.01. schreiben kannst und die Rg. 2 am 05.01.
Das wäre alles nicht so wichtig, wenn das Finanzamt nicht ab und zu mal zu einer Kontrolle kommen würde. Man muß halt immer damit rechnen, daß der Prüfer was finden will und wenn er sonst nichts findet, dann kann er einem immer noch hieraus einen Strick drehen und das muß ja nicht sein, oder?
Ich würde beigehen und eine Tabelle anlegen mit dem Name "Stammdaten" darin ein Feld mit dem Namen "Rg".
Die Rg-Nr trägst Du dann wie folgt ein:
(Beim Ereignis "Beim Klicken" des Buttons mit dem Du die Rechnung drucken lässt)

If IsNull(Forms("Formularname")("RgNr")) Then
Set aktuelleDB = CurrentDB
Set DAT = aktuelleDB.OpenRecordset("Stammdaten", dbOpenDynaset)
DAT.MoveFirst
Forms("Formularname")("RgNr") = DAT!Rg
Forms("Formularname")("RgDatum") = Now()
DAT.Edit
DAT!Rg = DAT!Rg + 1
DAT.Update
End If
DAT.Close
'Jetzt den Rechnungsbericht aufrufen

Wie Du siehst wird die Rg-Nr nur vergeben, wenn noch keine Nummer für diese Rechnung vergeben worden ist und die Rg-Nr wird automatisch um eins hoch gesetzt.

Ich hoffe, daß Du was mit dieser Lösung anfangen kannst