Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: accessy am Januar 26, 2015, 20:34:40

Titel: Combobox öffnet automatisch
Beitrag von: accessy am Januar 26, 2015, 20:34:40
Ich habe den Code

KombiName.SetFocus
KombiName.DropDown

in allen möglichen Ereignissen mal eingebaut.
Nichts zu machen. Die Combo öffnet nur bei Klick auf den Pfeil.

Gibt es noch andere Möglichkeiten, oder mache ich was falsch,
um bei ENTER die Combo automatisch zu öffnen, ohne immer erst auf den Pfeil klicken zu müssen?
Titel: Re: Combobox öffnet automatisch
Beitrag von: MaggieMay am Januar 26, 2015, 22:53:02
Hi,
das geeignete Ereignis wäre "Beim Hingehen" und es sollte ein "Me.kombifeld.DropDown" genügen.
Titel: Re: Combobox öffnet automatisch
Beitrag von: accessy am Januar 27, 2015, 07:04:08
Habe ich alles durch.
Also alle Ereignisse, die es gibt.
Bei keiner einzigen klappt die Combo auf.
Vielleicht liegt es an der Version 2003.
Titel: Re: Combobox öffnet automatisch
Beitrag von: DF6GL am Januar 27, 2015, 09:31:22
Hallo,

nein, es liegt an Dir...

mit einer richtig(!)  angelegten Ereignisprozedur (Ereignis "beim Hingehen") funktioniert das in jeder Access-Version:


Sub Kombi1_Enter()
Me!Kombi1.Dropdown
End Sub
Titel: Re: Combobox öffnet automatisch
Beitrag von: MaggieMay am Januar 27, 2015, 11:20:22
Hi,

im Ereignis "Beim Hingehen" braucht logischerweise der Fokus nicht mehr gesetzt zu werden, weil er schon da bzw. dahin unterwegs ist. Das wäre also schonmal überflüssig.

Und achte darauf, dass die Ereigniseigenschaft auf "Ereignisprozedur" steht, sonst nützt der ganze Code nichts, weil er nicht angestoßen wird.
Titel: Re: Combobox öffnet automatisch
Beitrag von: accessy am Januar 27, 2015, 13:35:24
Okay, ich habe den Fehler gefunden. Es liegt am Ereignis GotFocus.
Deaktiviere ich die Verbreiterung der ComBo, klappt sie auch auf.
Jetzt habe ich das DropDown ins Ereignis GotFocus hinten drangestellt.
Jetzt funktioniert es.

Danke für die vielen Hinweise dazu.


Private Sub Kunde_Partner_Enter()
  Me.Kunde_Partner = Null
  Me.FilterOn = False
  Me.Filter = ""
End Sub

Private Sub Kunde_Partner_GotFocus()
  Me.Kunde_Partner.Width = 8000
  Me.Kunde_Partner.Dropdown
End Sub

Private Sub Kunde_Partner_LostFocus()
  Me.Kunde_Partner.Width = 1000
  Me.Kunde_Partner.Requery
End Sub