Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Baldomero123 en 18 Enero 2018, 14:21 pm



Título: Orden SQL que no coge una variable como condición
Publicado por: Baldomero123 en 18 Enero 2018, 14:21 pm
Bs ds:
Una consulta que para vosotros será una simpleza, pero a mí me trae de cabeza (valga el pareado). Tengo una BD Access  2007 con las tablas, entre otras, Operaciones, Clientes (clave de tres letras), Platform. Pretendo obtener un listado de Operaciones filtradas por el Cliente que yo desee y que aparezca en DataGrid, preferentemente o como sea, y que esté ordenado  por Platform y fechainic (un campo dentro de Operaciones) DESC.  Lo ideal sería “coger un Cliente de su tabla” y mediante un DataCombo o DataList entrar esta variable en un text. Y de éste al ADODC de DataGrid y obtener lo que deseo. Como no consigo que esta parte de “coger un Cliente de su tabla” me funcione  he ido a un procedimiento  más rústico: crear un txt1.text y en él entrar a mano la clave del Cliente (tres letras) para pasar esta variable ‘ “ & txt1.text & “ ‘ en el SQL del ADODC de la DataGrid. No funciona.  ADODC1 que es también el ADODC de la DataGrid.
En código
He creado un txt1.text para entrar a mano la clave del cliente.  Si pongo en la orden SQL del ADODC:
 SQL * FROM operaciones WHERE cliente = “AMG” ORDER BY platform, fechainic DESC.
Funciona perfectamente
Pero si entro a mano en txt1.text AMG u otra clave de cliente y en la orden SQL del ADODC:
SQL * FROM operaciones WHERE cliente = ‘ “ & Ltrim(txt1.text)  & “ ‘ ORDER BY platform, fechainic DESC. No ocurre nada. He hecho probaturas sin Ltrim, con “ “ “ & txt1.text& “ “ “ , en fin, todo lo que se me ha ocurrido.
Aparece la DataGrid  pero vacía, aunque antes y después de la orden SQL mediante MsgBox aparece que txt 1.text = “AMG” o cualquier otra variable que se haya tecleado en txt1.text
Es mi última dificultad. ¿Me podríais echar una manita? Mil gracias, Alberto.