PDA

Ver la Versión Completa : problema al traspasar parametro


luchin001
15-05-2003, 21:56:06
Buenas...
es muy probable que este no sea el foro ...mis disculpas si no es asi...

tengo el siguiente problema he creado un report de detalle por productos y los datos estan en diferentes tablas : Muebles, vehiculos, edificios.
en el report he puesto una query con lo siguiente en sql:

select * from :vnombre
order by ccosto, fecha

la idea es que vnombre se pase como parametro el nombre de la tabla.
la query lo acepta como parametro pero al correr la aplicacion me da un tremendo error.
estoi mal ? yo creo.....
alguien me podria ayudar ?

desde ya gracias

Luchin

__marcsc
15-05-2003, 22:04:01
Hola,

que yo sepa no puedes pasar el nombre de una tabla como parámetro, quizás si no has parseado previamente el query no te de error, pero al hacer el open es cuando te lo lanza.

Lo que quieres hacer, sin embargo, es muy sencillo, solo tienes que establecer la sentencia SQL en tiempo de ejecución:



NombreTabla:= 'Clientes';//ejemplo estúpido
Query1.SQL.Text:= 'select * from ' + NombreTabla + 'order by ccosto, fecha';



Saludos.

Argaron
18-05-2003, 22:56:43
La solucion que te dieron se puede completar mejor de la siguiente forma:

NombreTabla:= 'Clientes';//ejemplo estúpido
// nuevoo
Query1.close;
Query1.SQL.Clear;

Query1.SQL.Text:= 'select * from ' + NombreTabla + 'order by ccosto, fecha';

Es importante que cierres la consulta y borres la anterior sentencia.

__marcsc
19-05-2003, 00:12:35
Buenas,

solo un pequeño comentario, dado que asignamos en la propiedad Text, no es necesario hacer el SQL.Clear, dado que el texto que se asigna ya elimina todo el contenido previo del TStrings.

Saludos.