Orden SQL de ADODC que no toma una variable
Publicado por Alberto (115 intervenciones) el 18/01/2018 14:08:47
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.
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.
Valora esta pregunta
0