Bases de Datos > MS Access

 Problema con sentencia UPDATE, en VB 6.0

(1/1)

Zavash:
estoy practicando con un programa que conecte una base de datos access pero la sentencia UPDATE arroja un error el codigo va asi :


--- Código: Text ---CÓDIGODim cn As ConnectionDim rs As Recordset Private Sub Form_Load() Set cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51; Data Source =C:Archivos de programaMicrosoft Visual StudioVB98Ensayodatos.mdb;" End SubPrivate Sub Command2_Click()If Text1.Text = "" ThenMsgBox " no se puede eliminar un valor que no existe"Else Sql = "delete from producto where Codigo= '" & Text1 & "'"Set rs = MiConexion.Execute(Sql)MsgBox "dato eliminado"Text1.Text = ""Text1.SetFocusEnd If End Sub   Private Sub Command6_Click()Sql = "select * from producto where Codigo= '" & Text1.Text & "'"Set rs = cn.Execute(Sql)     Text1.DataField = "Codigo"    Set Text1.DataSource = rs    Text2.DataField = "Nombre"    Set Text2.DataSource = rs    Text3.DataField = "Direccion"    Set Text3.DataSource = rs    Text4.DataField = "Telefono"    Set Text4.DataSource = rs End Sub Private Sub Command1_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" ThenMsgBox "faltan datos, completelos"Else Sql = "insert into producto values ( '" & Text1.Text & "', '" & Text2.Text & "', '" & Text3.Text & "', '" & Text4.Text & "' )"Set rs = cn.Execute(Sql)MsgBox "datos grabados"      Text1.Text = ""  Text2.Text = ""  Text3.Text = ""  Text4.Text = ""  Text1.SetFocus  End If    End Sub  Private Sub Command7_Click()sql = "UPDATE Producto SET Nombre = '" & Text2.Text & "', Direccion = '" & Text3.Text & "',Telefono ='" & Text4.Text & "' WHERE codigo= " & Text1.Text & ""    Set rs = cn.Execute(sql)    MsgBox " datos Actualizados" End SubPrivate Sub Command3_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = "" End Sub Necesito resolver el error que hay en la sentencia UPDATE , por que me aparece el siguiente error al tratar de editar un dato: "No coinciden los tipos de datos en la expresion de criterios " es un problema de sintaxis o de puntuacion?, me gustaria saber, se que esto es bien basico asi que estan demas esos comentarios de "esto es muy basico , deberias saberlo" , lo digo por que otras personas me dicen eso y al final no ayudan para nada... con esa duda resuelta podre postular mejor a un trabajo, de antemano, gracias.

m0skit0:
Hola, a mi parecer el mensaje de error te lo da el servidor SQL y no VB. Creo que tienes problemas con los tipos de datos que asignas a las variables SQL, es decir, asignas un tipo de dato incorrecto a Nombre, Direccion o Telefono.

F_Tanori:
Segun las demas operaciones con los registros, el campo codigo es de tipo cadena

Por ejemplo en Command6_Click, se muestra lo siguiente

--- Citar ---Sql = "select * from producto where Codigo= '" & Text1.Text & "'"
--- Fin de la cita ---

en el cual se le contatenan ( ' ) y no mencionas esi estos procedimientos dan error, pero precisamente en el update, no se esta concatenando los apostrofes , lo que implicaria (a simple vista) el error mencionado, y como bien lo menciona m0skit0,es un error propio de la bd.


--- Citar ---sql = "UPDATE Producto SET Nombre = '" & Text2.Text & "', Direccion = '" & Text3.Text & "',Telefono ='" & Text4.Text & "' WHERE codigo= " & Text1.Text & ""
--- Fin de la cita ---


Saludos

..... Movido a Access .....

Zavash:
Sii!! funciono , faltaba concatenar.
Gracias  :beer:  :lol:

Navegación

[0] Índice de Mensajes

Ir a la versión completa