SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: joseag5 en Jueves 5 de Diciembre de 2002, 11:55
-
por favor que alquien me ayude. Tengo una sentencia sql en la cual quiero concatenar los valores de un combobox, que almacena el nombre de la tabla y por otro lado un textbox donde le digo un numero para buscar en la tabla.Mi sentencia la tengo escrita así:
"Select * from '" & Combo1.Text & "' where numero = '" & Variable & "'"
(todo escrito en una misma línea)
La cuestión es que me da error en la sentencia select y estoy seguro que es un problema al concatenar ¿QUE ESTOY PONIENDO MAL? ME TIENE LOCO ......
Ayudadme please........ya he probado de muchas maneras y me he atascado, y estoy convencido que es una chorrada pero no la veo....
Muchas gracias
-
Tienes mal la sentencia, la sentencia SQL debería ser así:
SELECT FROM " & Combo1.text & " WHERE NUMERO = " & Variable
Así sería en el caso que el campo Numero sea de tipo entero y en el caso de que sea de tipo char la sentencia sería:
SELECT FROM " & Combo1.text & " WHERE NUMERO LIKE '" & Variable & "'"
Espero que asi te funcione en el caso contrario dimelo y te intento dar otra solución.
Saludos.
-
Originalmente publicado por ROBER.29
Tienes mal la sentencia, la sentencia SQL debería ser así:
SELECT FROM " & Combo1.text & " WHERE NUMERO = " & Variable
Así sería en el caso que el campo Numero sea de tipo entero y en el caso de que sea de tipo char la sentencia sería:
SELECT FROM " & Combo1.text & " WHERE NUMERO LIKE '" & Variable & "'"
Espero que asi te funcione en el caso contrario dimelo y te intento dar otra solución.
Saludos.
Pues sigo igual que estaba.
Tanto el combo como la caja de texto son char, pero que no quiere y no quiere, al final tendré que meter código a saco cuando lo puedo hacer en una sola línea.
Haber si me das otra solucion, por que el programa no me pasa de esa linea.
Gracias
-
Que error te pone cuando se ejecuta la consulta?
Has comprobado que combo1.text no esté vacío al igual que le Variable?
-
Asumiendo que las tablas que se encuentran en el combobox todas tienen un campo llamado numero, entonces, apoyo a ROBER.29. ¿Que numero y mensaje te envia?
Si no, tendras que revizar que la tabla que seleccionas en el combobox, tenga el campo que estas filtrando, en este caso, NUMERO.
-
Fíjate en el tipo de dato de la tabla donde guardas, porque seguramente el error diga algo así como que "no coinciden los tipos". Lo digo porque un = y un LIKE en una Select no es lo mismo. A lo mejor tienes el tipo de dato numérico en la tabla y le estás intentando meter un char.
-
Vamos a ver.
Si el campo NUMERO en la tabla es numérico la sentencia seria asi:
"select * from " & combobox.text & " where numero = " & variable
tienes que tener en cuenta que que si varible es string, tienes que convertirla a numerico. Val(variable)
si el campo numero es de tipo texto entonces la sentencia seria asi:
"select * from " & combobox.text & " where numero = '" & variable & "'"
donde '" es comilla simple y doble y "'" es comilla doble, simple y doble otra vez.
Pruebalo que te funcionará seguro.
Un Saludo
Jose Luis
jlmartinez@arenal2000.es