Programación General > Visual Basic 6.0 e inferiores
Re: No consigo actualisar un registro a SQL
MindEye:
- Estoy intentando actualizar el registro especifico, en la base de datos, pero los campos, editando, y estado civil, no me cambian. ( Los campo son texto )
- Por favor, si alguien ve lo que estoy haciendo mal, que me lo haga saber.
- Gracias compañeros, aqui hos dejo lo que yo hago.
Set db = OpenDatabase(Conectando.Coneccion, , False, ";pwd=1234")
db.Execute "UPDATE Clientes SET Cliente=" & Text1(0) & " , SG=" & Siglas.Text & " , Direccion=" & Text1(3) & " , Numero=" & Text1(4) & " , Piso=" & Text1(5) & " , Puerta=" & Text1(6) & " , CP=" & Text1(7) & _
" , Poblacion=" & Text1(8) & " ,Provincia=" & Text1(9) & " ,Pais=" & Text1(10) & " , NIF=" & Text1(19) & " , Email =" & Text1(11) & " , Web = " & Text1(12).Text & _
" , Editando=""No"" , [Sociedad Civil]=" & iif(option.value,"Si","No") & " , [Fecha Alta]=" & Text1(13) & " WHERE (SELECT * FROM Clientes WHERE Clientes.[Id Cliente] = " & CLng(Text3.Text) & ");"
Brroz:
Hola MindEye.
El fallo lo tienes en la cláusula WHERE que debería quedar de la siguiente forma:
" WHERE Clientes.[Id Cliente] = " & CLng(Text3.Text);"
Date cuenta que estabas utilizando una selección de registros como valor de comparación y sin compararla con nada. Algo como eso podría valer para filtrar registros comparando si están o no en una selección, por ejemplo:
WHERE Clientes.[Id Cliente] IN (SELECT OtraTabla.[Id Cliente] WHERE OtroCampo='El valor que sea')
Suerte, chao.
Brroz:
Disculpas MindEye.
Ahora que leo bien (y mira que me lo decían en el colegio...) dices que son dos los campos que no te cambian, por lo que supongo que el resto sí (a pesar del detalle que apuntaba del WHERE...). Yo probaría usando las comillas de esta forma:
... & " , Editando='No' , [Sociedad Civil]='" & iif(option.value,"Si","No") & "' , [Fecha Alta]=" ...
A ver si así... prueba y ya contarás.
Abur
angelescj:
Si en campo está declarado como numérico en la BD deberás hacer:
NombreDeCampo=valor
Si el campo está declarado como no numérico:
NombreDe Campo='valor'
Con una comilla simple a cada lado del valor.
Al usar comillas dobles,", estás terminando la cadena SQL
:good:
MindEye:
- Ya lo he probado pero no me funciona, no lo entiendo.
Navegación
[#] Página Siguiente
Ir a la versión completa