variable y SQL

21/05/2010 - 12:47 por charrogar | Informe spam
Acces 2007
tengo este código en un listbox cuyo nombre es quitaprov (despues de
actualizar)
Dim SQL As String

Dim datofiltro
datofiltro = Me.quitaprov (compruebo el valor que carga la variable y es
correcto)
**Ahora quiero que quite el valor que tiene el campo mailing.controlacto y
lo deje " " siempre que el campo provincia=al valor de la variable datofiltro
pero veo que en la sentencia SQL no me carga el valor de la variable ¿cual
puede ser la causa?
SQL = "UPDATE mailing " & _
"SET mailing.controlacto = ' ' " & _
"WHERE mailing.provincia="

SQL = SQL & datofiltro
DoCmd.RunSQL SQL
Gracias
 

Leer las respuestas

#1 Uno +
22/05/2010 - 08:55 | Informe spam
Prueba a poner datofiltro=me!quitaprov

Yo definiría datofiltro como string
Si el campo provincia de tu tabla mailing es un valor de texto en la
sentencia SQL debes añadir las comillas correspondientes
Si el campo controlacto de tu tabla mailing no acepta cadenas de longitud
cero debes poner mailing.controlacto=null en tu SQL
Fíjate también que parece que no hay espacio de separación entre
mailing.controlacto=''WHERE...

En fin, yo definiría SQL así:
SQL = "UPDATE mailing SET mailing.controlacto = Null WHERE
([mailing].[provincia]="
SQL = SQL & datofiltro & ");"
o así (fíjate que sólo se añaden un par de comillas simples al antes y
después de datofiltro):
SQL = "UPDATE mailing SET mailing.controlacto = Null WHERE
([mailing].[provincia]='"
SQL = SQL & datofiltro & "');"



"charrogar" escribió en el mensaje de noticias
news:
Acces 2007
tengo este código en un listbox cuyo nombre es quitaprov (despues de
actualizar)
Dim SQL As String

Dim datofiltro
datofiltro = Me.quitaprov (compruebo el valor que carga la variable y es
correcto)
**Ahora quiero que quite el valor que tiene el campo mailing.controlacto y
lo deje " " siempre que el campo provincia=al valor de la variable
datofiltro
pero veo que en la sentencia SQL no me carga el valor de la variable ¿cual
puede ser la causa?
SQL = "UPDATE mailing " & _
"SET mailing.controlacto = ' ' " & _
"WHERE mailing.provincia="

SQL = SQL & datofiltro
DoCmd.RunSQL SQL
Gracias

Preguntas similares