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
Ir a la versión completa