Error al intentar actualizar o borrar registro en VB 6

Hola,
De antemano agradezco tu colaboración.
Tengo una app que accede a una bd en Access 97, y me presenta el siguiente problema:
Cuando intento actualizar o borrar un registro(fila) que veo en un DataGrid
El código que uso para borrar es el siguiente
Private Sub cmdEliminar_Click()
    If Adodc2.Recordset.RecordCount > 0 Then 'EN EL ADO2 TENGO LA CONSULTA UQE MUESTRO EN EL GRID
        nroIdReg = 0
        If MsgBox("¿Está Seguro que Desea Borrar el Registro Seleccionado?", vbYesNo) = vbYes Then
            nroIdReg = Adodc2.Recordset(0)
            Adodc3.RecordSource = "select * from ServiciosPrestados where Id = " + CStr(nroIdReg) 'HAGO LA BUSQUEDA DEL REGISTRO ESPECÍFICO QUE DESEO BORRAR
            Adodc3.Refresh
            If Adodc3.Recordset.RecordCount > 0 Then
                 Adodc3.Recordset.Delete
            End If
            Adodc3.Recordset.Update
            Call BorrarCampos
            MsgBox "Registro Borrado", vbInformation
        End If
    Else
        MsgBox "No hay registros para borrar.", vbInformation
    End If
End Sub
De igual manera me sucede cuando intento actualizar un registro.
¿Cómo puedo solucionar ese error?
Muchas Gracias

1 respuesta

Respuesta
OK. A decir verdad, el error esta en varias parte, tienes muy buen perfil de programador, pero te falta ordenar tus ideas, no puedes mezclar papas, camotes yucas, menestras... entiendes
Aqui te dejo un ejemplo  http://www.usuarios.lycos.es/charlycarlos/index.html
El link es OBJETOS ADO, tiene todo lo que necesitas
Hola nuevamente, te comento lo siguiente, para todas las aplicaciones que he hecho accediendo a MySql, FireBird, SQLServer siempre he usado ado y nunca me ha sucedido algo igual, es más si hago esto:
Adodc1.recordsource="Select * from Caja where codigo=15"
adodc1.Refresh
if adodc1.recordset.recordcount>0 then
adodc1.recordset.delete
adodc1.recordset.update
end if
Me sigue mostrando el error, y con otro motor de bd no, por eso digo que el error tiene que ver con access (Nunca había trabajado con access)
¿Alguna Idea?
Tienes que tener muy en cuenta la posición de los registros, asumo que sabes usar MoveFirst, MoveNext, MovePrevious, MoveLast...
Mira para que eso te funcione, primero debes seleccionar el registro en una DataGrid luego darle al botón eliminar.. así le indicaras que posicin de fila tiene que eliinar si no ases eso no sabrá que posición es la que debe eliminar entonces te tirara error EOF... BOF..
===============================================
Omite la primera parte que dije si es que usas para todo eso solo controles, es decir si para navegar en los registros usas el mismo control ADO (primero, anterior, siguiente...) y coloca esto bajo de tu Update::::
Adodc1. Recordset. MoveLast
Puedes finalizar la pregunta es que si no lo aces no podrán entrar nuevas preguntas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas