Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Dudas con consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=51844)

Rach Peguero 01-01-2008 20:55:38

Dudas con consulta SQL
 
Hola, tengo un boton en form1, el cual llama al form2, en donde tengo un edit1 y dbgrid1. En el evento editchange del edit1 pongo el siguiente codigo:

Código Delphi [-]
var 
  consulta : String;
begin
  consulta := 'Select Clave, Producto, Precio From Inventario.db Where Producto Like  "';
  consulta := consulta + '%';
  consulta := consulta + Edit1.Text;  
  consulta := consulta + '%';  
  consulta := consulta +'"';  
  consulta := consulta + 'Order By Producto';  
  Query1.Sql.Clear;  
  Query1.Sql.Add(consulta);  
  Query1.Active := True;  
  Query1.Open;

Hasta aquí todo bien: Ahora que codigo debo poner para que cuando haga doble clic o enter en el dgbrid1, me presente los datos del articulo seleccionado en el form1.

Demas esta decir que soy novato en estas lides. Alguna ayuda ¿¿¿???

Por anticipado muchas gracias y feliz inicio de año.

Uso Delphi7 y Paradox.

Caral 01-01-2008 21:22:36

Hola
Como llamas al form2?
Ahi, esta parte de la clave, la otra parte es usar variables publicas que contengan la informacion.
Primero, codigo, Como llamas al form2?
Saludos

Rach Peguero 02-01-2008 04:19:59

Dudas con consulta SQL
 
Gracias, Caral, super novato, llamo al form2 de esta forma:
Form2.Showmodal;

egostar 02-01-2008 04:56:47

Podrias usar otro query con algo como esto:

Código SQL [-]
 
SELECT * FROM INVENTARIO
WHERE CLAVE = :clave

Donde :clave es un parámetro que le vas a pasar cuando le des doble clic al registro que deseas.

Código Delphi [-]
 
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin  
   Form2.Query2.Close;
   Form2.Query2.SQL.Text('SELECT * FROM INVENTARIO WHERE CLAVE = :clave');
   Form2.Query2.ParamByName('clave').Value := Query1.FieldByName('clave').Value;
   Form2.Query2.Open;
   Form2.ShowModal;
end;

Obviamente debes tener los compontes TQuery, TDataSource y TDBGrid en la forma 2 debidamente ligados.

Salud OS

Rach Peguero 02-01-2008 11:26:16

Dudas con consulta SQL
 
Gracias Egostar, lo probare y luego les cuento.

pablonill 02-01-2008 13:02:43

También se podría hacer de la siguiente manera.

Creas un datamodule donde alojas los query y creas una variable publica llamada clave

En el evento onclick del botón que llama al form2 pone algo así

Código Delphi [-]
clave := Query1.FieldValues['clave'];
Form2.ShowModal;

En el form2 en el evento OnDblClick pone algo asi
Código Delphi [-]
Query2.Close;
Query2.SQL.Text('SELECT * FROM INVENTARIO WHERE CLAVE = :clave');
Query2.ParamByName('clave').Value := clave;
Query2.Open;

Con eso debería funcionar.

Caral 02-01-2008 15:38:28

Hola
Aqui hay algunos ejemplos sencillos.
Entre ellos esta Pasar datos de un form a otro, es el 3.6
Revisalo, es muy sencillo, pero te dará la suficiente guía.
Te aconsejo que revises el wiki, de vez en cuando, hay algunas cosas interesantes.
Saludos


La franja horaria es GMT +2. Ahora son las 06:50:34.

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