Formular wahlweise aus versch. Tabellen füllen

Liebe Wissende,

ich habe ein kleines Problem:

ich will in einer Datenbank sowohl Bestellungen erfassen (werden über die Jahre einfach durchnummeriert) als auch Rechnungen(diese werden von der Buchhaltung jedoch jedes Jahr von neuem von 1 an hochlaufend nummeriert, das ist leider sinnvoll und nicht abänderbar). Später werden immer einer Bestellung eine Rechnung zugeordnet.

Ich dachte, ich löse das so, dass ich mehrere Rechnungstabellen mache, z.B. Rechnungen 2010, Rechnungen 2011 usw. Diese hätten dann eine Spalte [Jahr] und eine Spalte [Autowert], so dass sich im gesamten eine Rechnungsnummer"2010-531" formulieren lässt.

Jetzt habe ich die Idee, dass ich einen Button [Rechnungen 2010] baue, mittels dem ein Formular aufgerufen wird, das sich auf die Tabelle [Rechnungen 2010]bezieht. Mit einem anderen Button wird dasselbe Formular aufgerufen, jedoch aus der Tabelle [Rechnungen 2011] gespeist. So könnte der Buchhalter im Januar immer überlegen, ob er eine Rechnung ins neue oder ins alte Jahr nimmt. Und ich habe nur ein Formular (und nur eine Sorte Makros etc.)…

Es geht (leider) noch weiter:

Dann habe ich zwecks Recherchen die Idee, eine Tabelle [Rechnungen gesamt] zu bauen, die regelmäßig z.B. per Anfügeabfrage oder Tabellenerstellungsanfrage sämtliche Rechnungen übertragen werden. Das bekomme ich grundsätzlich schon hin, denke ich. Ich muß jedoch den Autowert (die laufende Nummerierung] in eine Zahl überführen, damit 2010-581 und 2011-581 in der Tabelle stehen können…

kann mir hierbei jemand helfen? Tausend Dank!

Mit freundlichen Grüßen,

fshbb

Hallo,

ich habe ein kleines Problem:

das wird es nicht bleiben, wenn Du so weitermachst…

ich will in einer Datenbank sowohl Bestellungen erfassen
(werden über die Jahre einfach durchnummeriert) als auch
Rechnungen(diese werden von der Buchhaltung jedoch jedes Jahr
von neuem von 1 an hochlaufend nummeriert, das ist leider
sinnvoll und nicht abänderbar). Später werden immer einer
Bestellung eine Rechnung zugeordnet.

Ich dachte, ich löse das so, dass ich mehrere
Rechnungstabellen mache, z.B. Rechnungen 2010, Rechnungen 2011
usw. Diese hätten dann eine Spalte [Jahr] und eine Spalte
[Autowert], so dass sich im gesamten eine
Rechnungsnummer"2010-531" formulieren lässt.

Nein, das wäre falsch, Mach nur EINE Tabelle, in der die Rechnungen zu stehen kommen, die RechnungsNr wird erst beim Erstellen jeweils entspr. den Vorgaben errechnet.

Jetzt habe ich die Idee, dass ich einen Button [Rechnungen
2010] baue, mittels dem ein Formular aufgerufen wird, das sich
auf die Tabelle [Rechnungen 2010]bezieht. Mit einem anderen
Button wird dasselbe Formular aufgerufen, jedoch aus der
Tabelle [Rechnungen 2011] gespeist. So könnte der Buchhalter
im Januar immer überlegen, ob er eine Rechnung ins neue oder
ins alte Jahr nimmt. Und ich habe nur ein Formular (und nur
eine Sorte Makros etc.)…

Im Prinzip wäre das schon möglich.

Es geht (leider) noch weiter:
Dann habe ich zwecks Recherchen die Idee, eine Tabelle
[Rechnungen gesamt] zu bauen, die regelmäßig z.B. per
Anfügeabfrage oder Tabellenerstellungsanfrage sämtliche
Rechnungen übertragen werden. Das bekomme ich grundsätzlich
schon hin, denke ich. Ich muß jedoch den Autowert (die
laufende Nummerierung] in eine Zahl überführen, damit 2010-581
und 2011-581 in der Tabelle stehen können…

Auch das ist möglich. Zum Autowert: Du brauchst lediglich die laufenden Nummer (Wozu hast Du die überhaupt?) nicht zu überführen.

kann mir hierbei jemand helfen? Tausend Dank!

Hilfe: wie oben gesagt: benutz nur EINE Rechnungstabelle.

Murks: Aufruf eines Rechnungsformulares mit Angabe unterschiedlicher Tabellen:

In einem „Aufrufformular“ (darin ein Kombifeld „cmbJahre“, das als einzige Spalte die Jahreszahlen der vorhanden Tabelle anzeigt):

Sub cmbJahre_AfterUpdate()
Docmd.Openform „frmRechnung“,nz(Me!cmbKombi,Year(date))
End Sub

Im Formular „frmRechnung“:

Sub Form_Open(Cancel as Integer)
If not IsNull(Me.Openargs) then
Me.Recordsource=„tblRechnungen“ & Me.Openargs
Else
Me.Recordsource=„tblRechnungen“ & Year(Date)
End If
End Sub

Dabei müssen die Tabellennamen so lauten:
tblRechnungen2009
tblRechnungen2010

oder halt o. st. Code entspr. anpassen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Danke,

der Anstoß mit der einen Tabelle war richtig. Ich hatte mich in das Problem mit der laufenden Nummerierung festgebissen und wollte diese über den Autowert lösen. Ich habe jetzt die neue Nummernvergabe in einer Tabelle über eine Programmierung gelöst und bin glücklich:wink:

MfG,

fshbb