Forums Últimos mensajes - Powered by IBM
 

duda en una consulta para datagrid

05/05/2005 - 10:21 por Sonia | Informe spam
hola a todos!
tengo una consulta en acces q va perfecta y kiero usarla para un formulario
q lo unico q hace es , al introducir el codigo postal, rellenar el datagrid.
lo unico q kiero incluir en la consulta es q el textbox sea igual al codigo
postal, por lo q lo unico q añado en la consutla s lo q pongo en negrita. y
al ponerlo no funciona.
me podeis decir donde esta el error, si la consutla(exceptuando eso del
textbox), funciona perfectamente?
gracias!!

la consulta es esta:

mysql = "SELECT centros1.DPOST, TELEMARKETING.KLVCOL, centros1.NOMBR,
TELEMARKETING.FECHAS, TELEMARKETING.XESCR1, TELEMARKETING.XLECT1,
TELEMARKETING.XMATE1, TELEMARKETING.XORTO1, TELEMARKETING.MATVAL,
TELEMARKETING.MATESO, TELEMARKETING.NOMBRX, TELEMARKETING.APELSX,
TELEMARKETING.OPERAD, TELEMARKETING.COMENTARIO"

mysql = mysql & " FROM TELEMARKETING LEFT JOIN centros1 ON
TELEMARKETING.KLVCOL = centros1.KLAVE AND centros1.DPOST='" & TextBox1.Text
& "' "

mysql = mysql & " ORDER BY TELEMARKETING.CLAVE, TELEMARKETING.FECHAS"

nuevo.Carga(mysql, "TELEMARKETING", DataGrid1)
 

Leer las respuestas

#1 Carlos Durán Urenda
05/05/2005 - 17:49 | Informe spam
de que tipo de datos tienes definido tu campo de codigo postal?
si es entero o algun tipo numerico no nesecitarías las comillas

otra opcion al as triples comillas podria ser utilizando el codigo ASCII de
las comillas, de la siguiente manera...

... mysql = mysql & " FROM TELEMARKETING LEFT JOIN centros1 ON
TELEMARKETING.KLVCOL = centros1.KLAVE AND centros1.DPOST=" & Chr(34) &
TextBox1.Text & Chr(34)

pero yo te recomendaría que crearas un parámetro de forma que el mismo
parametro definas con presicion el tipo y tamaño de datos, podrias crear un
comando que pases luego al adaptador como selectcommand

'defines tu instruccion sql utilizando el simbolo "?" en el valor
correspondiente al parametro
Dim MySql as string =" _
mysql = mysql & " FROM TELEMARKETING LEFT JOIN centros1 ON
TELEMARKETING.KLVCOL = ? AND centros1.DPOST= ? "

Dim Comando as New Oledb.OledbCommand ( mySql, myConexion)
Commando.AddParameter("KLAVE", centros1.KLAVE )
with Commando.Parameters(0)
.OleDbType = OledbVarChar --> suponiendo que sea un string
.Size= 5 --> Tamaño del campo
end with

Commando.AddParameter("CPostal", me.TextBox1.Text)
with Commando.Parameters(1)
.OleDbType = OledbVarChar --> suponiendo que sea un string
.Size= 5 --> Tamaño del campo
end with


Adaptador.SelectCommand = Commando



Espero te sea de utilidad

Saludos
Carlos Durán


"Sonia" escribió en el mensaje
news:
hola a todos!
tengo una consulta en acces q va perfecta y kiero usarla para un
formulario
q lo unico q hace es , al introducir el codigo postal, rellenar el
datagrid.
lo unico q kiero incluir en la consulta es q el textbox sea igual al
codigo
postal, por lo q lo unico q añado en la consutla s lo q pongo en negrita.
y
al ponerlo no funciona.
me podeis decir donde esta el error, si la consutla(exceptuando eso del
textbox), funciona perfectamente?
gracias!!

la consulta es esta:

mysql = "SELECT centros1.DPOST, TELEMARKETING.KLVCOL, centros1.NOMBR,
TELEMARKETING.FECHAS, TELEMARKETING.XESCR1, TELEMARKETING.XLECT1,
TELEMARKETING.XMATE1, TELEMARKETING.XORTO1, TELEMARKETING.MATVAL,
TELEMARKETING.MATESO, TELEMARKETING.NOMBRX, TELEMARKETING.APELSX,
TELEMARKETING.OPERAD, TELEMARKETING.COMENTARIO"

mysql = mysql & " FROM TELEMARKETING LEFT JOIN centros1 ON
TELEMARKETING.KLVCOL = centros1.KLAVE AND centros1.DPOST='" &
TextBox1.Text
& "' "

mysql = mysql & " ORDER BY TELEMARKETING.CLAVE, TELEMARKETING.FECHAS"

nuevo.Carga(mysql, "TELEMARKETING", DataGrid1)


Preguntas similares