Beetje achtergrond informatie, k'heb een vb app die connect naar een mysql server in het netwerk via myodbc.
Nu had ik code om een nieuwe record toe te voegen werkt perfect, maar wanneer ik hem op een andere table gebruik werkt hij niet, de debugger geeft aan dat het probleem bij .AddNew zit
Error:
Op google gezocht en dan kwam ik op deze pagina uit maar tevergeefs enkele dingen geprobeerd oa de .Properties("Update Criteria") = adCriteriaKey.
Werkende code:
code die fout veroorzaakt:
de eigenschappen van de adocontrols zelf zijn gelijk buiten natuurlijk de verschillende sql statements.
Nu had ik code om een nieuwe record toe te voegen werkt perfect, maar wanneer ik hem op een andere table gebruik werkt hij niet, de debugger geeft aan dat het probleem bij .AddNew zit
Error:
code:
1
2
| -2147217864 Row cannot be located for updating. Some values may have been changed since it was last read. |
Op google gezocht en dan kwam ik op deze pagina uit maar tevergeefs enkele dingen geprobeerd oa de .Properties("Update Criteria") = adCriteriaKey.
Werkende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Private Sub cmdAdd_Click()
With adoDatGames.Recordset
.AddNew
!game = txtGameAdd(0).Text
!cdcount = Int(Val(txtGameAdd(1).Text))
!gkey = txtGameAdd(2).Text
!extra = txtGameAdd(3).Text
.Update
End With
MsgBox "The game " & txtGameAdd(0) & " has been successfully added to your database", vbInformation + vbOKOnly, "Game added"
txtGameAdd(0).Text = ""
txtGameAdd(1).Text = ""
txtGameAdd(2).Text = ""
txtGameAdd(3).Text = ""
adoDatGames.Refresh
End Sub |
code die fout veroorzaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Private Sub cmdMovAdd_click()
With adoDatMovies.Recordset
.AddNew
!movName = txtMovAdd(0).Text
!movCdcount = Int(Val(txtMovAdd(1).Text))
.Update
End With
'adoDatMovies.RecordSource = "INSERT INTO movies(movName, movCdcount) VALUES('" & txtMovAdd(0).Text & "'," & Int(Val(txtMovAdd(1).Text)) & ")"
'adoDatMovies.Refresh
'adoDatMovies.RecordSource = qryMovies
'adoDatMovies.Refresh
MsgBox "The movie " & txtMovAdd(0) & " has been successfully added to your database", vbInformation + vbOKOnly, "Movie/ added"
txtMovAdd(0).Text = ""
txtMovAdd(1).Text = ""
adoDatMovies.Refresh
End Sub |
de eigenschappen van de adocontrols zelf zijn gelijk buiten natuurlijk de verschillende sql statements.
If it ain't broken it doesn't have enough features