Das Vormonatsdatum selektieren

Hallo,

ich habe folgendes Problem:

In einem Formular habe ich 2 Kombinationsfelder für die Auswahl des Datums für den aktuellen Monat und den Vormonat.
Die Datensatzherkunft sind jeweils 2 SQL Abfragen, die ín den Tabellen enthaltene Datumswerte auslesen.

Nun möchte ich, dass bei der Auswahl des aktuellen Monats gleich der Vormonat ausgewählt wird. Dazu habe ich folgenden code:

Private Sub 1Monat_AfterUpdate()

Dim L_BMonat As String
Dim R_BMonat As Integer
L_BMonat = Left$(BMonat.Value, 6)
R_BMonat = Right$(BMonat.Value, 4)

Select Case L_BMonat

Case „01.01.“
L_BMonat = „01.12“
R_BMonat = R_BMonat - 1
VMonat.Value = L_1Monat & „.“ & R_1Monat

Case „01.02.“
L_BMonat = „01.01“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.03.“
L_BMonat = „01.02“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.04.“
L_BMonat = „01.03“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.05.“
L_BMonat = „01.04“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.06.“
L_BMonat = „01.05“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.07.“
L_BMonat = „01.06“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.08.“
L_BMonat = „01.07“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.09.“
L_BMonat = „01.08“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.10.“
L_BMonat = „01.09“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.11.“
L_BMonat = „01.10“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat
Case „01.12.“
L_BMonat = „01.11“
R_BMonat = R_BMonat
VMonat.Value = L_BMonat & „.“ & R_BMonat

End Select

End Sub

Das Problem ist, dass es nicht jeden Monat in den Tabellen gibt.
z.B. fügt er bei der Auswahl des aktuellen Monats 01.05.2006, 01.04.2006 in den Vormonat ein, obwohl es dieses Datum in den Tabellen (SQL Abfrage) gar nicht gibt.

Wie kann ich dem nur dann den Vormonat selektieren, wenn es diesen auch wirklich gibt?

Danke im Voraus

Hallo dimon813,

ich habe folgendes Problem:

und ich habe folgendes Problem: über welches Programm reden wir?
Access kann es ja nicht sein, dann hättest du zwei Bretter höher im Access-Brett gepostet und nicht hier!?

Nun möchte ich, dass bei der Auswahl des aktuellen Monats
gleich der Vormonat ausgewählt wird.

Je nach Programmiersprache gibt es diverse fertige Functionen:
day()
month()
Year()
usw.

Dadurch kann man folgenden Code erzeugen:

Private Sub 1Monat_AfterUpdate()

Dim Alter_Monat As Integer
Dim Neuer_Monat As Integer

Alter_Monat = month(Bmonat)
Neuer_Monat = iif(alter_monat=1,13,alter_monat)-1

Neues_Datum = „01.“ & str(neuer_monat) & „.“ & str(year(Bmonat))

end sub

Noch einfacher geht es z.B. mit der Funktion DATEADD. Aber da du nicht geschrieben hast, womit du programmierst, ist die Hilfe leider eingeschränkt.

Das Problem ist, dass es nicht jeden Monat in den Tabellen
gibt.
z.B. fügt er bei der Auswahl des aktuellen Monats 01.05.2006,
01.04.2006 in den Vormonat ein, obwohl es dieses Datum in den
Tabellen (SQL Abfrage) gar nicht gibt.

Wie kann ich dem nur dann den Vormonat selektieren, wenn es
diesen auch wirklich gibt?

in dem du vorher eine Abfrage aller möglichen Datumswerte der Tabelle anlegst.

Grüße aus Essen
Wolfgang