Kombifeld im Menü
Hallo an alle und ein gesundes Neues Jahr!
Hab da mal ein Problem mit einer Menüleiste. Habe im letzten Jahr über Code in einer Menüleiste ein Kombi-Feld angelegt, in dem beim Aufklicken die Jahreszahlen von 2005 bis 2015 angezeigt werden. Hier kann dann das Jahr gewählt werden, für das im Formular irgendwelche Daten angezeigt werden.
Soweit funktioniert auch alles! Nun habe ich aber festgestellt, das nach dem Jahreswechsel beim Öffnen der Datenbank immer das Jahr 2009 angezeigt wird und ich dann erst von Hand 2010 wählen muss. Ist mir voriges Jahr nicht als Fehler aufgefallen, denn da war es ja OK. Meine Frage nun, wie kann ich diesem Feld beim Öffnen der Datenbank das aktuelle Jahr zuweisen?
Vielen Dank schon mal für eure Tipps
Gruß spaceman
Antwort schreiben
Antwort 1 von Marie vom 03.01.2022, 02:18 Options
Na das kann Dir jetzt vermutlich niemand beantworten. Da müsstest Du schon den Code mal hier reinposten. Eventuell SQL von der Datensatzherkunft.
Gruß Marie
Antwort 2 von spaceman vom 03.01.2022, 09:43 Options
Hallo Marie,
hier der komplette Code mit dem ich die Menüleiste mit dem Kombifeld angelegt habe.
Wie gesagt es funktioniert alles, nur das beim Öffnen der Datenbank immer das Jahr 2009 angezeigt wird.
----- Code --------
Option Compare Database
Option Explicit
Private cbBar As CommandBar
----------------------------------------------------------------------------
Public Function Anlegen()
'Nur zum Anlegen des Kombifeldes in der Menüleiste !!!
Set cbBar = CommandBars.Add("barTemp", msoBarTop, False, False)
cbBar.Visible = True
Call CreateCommandCboYears(2000, 2019)
End Function
-----------------------------------------------------------------------------
Public Function CreateCommandCboYears(intStartYear As Integer, intEndYear As Integer, _
Optional bolTemporary As Boolean = True)
'Kombinations-Steuerelement mit den Jahren 2000 bis 2019 (wurden Übergeben) anlegen
Dim cbControl As CommandBarControl
Dim cbCombo As CommandBarComboBox
Dim i As Integer
'ComboBox hinzufügen
Set cbCombo = cbBar.Controls.Add(msoControlComboBox)
'Inhalt und Eigenschaften des Steuerelementes
With cbCombo
'Jahre einfügen
For i = intStartYear To intEndYear
.AddItem i
Next i
'Index festlegen
.ListIndex = 0
'Beschriftung und Beschreibung
.Caption = "Jahr wechseln: "
.DescriptionText = "Jahr wechseln"
'Ereignis beim Draufklicken
.OnAction = "=ChangeCommandCboYear()"
'Marke
.Tag = "cboYear"
'Steuerelement-Stil
.Style = msoComboLabel
'angezeigte Zeilen
.DropDownLines = 20
End With
End Function
---- Ende Code ----------------------------------------------
Wie kann ich beim Öffnen der Datenbank in das Kombifeld das aktuelle Jahr zuweisen?
Wie gesagt, der obrige Code wird ja nur einmal zum Erstellen der Menüleiste ausgeführt, dann nie wieder!
Mit freundlichen Gruß
spaceman
Antwort 3 von spaceman vom 06.01.2022, 08:52 Options
Hallo noch mal,
hat doch keiner eine Idee?
Hab noch mal einiges probiert, aber außer Fehlermeldungen und dem Überschreiben vorhandener Werte im Kombifeld ist mir nichts neues gelungen.
Na gut wenn es eben nicht geht, dann kommt das Kombifeld eben auf das Formular. Da kann man dann das Jahr beim Öffnen einfacher zuweisen.
Gruß
spaceman
Antwort 4 von RaHi vom 06.01.2022, 20:02 Options
Hallo spaceman,
bei den Menüs hat sich von Access-Version zu Access-Version oft viel geändert. Dieses Verfahren kenne ich von Access 97 oder 2000. In Access 2003 funktioniert das nicht mehr (oder überzeuge mich vom Gegenteil). Mit welcher Version arbeitest du?
Gruß
Ralf
Antwort 5 von spaceman vom 10.01.2022, 09:29 Options
Hallo Ralf,
ich arbeite mit Access 2000. Wäre ja toll wenn du mir weiterhelfen könntest.
Gruß
spaceman