1.8k Aufrufe
Gefragt in Datenbanken von
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

5 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
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
0 Punkte
Beantwortet von
Hallo Ralf,

ich arbeite mit Access 2000. Wäre ja toll wenn du mir weiterhelfen könntest.

Gruß
spaceman
...