Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayudita con un Query, pls. (https://www.clubdelphi.com/foros/showthread.php?t=34336)

kman 06-08-2006 00:19:00

Ayudita con un Query, pls.
 
Saludos Delphinianos!


Mi consulta es:

Código Delphi [-]
procedure TMenuImpAsig.BtRepAsigImpClick(Sender: TObject);
Var texto: String;
begin

Edit1.Text:= Texto

With module.QrReporteAsignaturas do begin
close;
Sql.Clear;
Sql.add('SELECT Insc.Cod_Est, insc.Fecha_Insc,Est.Nombre, Prof.Nombre, Asigna.Asig');

sql.add('FROM  Isnc, Est, Prof, Asigna');

Sql.add('WHERE Insc.cod_Est = Est.Cod_Est AND Insc.Cod_Prof = 
Prof.Cod_Prof AND Insc.Cod_Asig = Asigna.Cod_Asig And Asigna.Cod_Asig like' +texto);

Open;

Necesito saber cómo hacer que ésta consulta tome como parámetros dos datos que sean introducidos por dos edits, osea, otro Like.

Gracias Amigos.

kman 06-08-2006 01:30:46

Hmm, Creo que con dos Queries, lo puedo hacer.

kman 06-08-2006 02:33:59

Con dos queries no me funcionó, así que necesito mucha ayuda, por favor.

Sudamericano 06-08-2006 03:17:29

Que base de datos estan usando ?? porque podrias hacerlo con un Stored procedure,

kman 06-08-2006 03:27:51

Cita:

Empezado por Sudamericano
Que base de datos estan usando ??..

Estoy usando el Access, Sudamericano.

Sudamericano 06-08-2006 03:40:19

podrias crearte una vista (consulta en acces) y llamarlo como si fuera una tabla, algo asi :

Código SQL [-]
 
SELECT * FROM VW_PRUEBA

kman 06-08-2006 03:55:13

Cita:

Empezado por Sudamericano
podrias crearte una vista (consulta en acces) y llamarlo como si fuera una tabla, algo asi :

Código SQL [-] SELECT * FROM VW_PRUEBA

Disculpame, pero la verdad que no te entendí, o mejor dicho, no entiendo el propósito de crear ese query en el access.

Sudamericano 06-08-2006 04:47:55

ok.creando ese query en el acces puedes acceder desde delphi solo llmandolo de la siguietne manera
Código SQL [-]
 
select * from VW_PRUEBA


de esa manera no tendras problema con los 250 caracteres.

courtois 06-08-2006 07:18:31

podria ser algo asi?
Código Delphi [-]
procedure TMenuImpAsig.BtRepAsigImpClick(Sender: TObject); Var texto1,texto2: String; begin
 texto1:=Edit1.Text;
 texto2:=Edit2.Text;

With module.QrReporteAsignaturas do begin 
close; 
Sql.Clear; 
Sql.add('SELECT Insc.Cod_Est, insc.Fecha_Insc,Est.Nombre, Prof.Nombre, Asigna.Asig');  sql.add('FROM  Isnc, Est, Prof, Asigna');  
Sql.add('WHERE Insc.cod_Est = Est.Cod_Est AND Insc.Cod_Prof =  Prof.Cod_Prof AND Insc.Cod_Asig = Asigna.Cod_Asig And Asigna.Cod_Asig like ' +texto1+' and otro_campo = '+texto2);
  Open;

end;

end;

claro es una solución que se puede mejorar mucho...

kman 06-08-2006 15:32:54

Cita:

Empezado por courtois
claro es una solución que se puede mejorar mucho...

Gracias courtois, voy a probar y te hago saber como me va.

kman 06-08-2006 15:56:19

Gracias!
 
Agregando otro like en otro_campo = '+texto2); en vez del '='
Sencillamente perfecto, Gracias de nuevo, Courtois!

anghell77 07-08-2006 06:55:20

Podria Funcionar....
 
donde tienes el texto '.......like ' + QuotedStr(Edit1.Text+'%');

Porque no me quedó del todo claro, pero puede que esto solucionara algo en parte de lo que requieres...

Saludos


La franja horaria es GMT +2. Ahora son las 06:17:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi