none
Frage zu Access RRS feed

  • Frage

  • Guten Tag

    Ich habe in meiner Datenbank ein kleines Problem, welches ich nicht lösen kann. Ich habe ein Kombinationsfeld, welches als Dropdown-Menü für Daten, welche zu einer Person gehören, dient. Wenn ein Datensatz im Dropdown nicht vorhanden ist, sollen die Personen, welche mit der Datenbank arbeiten, diesen direkt hinzufügen können mittels NotInList-Funktion. Dies funktioniert alles mit dem nachstehenden Code:

    Private Sub cboFirmaID_NotInList(NewData As String, Response As Integer)
    If Msgbox("Möchten Sie wirklich eine neue Firma hinzufügen?", vbYesNo) = vbYes Then
    
    Response = acDataErrAdded
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("T_Firma", dbOpenDynaset)
    
    rs.AddNew
    rs!F_Name = NewData
    rs.Update
    
    rs.Close: Set rs = Nothing
    Set db = Nothing
    
    Else
        Response = acDataErrContinue
        Me!cboFirmaID.Undo
    End If
    End Sub

    Nun ist es leider so, dass wenn ich die Frage gemäss MsgBox mit nein beantworte, zwar der alte Datensatz wiederhergestellt wird, das Dropdown aber geöffnet bleibt und so auch andere Einträge angezeigt werden, was ich nicht möchte. Ich möchte, dass bei einem "Nein" nur der alte Datensatz innerhalb vom Dropdown angezeigt wird, ohne dass das Dropdown geöffnet wird/ist.

    Kann mir jemand dazu einen Tipp geben?

    Vielen Dank und Herzliche Grüsse

    Mike

    Mittwoch, 6. Dezember 2017 10:00

Alle Antworten

  • Am 06.12.2017 schrieb CHMikeCH:

    Private Sub cboFirmaID_NotInList(NewData As String, Response As Integer)
    If Msgbox("Möchten Sie wirklich eine neue Firma hinzufügen?", vbYesNo) = vbYes
    Then
    
    Response = acDataErrAdded
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("T_Firma", dbOpenDynaset)
    
    rs.AddNew
    rs!F_Name = NewData
    rs.Update
    
    rs.Close: Set rs = Nothing
    Set db = Nothing
    
    Else
            Response = acDataErrContinue
            Me!cboFirmaID.Undo
    End If
    End Sub


    Nun ist es leider so, dass wenn ich die Frage gemäss MsgBox mit nein beantworte, zwar der alte Datensatz wiederhergestellt wird, das Dropdown aber geöffnet bleibt und so auch andere Einträge angezeigt werden, was ich nicht möchte. Ich möchte, dass bei einem "Nein" nur der alte Datensatz innerhalb vom Dropdown angezeigt wird, ohne dass das Dropdown geöffnet wird/ist.

    Schick mit SendKeys noch ein ESC nach. Am besten im Else-Zweig nach
    dem .Undo.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Donnerstag, 7. Dezember 2017 06:04