El identificador de fila se refirió a una fila....
Publicado por Antonio Belando (93 intervenciones) el 01/09/2009 06:49:50
Hola a todos.
Si borro un registro de una DataGrid relacionada con un RecordSet a través de un Botón, me borra el registro y me actualiza la DataGrid sin error.
Sin embargo, si lo borro pulsando la tecla "SUPRIMIR" que la tengo asociada al Botón referido en el párrafo anterior para borrar, lo borra igualmente pero me sale el siguiente error:
Microsoft DataGrid Control
El identificador de fila se refirió a una fila eliminada o a una fila marcada para eliminar.
Todos los Allow... de la DataGrid (DGLinPed) están en False excepto el AllowArrows.
El código asociado al botón de borrar es:
'Borrar registro actual de Líneas de Pedidos
Private Sub cmdBorrar_Click()
If rsLinPed.RecordCount = 0 Then Exit Sub
x = MsgBox("¿Está seguro de querer borrar la línea seleccionada?", _
vbYesNo + vbCritical + vbDefaultButton2)
If x = "6" Then
With rsLinPed
.Delete
.Update
.Requery
If .EOF Then
.MoveLast
Else
.MoveNext
End If
End With
End If
Set DGLinPed.DataSource = rsLinPed
DGLinPed.Refresh
DGLinPed.SetFocus
End Sub
Y el código asociado a la tecla de "SUPRIMIR" es:
Private Sub DGLinPed_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo VerError
'Si se ha pulsado INTRO
If KeyCode = vbKeyReturn Then
cmdMod_Click
'Si se ha pulsado la tecla INSERT
ElseIf KeyCode = vbKeyInsert Then
cmdAñadir_Click
'Si se ha pulsado la tecla SUPRIMIR
ElseIf KeyCode = vbKeyDelete Then
cmdBorrar_Click
'Si se ha pulsado la ecla ESCAPE
ElseIf KeyCode = vbKeyEscape Then
cmdSalir.SetFocus
cmdSalir_Click
Else
DGLinPed.SetFocus
End If
Exit Sub
VerError:
MsgBox Err.Description
End Sub
Si borro un registro de una DataGrid relacionada con un RecordSet a través de un Botón, me borra el registro y me actualiza la DataGrid sin error.
Sin embargo, si lo borro pulsando la tecla "SUPRIMIR" que la tengo asociada al Botón referido en el párrafo anterior para borrar, lo borra igualmente pero me sale el siguiente error:
Microsoft DataGrid Control
El identificador de fila se refirió a una fila eliminada o a una fila marcada para eliminar.
Todos los Allow... de la DataGrid (DGLinPed) están en False excepto el AllowArrows.
El código asociado al botón de borrar es:
'Borrar registro actual de Líneas de Pedidos
Private Sub cmdBorrar_Click()
If rsLinPed.RecordCount = 0 Then Exit Sub
x = MsgBox("¿Está seguro de querer borrar la línea seleccionada?", _
vbYesNo + vbCritical + vbDefaultButton2)
If x = "6" Then
With rsLinPed
.Delete
.Update
.Requery
If .EOF Then
.MoveLast
Else
.MoveNext
End If
End With
End If
Set DGLinPed.DataSource = rsLinPed
DGLinPed.Refresh
DGLinPed.SetFocus
End Sub
Y el código asociado a la tecla de "SUPRIMIR" es:
Private Sub DGLinPed_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo VerError
'Si se ha pulsado INTRO
If KeyCode = vbKeyReturn Then
cmdMod_Click
'Si se ha pulsado la tecla INSERT
ElseIf KeyCode = vbKeyInsert Then
cmdAñadir_Click
'Si se ha pulsado la tecla SUPRIMIR
ElseIf KeyCode = vbKeyDelete Then
cmdBorrar_Click
'Si se ha pulsado la ecla ESCAPE
ElseIf KeyCode = vbKeyEscape Then
cmdSalir.SetFocus
cmdSalir_Click
Else
DGLinPed.SetFocus
End If
Exit Sub
VerError:
MsgBox Err.Description
End Sub
Valora esta pregunta


0