Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: diogenes59 am März 13, 2013, 11:37:45

Titel: Microsoft Access kann Focus nicht auf Steuerelement verschieben
Beitrag von: diogenes59 am März 13, 2013, 11:37:45
Hallo zusammen,
habe folgendes Problem:
Ich habe eine [Ereignisprozedur] für eine ComboBox geschrieben, die bei Änderung ausgelöst wird (Siehe Code unten).
Ich erhalte immer den Laufzeitfehler '2110': Der Fokus kann von Microsoft Access nicht auf das Steuerelement txt.einzelpreis verschoben werden.

Kommentiere ich die betreffende Zeile aus, bekomme ich den Fehler, dass ich nur auf Steuerelemente zugreifen kann, die den Focus haben.

Wie komme ich aus dieser Zwickmühle, was muss ich an meinem Code verändern?

Vielen Dank für Eure Hilfe  :D

Private Sub cmbWare_Change()
    Dim db As Database
    Dim rs As Recordset
    Dim WarenNr As Integer
    Dim EP As Currency
   
    Set db = CurrentDb
   
    WarenNr = cmbWare.Value
    Set rs = db.OpenRecordset("SELECT * FROM Preis, Ware WHERE WaNr=Wa_Nr AND Wa_Nr=" & WarenNr)
    If rs.EOF = False Then
        EP = rs![Pr_Betrag]
    Else
        EP = 0
    End If
    txt_einzelpreis.SetFocus
    txt_einzelpreis.Text = EP
End Sub
Titel: Re: Microsoft Access kann Focus nicht auf Steuerelement verschieben
Beitrag von: Wurliwurm am März 13, 2013, 12:32:25
Solange die Prozedur cmbWare_Change durchlaufen wird, ist cmbWare noch im Focus.

Lösungsvorschlag:
Die Anweisung
txt_einzelpreis.Value = EP
erfordert keinen Fokus auf txt_einzelpreis.




Titel: Re: Microsoft Access kann Focus nicht auf Steuerelement verschieben
Beitrag von: diogenes59 am März 13, 2013, 13:18:23
Vielen Dank für die Hilfe, jetzt funktioniert es!  :D