• Viernes 15 de Noviembre de 2024, 16:47

Autor Tema:  Re: No consigo actualisar un registro a SQL  (Leído 1844 veces)

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« en: Miércoles 5 de Noviembre de 2003, 16:34 »
0
- 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

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« Respuesta #1 en: Miércoles 5 de Noviembre de 2003, 16:56 »
0
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« Respuesta #2 en: Miércoles 5 de Noviembre de 2003, 17:05 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« Respuesta #3 en: Miércoles 5 de Noviembre de 2003, 18:38 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« Respuesta #4 en: Miércoles 5 de Noviembre de 2003, 19:54 »
0
- Ya lo he probado pero no me funciona, no lo entiendo.

MiguelPG

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: No consigo actualisar un registro a SQL
« Respuesta #5 en: Miércoles 5 de Noviembre de 2003, 21:39 »
0
Hola a todos.
Yo no entiendo mucho de esto, pero habeis probado a quitar el "punto y coma" al final de la claúsula WHERE?
A mí a veces me dá problemas, lo quito y se soluciona.
WHERE Clientes.[Id Cliente] = " & CLng(Text3.Text) & ");"
Saludos

angelescj

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
No consigo actualisar un registro a SQL
« Respuesta #6 en: Jueves 6 de Noviembre de 2003, 08:45 »
0
Prueba esto:
dim pp as string
if option.value then
   pp="Si"
else
  pp="No"
end if

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]='" & pp  & " , [Fecha Alta]=" & Text1(13) & " WHERE (SELECT * FROM Clientes WHERE Clientes.[Id Cliente] = " & CLng(Text3.Text) & ");"