Delphi - fraccionar una consulta en varias linea

 
Vista:

fraccionar una consulta en varias linea

Publicado por alberto ortiz (66 intervenciones) el 16/04/2008 03:26:54
La cuestion es la siguiente, deseo realizar una consulta con demasiados carateres, para esto ya la he revisado en acces y sale perfectamente pero access lo que hace es separar en dos lineas el codigo, por ejemplo en la primera linea empieza con el select y todo lo que sigue en la segunda pone el from o el where y todo lo demas incluso hay algunas que las pone en tres lineas o mas.

Mi pregunta es como hago para que delphi me acepte todos estos caracteres ya que si lo copio en una linea revaso los 255 caracteres aceptados en una sola linea y me da un error
pero no logro encontrar como separarlo en lineas pues asi tambien me da error.

Uso mas o menos esto
with query1 do
begin
close;
sql.clear;
sql.add('la consulta que quiero ejecutar demasiado larga');
open;
end;

Uso delphi 5
base de datos de acces 2003
conecto con un origen de base de datos
Tquery
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:fraccionar una consulta en varias linea

Publicado por BigLuis (713 intervenciones) el 16/04/2008 13:59:28
De la misma forma que lo haces pero teniendo en cuenta que el componente TQuery almacena las cadena como TStrings por lo que podría ser:

with query1 do
begin
close;
sql.clear;
sql.add('Parte de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
sql.add('Continuacion de la consulta que quiero ejecutar demasiado larga');
open;
end;

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

exelente pero...

Publicado por alberto ortiz (66 intervenciones) el 18/04/2008 02:39:09
Jeje nos les ha pasado laguna vez me quebre el coco trarando de que esta consulta me saliera pero simplemente no pude.

Luego leo la respuesta de de BigLuis y 123 ya quedo bueno...

Ok. ahora pregunto lo siguiente: se podria que hacer mas o menos lo siguiente.

Nobra Costo_Tot Contratista Pres_Autorizado N_cheque Cant
1 150000 Ared 150000 1234 60000
1 150000 Ared 150000 1235 10000
1 150000 Ared 150000 1236 10000
tot. DEp 80000
1 20000 AMR 20000 1237 5000
1 20000 AMR 20000 1238 10000 20000 AMR 20000 1239 10000 5000
tot_dep 20000
etc
etc
etc

Gracias

Nota. Hay que tomar en cuenta que los campos provienen de dif tablas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar