collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 68
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14135
  • stats Beiträge insgesamt: 68396
  • stats Themen insgesamt: 9212
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Wert aus ungeb. Textfeld an Kombifeld übergeben und auswählen per VBA  (Gelesen 446 mal)

Offline AvalonStealth

  • Newbie
  • Beiträge: 34
Hallo,
ich möchte folgendes realisieren.
In einem Formular wird per Kombinationsfeld ein Datensatz ausgewählt. Einfach, funktioniert.
Nun soll diese Auswahl auch auf einem Touch-Display möglich sein. Da die Bediener alle dicke Finger haben, soll die Eingabe der Datensatznummer über ein On-Screen Touchpad erfolgen. Das Touchpad hat ein ungebundenes Textfeld, in dem die eingegebene Nummer angezeigt wird, und soll diese Nummer nach Klick auf ein OK Feld an das Formular mit dem Kombifeld übergeben.
Auch dies funktioniert korrekt, dass Kombifeld wird aufgeklappt, der Wert übergeben und auch im Kombifeld angezeigt und auch hervorgehoben (dunkel hinterlegt). Alles gut!
Nun kommt mein Problem! Habe schon alles mögliche probiert.
Wie bringe ich nun das Kombifeld dazu, diesen Wert auch zu übernehmen? Dass heisst, zu diesem Datensatz zu springen?
Ein simples SendKeys {Enter} funktioniert nicht. Zahl bleibt im Kombifeld stehen, aber es wird nicht zum Datensatz gesprungen.
Hier mal mein bisheriger Code aus dem Touchpad:

Private Sub Befehl59_Click()
Forms!frmLoescherWerkstatt.SetFocus
Forms!frmLoescherWerkstatt!Kombinationsfeld2.SetFocus
Forms!frmLoescherWerkstatt!Kombinationsfeld2.Dropdown
Forms!frmLoescherWerkstatt!Kombinationsfeld2.Value = Me.Textfeld
    With Forms("frmLoescherWerkstatt")
        .Controls("Kombinationsfeld2").SetFocus
        SendKeys "{Enter}"
    End With
DoCmd.Close acForm, "frmNumPad", acSaveYes
End Sub

Es gibt keine Fehlermeldung, doch der Eintrag im Kombinationsfeld wird nicht angesprungen.
Klickt man jedoch mit der Maus auf den hervorgehobenen Datensatz, funktioniert es.
Wie realisiere ich diesen notwendigen "Mausklick" per VBA?
Powered by AvalonStealth
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23515
Hallo,

statt dem Sendkeys-Gemurkse:



Kombinationsfeld2_Click
falls die Klick-Ereignisprozedur die Filterung durchführt.


PS: sehe gerade, dass es sich um ein anderes Form handelt, das nicht den Code ausführt.

Dann:  Das Ereignis Kombinationsfeld2_Click   als Public Sub deklarieren und mit

Forms!frmLoescherWerkstatt.Kombinationsfeld2_Click

aufrufen.

Offline AvalonStealth

  • Newbie
  • Beiträge: 34
Danke,
leider bleibt das Ergebnis gleich. Das Kombifeld funktioniert, Datensatz wird ausgewählt, doch im dazugehörigen Formular wird der Datensatz nicht aufgerufen.
Powered by AvalonStealth
 

Offline Joss

  • Access-User
  • *
  • Beiträge: 80
Hallo AvalonStealth,

In einem Formular wird per Kombinationsfeld ein Datensatz ausgewählt.
wie sieht der Code dazu aus?
Ist das ein Filtervorgang?

Gruß
Josef
Meine Suchmaschine: www.fireball.de | Access-Wiki: www.dbwiki.de
 
Folgende Mitglieder bedankten sich: AvalonStealth

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Hallo,
Versuche es mal so (Luftcode)
Private Sub Befehl59_Click()
    Dim frm As Access.Form
    Dim rst As DAO.Recordset

    Set frm = Forms!frmLoescherWerkstatt

    With frm
        .SetFocus
'----diesen Teil halte ich für überflüssig----------
        !Kombinationsfeld2.SetFocus
        !Kombinationsfeld2.Dropdown
        !Kombinationsfeld2.Value = Me.Textfeld
        .Controls("Kombinationsfeld2").SetFocus
'-----------------------------------------------------
        Set rst = .RecordsetClone
        rst.FindFirst "NameTabellenfeld = " & Me.Textfeld
        frm.Bookmark = rst.Bookmark

'oder als Filter
'.Filter = "NameTabellenfeld = " & Me.Textfeld
'.FilterOn = True

    End With

    DoCmd.Close acForm, "frmNumPad"  ', acSaveYes -> unnötig, da keine Entwurfsänderung vorliegt

rst.Close
Set rst = Nothing
Set frm = Nothing

End Sub

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: AvalonStealth

Offline AvalonStealth

  • Newbie
  • Beiträge: 34
Hallo Beaker s.a.,
dein Ansatz ist korrekt, im nachhinein ganz logisch Und funktioniert!!!

Die Datenfilterung per Kombifeld funktioniert ganz normal per:

Private Sub Kombinationsfeld2_AfterUpdate()
Me.Recordset.FindFirst "feuID = " & Me.Kombinationsfeld2.Column(0)
Me.Kombinationsfeld2 = Null
End Sub
Funktioniert tadellos.

Den Datensatz per NumPad nun auch. Aktueller Code auf der NumPad Taste "OK":

Private Sub Befehl59_Click()
Dim frm As Access.Form
    Dim rst As DAO.Recordset

    Set frm = Forms!frmLoescherWerkstatt

    With frm
        .SetFocus
        Set rst = .RecordsetClone
        rst.FindFirst "feuID = " & Me.Textfeld
        frm.Bookmark = rst.Bookmark

    End With

    DoCmd.Close acForm, "frmNumPad" 

rst.Close
Set rst = Nothing
Set frm = Nothing

End Sub

Formular springt nun korrekt die richtige Datensatz ID an!

Vielen Dank für die kompetente Hilfe an alle Teilnehmer!!!!
« Letzte Änderung: Mai 21, 2018, 19:48:14 von AvalonStealth »
Powered by AvalonStealth
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Hallo,
Freut mich, dass es funzt.
Kurze Anmerkung
Me.Kombinationsfeld2.Column(0).Column(0) ist das Gleiche wie .Value, kannst du dir also sparen,
da .Value die Standardeigenschaft ist.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

 

VBA-Code funktioiniert bei einem Wert, bei einem anderen nicht

Begonnen von OPSBoard Access Programmierung

Antworten: 7
Aufrufe: 7947
Letzter Beitrag Mai 19, 2010, 17:29:09
von OPS
Gebunde Spalte - Wert ist Weg

Begonnen von ACCOBoard Formular

Antworten: 1
Aufrufe: 2236
Letzter Beitrag Juni 10, 2010, 09:10:38
von DF6GL
Filter Wert überprüfen

Begonnen von pepperbreathBoard Access Programmierung

Antworten: 3
Aufrufe: 2831
Letzter Beitrag Juni 15, 2010, 15:23:44
von pepperbreath
Dropdownlisteneintrag mit Tabelle verknüpfen und Wert speichern für Vergleich

Begonnen von ohnePlanBoard Microsoft Excel

Antworten: 2
Aufrufe: 2404
Letzter Beitrag August 16, 2010, 13:14:16
von ohnePlan
Nach Eingabe von 2 Variablen automatsich den passenden Wert anzeigen

Begonnen von harvey186Board Formular

Antworten: 10
Aufrufe: 5598
Letzter Beitrag August 27, 2010, 16:50:39
von MzKlMu