Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Monate im Listenfeld mit berechnetem Defaultwert

Begonnen von hajott, Juli 20, 2023, 18:53:44

⏪ vorheriges - nächstes ⏩

hajott

Hallo Wissende,

ich verzweifle an folgendem Problem: Ich habe ein Listenfeld (lstMonat), in dem als feste Einträge die Monate eines Jahres ausgeschrieben stehen sollen, also "Januar" / "Februar" und so weiter. Der Defaultwert soll berechnet sein (das ist immer vom aktuellen Tag der übernächste Monat, soll also momentan September sein)

Konkret übernehme ich gerade eine vorhandene Programmierung aus Excel, was aber scheinbar nicht vergleichbar ist. Mit AddItem etc. komme ich nicht weiter. Ich bekomme einen Fehler, dass das als Werteliste definiert sein muss, diesen Punkt habe ich aber ausgewählt.

Ich habe in meinem VBA-Code leider noch gar nichts - weder das Anlegen der Monate noch das Setzen des Standards. Selbst beim Auslesen des vom Anwender gewählten Wertes scheitere ich.

Ich habe auch geschafft, die Werteliste im Formularentwurf zu hinterlegen und auch einen Standard reinzuschreiben. Da weiß ich aber gar nicht, wo das System das speichert und ich den Standard hinterlegen könnte.

Vielen Dank für jede Hilfe!

Hans-Jürgen

MzKlMu

#1
Hallo,
vergiss die Werteliste, das ist völlig ungeeignet. Oder wie willst zum Juli 2 addieren ?
Du brauchst eine Tabelle mit den 12 Monaten, eine Spalte für die Monatszahl und eine Spalte für den Monatstext.
Das Listenfeld wird dann an diese Tabelle gebunden. Die erste Spalte (die Zahl) wird mit Spaltenbreite 0cm ausgeblendet.

Das Formular erhält dann eine kleine Prozedur:
Private Sub Form_Current()
    If Me.NewRecord = True Then
       Me.lstMonat = Month(DateSerial(Year(Date), Month(Date) + 2, 1))
    End If
End Sub
Das funktioniert auch mit Jahreswechsel.


Gruß Klaus

hajott

Zitat von: MzKlMu am Juli 20, 2023, 19:45:13Oder wie willst zum Juli 2 addieren ?

schon klar - das war Teil des Problems, ich brauchte einen Index. Ich war wohl zu sehr mit der Excel-Variante verfangen, da ging das nämlich. Klasse Tipp, vielen Dank für die schnelle Hilfe!

Hans-Jürgen