August 11, 2022, 03:37:43

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Neues Wert aus dem Kombinationsfeld in die Tabelle hinzufügen

Begonnen von zorlayan, Juni 12, 2022, 18:15:52

⏪ vorheriges - nächstes ⏩

zorlayan

Juni 12, 2022, 18:15:52 Letzte Bearbeitung: Juni 12, 2022, 18:34:24 von MzKlMu
Hallo zusammen,

habe eine Tabelle (Land) und besteht aus folgenden Felder:
LandID (AutoWert)
LandName (Text)

Ich habe ein Formular (Kunden) in dem das Land über einen Kombifeld (LandAuswahl) ausgewählt werden kann ggf. in die Tabelle hinzufügen wenn das Wert nicht im Kombi-Auswahl vorhanden ist.
Dafür habe ich folgendes Code aus dem Internet gefunden und modifiziert aber funktioniert nicht ohne ich das Wert noch mal eingegeben habe.

Code sieht so aus:
Private Sub LandAuswahl_NotInList(NewData As String, Response As Integer)
'On Error GoTo Error_Handler
    Dim intAnswer As Integer
    intAnswer = MsgBox("""" & NewData & """ ist nicht in der Landliste. " & vbCrLf & "Willst du hinzufügen?", vbYesNo + vbQuestion, "Unbekannte Kategorie")
    Select Case intAnswer
        Case vbYes
            DoCmd.SetWarnings False
            DoCmd.RunSQL "INSERT INTO Land (LandName) VALUES ( " & NewData & ")"
            DoCmd.SetWarnings True
            Response = acDataErrAdded
        Case vbNo
            MsgBox "Please select an item from the list.", _
                vbExclamation + vbOKOnly, "Invalid Entry"
            Response = acDataErrContinue
    End Select

wo ist der Fehler, habe nicht finden können. :(

DF6GL

Hallo,



besser so (Errorhandler selber einbauen!):


ZitatPrivate Sub LandAuswahl_NotInList(NewData As String, Response As Integer)

    Dim lngAnswer As Long  ' !!
    lngAnswer = MsgBox("""" & NewData & """ ist nicht in der Landliste. " & vbCrLf & "Willst du hinzufügen?", vbYesNo + vbQuestion, "Unbekanntes Land")  'konkret sein!
   
    Select Case lngAnswer
        Case vbYes
            Currentdb.Execute "INSERT INTO Land (LandName) VALUES ( "' & NewData & "')", dbFailOnError   ' "LandName" ist Text, deshalb mit Hochkommata umschliessen.
            Response = acDataErrAdded
       
        Case vbNo
            MsgBox "Please select an item from the list.", _
                vbExclamation + vbOKOnly, "Invalid Entry"
            Response = acDataErrContinue
    End Select
End Sub

zorlayan

Juni 13, 2022, 11:28:39 #2 Letzte Bearbeitung: Juni 13, 2022, 11:50:31 von zorlayan
Hallo,

vielen Dank für den Lösungsvorschlag  und Verbesserungen.
Hochkommata habe ich total vergessen.

Funktioniert jetzt. :)

Danke & 'LG'
Zorlayan