Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Actualizar registro

Estas en el tema de Actualizar registro en el foro de Visual Basic clásico en Foros del Web. Que tal como estan aqui de nuevo pidiendo un poc de asesoria para resolver un problema que tengo es sobre la actualizacion de un registro ...
  #1 (permalink)  
Antiguo 17/06/2008, 21:26
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Actualizar registro

Que tal como estan aqui de nuevo pidiendo un poc de asesoria para resolver un problema que tengo es sobre la actualizacion de un registro me marca el siguiente error

-2147217887(80040e21)
El controlador OBDC no admite la propiedades solicitadas

El codigo es el siguiente

Código:
Private Sub Modificar()
Call VisualizarPacientes
    Dim s As Integer
           s = MsgBox("¿Esta Seguro que desea Guardar los Cambios?", vbYesNo, "Control Pacientes  -  EDMAC")
        If s = vbYes Then
    Set RecBD = New ADODB.Recordset
    RecBD.Open "UPDATE pacientes SET id='" & Text1(0) & "' ,nombre='" & Text1(2) & "',apellidos='" & Text1(3) & "',ocupacion='" & Text1(4) & "',recomendado='" & Text1(5) & "',nacimiento='" & Text1(6) & "',edad='" & Text1(7) & "',sexo='" & Text1(8) & "',proxima='" & Text1(9) & "',tel1='" & Text1(10) & "', tel2='" & Text1(11) & "',tel3='" & Text1(12) & "',tel4='" & Text1(13) & "',calle='" & Text1(14) & "',colonia='" & Text1(15) & "'municipio='" & Text1(16) & "',estado='" & Text1(17) & "',pais='" & Text1(18) & "',antecedentes='" & Text1(19) & "'Where id = " & Id, BD, adOpenStatic, adLockOptimistic
    Set RecBD = Nothing
    Call LimpiarPacientes
    Else
        Exit Sub
    End If
End Sub
Uso Base de Datos Mysql....

Saludos y gracias por su ayuda y respuestas
  #2 (permalink)  
Antiguo 18/06/2008, 01:03
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Actualizar registro

No vale aplicar la sentencia a un recordset, lo tienes que hacer directamente a la conexión y con la propiedad Execute.

  #3 (permalink)  
Antiguo 18/06/2008, 08:11
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Actualizar registro

Que tal gracias por la respuesta pero la verdad no se como seria aplicarlo directamente a la conexion y utilizar la propiedad Execute, o mas bien en donde es donde deberia de hacer los cambios.

Saludos y Gracias
  #4 (permalink)  
Antiguo 18/06/2008, 09:08
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Actualizar registro

Sería algo así

BD.Execute "UPDATE pacientes SET id='" & Text1(0) & "' ,nombre='" & Text1(2) & "',apellidos='" & Text1(3) & "',ocupacion='" & Text1(4) & "',recomendado='" & Text1(5) & "',nacimiento='" & Text1(6) & "',edad='" & Text1(7) & "',sexo='" & Text1(8) & "',proxima='" & Text1(9) & "',tel1='" & Text1(10) & "', tel2='" & Text1(11) & "',tel3='" & Text1(12) & "',tel4='" & Text1(13) & "',calle='" & Text1(14) & "',colonia='" & Text1(15) & "'municipio='" & Text1(16) & "',estado='" & Text1(17) & "',pais='" & Text1(18) & "',antecedentes='" & Text1(19) & "'Where id = " & Id

  #5 (permalink)  
Antiguo 18/06/2008, 12:24
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Actualizar registro

Que tal ya hice la prueba como me dijiste Avellaneda y me marca el siguiente error

Mysql OBDC 3.51 driver mysql-4.0.11 you have an error in your SQL syntax. Check the the manual that corresponds to your MySQL server version for the right syntax to use near 'municipio=",'estado=",pais=",antecedentes="Where id=0 at

Este es mi codigo

Código:
Private Sub Modificar()
Call VisualizarPacientes
    Dim s As Integer
           s = MsgBox("¿Esta Seguro que desea Guardar los Cambios?", vbYesNo, "Control Pacientes  -  EDMAC")
        If s = vbYes Then
        BD.Execute "UPDATE pacientes SET id='" & Text1(0) & "' ,nombre='" & Text1(2) & "',apellidos='" & Text1(3) & "',ocupacion='" & Text1(4) & "',recomendado='" & Text1(5) & "',nacimiento='" & Text1(6) & "',edad='" & Text1(7) & "',sexo='" & Text1(8) & "',proxima='" & Text1(9) & "',tel1='" & Text1(10) & "', tel2='" & Text1(11) & "',tel3='" & Text1(12) & "',tel4='" & Text1(13) & "',calle='" & Text1(14) & "',colonia='" & Text1(15) & "'municipio='" & Text1(16) & "',estado='" & Text1(17) & "',pais='" & Text1(18) & "',antecedentes='" & Text1(19) & "' Where id = " & Id
    Call LimpiarPacientes
    Else
        Exit Sub
    End If
End Sub
Saludos
  #6 (permalink)  
Antiguo 18/06/2008, 12:59
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Actualizar registro

Hola,

primero, comprueba que todos los Text1 tengas datos y segundo ¿qué es el "Id" final, una variable?

Creo que debería ser
...Where id = " & IText1(0)

Si en campo Id de la tabla es autonumérico lo tienes que omitir en la consulta, pero no en el Where

  #7 (permalink)  
Antiguo 18/06/2008, 15:13
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Actualizar registro

Que tal no pues me sigue saliendo el mismo error y ya modifique el codigo y si tengo dada de alta la variable id en el proceso

Cita:
Public id As Long
y el proceso despues de la modificacion me queda de esta manera:

Cita:
Private Sub Modificar()
Call VisualizarPacientes
Dim s As Integer
s = MsgBox("¿Esta Seguro que desea Guardar los Cambios?", vbYesNo, "Control Pacientes - EDMAC")
If s = vbYes Then
BD.Execute "UPDATE pacientes SET fecha='" & text1(1) & "', nombre='" & text1(2) & "' ,apellidos='" & text1(3) & "',ocupacion='" & text1(4) & "',recomendado='" & text1(5) & "',nacimiento='" & text1(6) & "',edad='" & text1(7) & "',sexo='" & text1(8) & "',proxima='" & text1(9) & "',tel1='" & text1(10) & "', tel2='" & text1(11) & "',tel3='" & text1(12) & "',tel4='" & text1(13) & "',calle='" & text1(14) & "',colonia='" & text1(15) & "'municipio='" & text1(16) & "',estado='" & text1(17) & "',pais='" & text1(18) & "',antecedentes='" & text1(19) & "' Where id = " & Text1(0)
Call LimpiarPacientes
Else
Exit Sub
End If
End Sub
Saludos y Gracias
  #8 (permalink)  
Antiguo 18/06/2008, 15:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Actualizar registro

Copia la cadena UPDATE en la ventana inmediato y muéstranos el resultado...
EDITO: Aquí te falta una coma "'municipio='". Debería ser: "',municipio='"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 18/06/2008, 15:46
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
De acuerdo Respuesta: Actualizar registro

Muchas Gracias a los dos Avellaneda esa era la solucion quitar el id de la consulta y ponerla despues del Where y David efectivamente solamente me faltaba esa coma para q el codigo funcionara


Saludos y Gracias por la ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.