rs.update no me funciona!!!
Publicado por Carlos S. (25 intervenciones) el 06/08/2007 02:06:15
Hola a todos, espero puedan ayudarme con esto, ya tengo horas buscandole el modo y no encuentro la solucion..
En mi ventana estan los botones de nuevo, guardar, eliminar y actualizar para manejar una tabla de access con ADO, tambien tengo los botones de primero, anterior, posterior, y ultimo p moverme en los registros, el problema es que a la hora de guardar un nuevo contacto, me manda la registro indicado (movefirst) pero no se actualiza la base de datos, no puedo ver el contacto que acabo de agregar,, el codigo es este:
Sub Conexion() 'la llamo en el load del formulario...
Set ConexionDir = New Connection
Set rsDir = New Recordset
ConexionDir.Open ("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & App.Path & "\RegistroVMI.MDB")
Ssql = "SELECT * FROM Directorio ORDER BY Nombre"
rsDir.Open Ssql, ConexionDir, adOpenKeyset, adLockOptimistic ' aqui ya intente poner antes
rsDir.cursorlocation=adcliente, no funciono, de igual forma bloquear con adLockBatchOptimistic y tampoco ni abriendo como OpenStatic......
refrescar ' llamo a la funcion que me pone en los texts la info de la base
rsDir.MoveLast
rsDir.MovePrevious
End Sub
Despues en el boton para guardar el nuevo regustro:
private sub cmdGuardar_Click()
If Trim(Text1(0).Text) = "" Then
MsgBox "Ingrese un Nombre para el Contacto", vbCritical, "¡Error!"
Exit Sub
End If
If Trim(Text1(1).Text) = "" Then
MsgBox "Ingrese un Apellido para el Contacto", vbCritical, "ERROR"
Exit Sub
End If
If Trim(Text1(2).Text) = "" Then
MsgBox "Ingrese una Ocupacion para el Contacto", vbCritical, "¡Error!"
Exit Sub
End If
Ssql = "INSERT INTO Directorio(Nombre,Apellido,Ocupacion,Direccion,Ciudad,Notas,Numero_Fijo1,Numero_Fijo2,Celular1,Celular2,FAX,Email ) VALUES ('" & Text1(0).Text & "', '" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "', '" & Text1(4).Text & "' , '" & Text1(5).Text & "' ,'" & Text1(6).Text & "', '" & Text1(7).Text & "', '" & Text1(8).Text & "', '" & Text1(9).Text & "', '" & Text1(10).Text & "', '" & Text1(11).Text & "')"
ConexionDir.Execute Ssql
rsDir.Update
rsDir.MoveLast
refrescar
Posterior.Enabled = True
Ultimo.Enabled = True
MsgBox "El Contacto ha sido guardado en la base de datos", vbInformation, "Guardar Contacto"
End Sub
tambien cuando elimino un contacto, lo mismo no se actualiza, em manda al registro indicado y cuando llego al que acabo de eliminar, me marca error: "El registro esta eliminado".
No se porque no me esta actualizando!!!
Ojala puedan ayudarme,
Gracias de antemano
Carlos
En mi ventana estan los botones de nuevo, guardar, eliminar y actualizar para manejar una tabla de access con ADO, tambien tengo los botones de primero, anterior, posterior, y ultimo p moverme en los registros, el problema es que a la hora de guardar un nuevo contacto, me manda la registro indicado (movefirst) pero no se actualiza la base de datos, no puedo ver el contacto que acabo de agregar,, el codigo es este:
Sub Conexion() 'la llamo en el load del formulario...
Set ConexionDir = New Connection
Set rsDir = New Recordset
ConexionDir.Open ("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & App.Path & "\RegistroVMI.MDB")
Ssql = "SELECT * FROM Directorio ORDER BY Nombre"
rsDir.Open Ssql, ConexionDir, adOpenKeyset, adLockOptimistic ' aqui ya intente poner antes
rsDir.cursorlocation=adcliente, no funciono, de igual forma bloquear con adLockBatchOptimistic y tampoco ni abriendo como OpenStatic......
refrescar ' llamo a la funcion que me pone en los texts la info de la base
rsDir.MoveLast
rsDir.MovePrevious
End Sub
Despues en el boton para guardar el nuevo regustro:
private sub cmdGuardar_Click()
If Trim(Text1(0).Text) = "" Then
MsgBox "Ingrese un Nombre para el Contacto", vbCritical, "¡Error!"
Exit Sub
End If
If Trim(Text1(1).Text) = "" Then
MsgBox "Ingrese un Apellido para el Contacto", vbCritical, "ERROR"
Exit Sub
End If
If Trim(Text1(2).Text) = "" Then
MsgBox "Ingrese una Ocupacion para el Contacto", vbCritical, "¡Error!"
Exit Sub
End If
Ssql = "INSERT INTO Directorio(Nombre,Apellido,Ocupacion,Direccion,Ciudad,Notas,Numero_Fijo1,Numero_Fijo2,Celular1,Celular2,FAX,Email ) VALUES ('" & Text1(0).Text & "', '" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "', '" & Text1(4).Text & "' , '" & Text1(5).Text & "' ,'" & Text1(6).Text & "', '" & Text1(7).Text & "', '" & Text1(8).Text & "', '" & Text1(9).Text & "', '" & Text1(10).Text & "', '" & Text1(11).Text & "')"
ConexionDir.Execute Ssql
rsDir.Update
rsDir.MoveLast
refrescar
Posterior.Enabled = True
Ultimo.Enabled = True
MsgBox "El Contacto ha sido guardado en la base de datos", vbInformation, "Guardar Contacto"
End Sub
tambien cuando elimino un contacto, lo mismo no se actualiza, em manda al registro indicado y cuando llego al que acabo de eliminar, me marca error: "El registro esta eliminado".
No se porque no me esta actualizando!!!
Ojala puedan ayudarme,
Gracias de antemano
Carlos
Valora esta pregunta


0