Oplossing:24-12-2003:
Als ik nu een record toevoeg in de recordset die aan de datacontrol gekoppeld is, gaat alles goed, maar wanneer ik bijvoorbeeld een record wil toevoegen met het hetzelfde artikel, dan krijg ik dus een fout, dat hij geen dubbele waarden kan toevoegen. Dit klopt ook door me database design, maar nu krijgen we het probleem 'Het opvangen van die fout'.
Class DbsFun
Zover gaat het goed, ik krijg netjes mijn eigengemaakte error te zien, echt hierna komt de grid ook weer met een error. En het lijkt wel of ik deze op geen enkele manier kan afvangen. Wat is een beetje een juiste errorhandling hiervoor?
Goed ik heb een forumulier met een datacontrol en een datagrid.Lister schreef op 23 december 2003 @ 19:40:
Ik heb zelf even lopen testen en het gaat inderdaad allemaal wel wat vaag en ik snap het nog niet helemaal maar als er een fout is opgetreden moet je geen CancelUpdate maar een CancelBatch doen.
Dat lijkt hier tenminste te werken.
Als ik nu een record toevoeg in de recordset die aan de datacontrol gekoppeld is, gaat alles goed, maar wanneer ik bijvoorbeeld een record wil toevoegen met het hetzelfde artikel, dan krijg ik dus een fout, dat hij geen dubbele waarden kan toevoegen. Dit klopt ook door me database design, maar nu krijgen we het probleem 'Het opvangen van die fout'.
Visual Basic:
1
2
3
4
5
6
7
| On Error Resume Next Ado_Data.Recordset.AddNew Ado_Data.Recordset("HoofdPlu") = Plu_Num Ado_Data.Recordset("ing_plu") = app_Plu Ado_Data.Recordset.Update If DbsFunc.CheckForErrors = True Then Exit Sub On Error GoTo 0 |
Class DbsFun
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Dim Ado_Err As ADODB.Error Dim str_Error As String If Con.Errors.Count > 0 Then For Each Ado_Err In Con.Errors str_Error = "Er zijn fouten opgetreden bij het benaderen van de database." & vbCr & vbCr str_Error = str_Error & Ado_Err.Number & ":" & Ado_Err.Description & vbCr str_Error = str_Error & "Native Error:" & Ado_Err.NativeError & vbCr str_Error = str_Error & "Source:" & Ado_Err.Source & vbCr str_Error = str_Error & "Sql State:" & Ado_Err.SQLState Next MsgBox str_Error, vbCritical CheckForErrors = True Else CheckForErrors = False End If |
Zover gaat het goed, ik krijg netjes mijn eigengemaakte error te zien, echt hierna komt de grid ook weer met een error. En het lijkt wel of ik deze op geen enkele manier kan afvangen. Wat is een beetje een juiste errorhandling hiervoor?
[ Voor 36% gewijzigd door Phenomenon op 24-12-2003 09:44 ]
