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