Hmm still can't get it to work. Maybe I should completely rewrite the code, but the problem is that I'm not experienced enough.
An other option for me is to do it in small steps so first step is to delete just one record. Could you help me with that?
WiseGuy
P.S. here's what I have now, it runs without errors but nothing is deleted:
VB Code:
If rs.RecordCount <> 0 Then If grdDatagrid.RowSel <= 0 Then gsFormParm = CMD_DELRCD & "|" & rs![OpdrachtId] frmProductieOpdrachten.Show Me.Enabled = False Else If GeneralDialog(DIATYPE_OPERATORQ, Me.Caption, _ "Weet u zeker dat u de geselecteerde productieorders wilt verwijderen?", "") = _ DIABUTTON_YES Then 'ReDim arrCurrentSelection(grdDatagrid.RowSel - 1) 'lNumberCurrentlySelected = grdDatagrid.RowSel 'For iCnt = 0 To grdDatagrid.RowSel - 1 ' arrCurrentSelection(iCnt) = grdDatagrid.RowSel 'Next iCnt ' definieer hoogste en de laagste selectie plus de selectiegrootte lBeginSelect = DEF_MAXNBR_PRODUCTIEORDERS + 1 lEindeSelect = 0 ' For iCnt = LBound(arrCurrentSelection) To UBound(arrCurrentSelection) ' rs.Bookmark = arrCurrentSelection(iCnt) ' If rs!OpdrachtId < lBeginSelect Then 'lager dan de vorige waarde? ' lBeginSelect = rs![OpdrachtId] ' End If ' If rs![OpdrachtId] > lEindeSelect Then ' hoger dan de vorige ' lEindeSelect = rs![OpdrachtId] ' End If 'Next iCnt 'OMM 6-10-2000; Gewijzigd om alleen de Orders te selecteren For lngLoop = 0 To lngMaxReturned - 1 rsSelect.Find "OpdrachtId=" & aryIDs(lngLoop) ' If CheckProductieOrderHasCharge(rsSelect![bonnummer]) Then ' rsSelect.Update ' rsSelect!IsVerwijderd = 1 ' rsSelect.Update ' Else rsSelect.Delete ' End If Next iSelectRegel = 1 ' New Id for the first Order ' Eerst renumber 'rsSelect.MoveFirst Do While Not rsSelect.EOF rsSelect.Update rsSelect![OpdrachtId] = iSelectRegel rsSelect.Update rsSelect.MoveNext iSelectRegel = iSelectRegel + 1 Loop rsSelect.Close 'rs.Update End If End If End If
B.T.W. here's another thing I don't understand:
' If rs!OpdrachtId < lBeginSelect Then
' lBeginSelect = rs![OpdrachtId]
' End If
' If rs![OpdrachtId] > lEindeSelect Then
' lEindeSelect = rs![OpdrachtId]
' End If
I can't figure out where lBeginSelect and lEindeSelect is filled. asside from:
lBeginSelect = DEF_MAXNBR_PRODUCTIEORDERS + 1
lEindeSelect = 0
I'm sorry if I'm such a pain in the ass and I want you to know that I appreciate it very much that you are trying to help me out!
WiseGuy




Reply With Quote