dr.cornwallis
Goto Top

Access 2010 Insert Into bei Fehler Msgbox

Liebe Gemeinde,

ich bräuchte (wieder mal) euren Rat:

ich möchte bei einer INSERT INTO Anweisung eine Fehlermeldung einbauen, falls der Datensatz nicht eingefügt wird, wie kann ich das am Besten realisieren?

Private Sub Umschaltfläche12_Click()
DoCmd.SetWarnings False
If Me!pnr1.Value <> "" Then  
    CurrentDb.Execute "INSERT INTO tbl_main (PNr1, Datum_, Grund, Betrifft, PNr2, Anzahl_Std) VALUES (" & Me.pnr1 & ",'" & Me.date1 & "','" & Me.txtmain & "','" & Me.txtsub & "'," & Me.pnr2 & ",'" & Me.anzahl_std & "')", dbFailOnError  
    
    Else
    MsgBox "Bitte Personalnummer eingeben", vbCritical, "Hinweis"  
End If
DoCmd.SetWarnings True

End Sub

Wird kein Datensatz eingefügt(aus was für einen Grund auch immer), dann soll eine Msgbox aufpoppen, mit dem Hinweis das der Datensatz nicht gespeichert werden konnte..

So hätte ich es schon probiert, funktioniert aber leider nicht so wie ich das möchte, die Msgbox wird angezeigt, der Datensatz wird aber trotzdem eingefügt.:
Private Sub Umschaltfläche12_Click()
On Error GoTo Err_handler
DoCmd.SetWarnings False
If Me!pnr1.Value <> "" Then  
    CurrentDb.Execute "INSERT INTO tbl_main (PNr1, Datum_, Grund, Betrifft, PNr2, Anzahl_Std) VALUES (" & Me.pnr1 & ",'" & Me.date1 & "','" & Me.txtmain & "','" & Me.txtsub & "'," & Me.pnr2 & ",'" & Me.anzahl_std & "')", dbFailOnError  
    
    Else
    MsgBox "Bitte Personalnummer eingeben", vbCritical, "Hinweis"  
End If
DoCmd.SetWarnings True
Err_handler:
MsgBox "Datensatz konnte nicht gespeichert werden", vbCritical, "Hinweis"  
End Sub


Danke für eure Hilfe!

Gruß

Dr.

Content-ID: 339264

Url: https://administrator.de/contentid/339264

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

Kraemer
Lösung Kraemer 30.05.2017 um 09:23:00 Uhr
Goto Top
Moin,

ich bin schon ein wenig eingerostet aber ein
exit sub
vor deinem
Err_handler:
sollte das gewünschte Ergebnis erzielen.

Gruß
Dr.Cornwallis
Dr.Cornwallis 30.05.2017 um 09:31:44 Uhr
Goto Top
moin,

sieht gut aus, werde noch einen Fehler provozieren, denke aber dass es jetzt klappt.

Vielen Dank!

Gruß

Dr.