Waarom gaat het volgende bij mij mis:
Ik heb een listbox, de items uit deze listbox komen uit een access-mdb bestand.
Als ik nu meerdere items verwijder uit de listbox, verwijdert het programma ze NIET ALTIJD UIT DE DATABASE.
Het irritante is dat het ook nog per keer verschilt, de ene keer selecteer ik 30 records en verwijdert 'ie er 20, de andere keer verwijdert 'ie er maar 10.
Waar kan dat aan liggen?
Als ik via debugger (F8) meerdere items verwijder, doet 'ie het trouwens wel goed?
Kan MS Access misschien niet zoveel queries aan??
Dit is de code:
Ik heb een listbox, de items uit deze listbox komen uit een access-mdb bestand.
Als ik nu meerdere items verwijder uit de listbox, verwijdert het programma ze NIET ALTIJD UIT DE DATABASE.
Het irritante is dat het ook nog per keer verschilt, de ene keer selecteer ik 30 records en verwijdert 'ie er 20, de andere keer verwijdert 'ie er maar 10.
Waar kan dat aan liggen?
Als ik via debugger (F8) meerdere items verwijder, doet 'ie het trouwens wel goed?
Kan MS Access misschien niet zoveel queries aan??
Dit is de code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| Private Sub Command1_Click() 'delete record If List1.SelCount = 0 Then MsgBox "U heeft niets geselecteerd!", vbCritical, "Fout!" Else If MsgBox(List1.SelCount & " record(s) verwijderen?", vbYesNo + vbInformation, "Verwijderen?") = vbYes Then Screen.MousePointer = vbHourglass Dim db As Database Set db = OpenDatabase(App.Path & "\database.mdb") Dim i As Integer For i = List1.ListCount - 1 To 0 Step -1 If List1.Selected(i) Then db.Execute _ "DELETE FROM Telefoonlijst WHERE Telefoonlijst.Id=" & List1.ItemData(List1.ListIndex) List1.RemoveItem i DoEvents 'Heb ik er later bijgezet om zeker te zijn dat programma kans krijgt de delete-query te voltooien End If Next i db.Close Set db = Nothing Screen.MousePointer = vbDefault End If End If End Sub |
[ Voor 7% gewijzigd door DPLuS op 14-05-2004 18:03 ]