Ver Mensaje Individual
  #1  
Antiguo 07-05-2006
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Reputación: 20
maravert Va por buen camino
Consulta con el evento Edit1Change

Hola a todos, Estoy manejando delphi7 y tablas paradox. Intento hacer una aplicación donde el usuario va a capturar unos pedidos. lo primero que hace es dar la clave del cliente, pero si no se sabe, como normalmente es, deberá de introducir su nombre (del ciente) en un Tedit y de manera automatica iran apareciendo (En un DBgrid) solo los nombres de los cleintes cuyo nombre va coincidiendo con la cadena que se introduce. Si por ejemplo en el Tedit se teclea PER, pues en el DbGrid se mostraran los nombres que inicien con PER y de alli el usuario selecciona un cliente.

Tengo el proceso, pero no me hace nada de esto. Les doy el codigo y espero que alguien me pueda ayudar en esto.

Gracias de antemano.




Código Delphi [-]unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Unit1;
type
TForm3 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label7: TLabel;
Button1: TButton;
Table2: TTable;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
Query1: TQuery;
Table3: TTable;
DataSource3: TDataSource;
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit4;
{$R *.dfm}

procedure TForm3.Button2Click(Sender: TObject);
begin
tABLE1.Filtered := FALSE;
end;


procedure TForm3.Edit1Change(Sender: TObject);
begin
Query1.sql.clear;
Query1.SQL.Text:= 'SELECT * FROM Clie01 WHERE UPPER(Nombre) LIKE (UPPER(:Nombre))';
Query1.ParamByName('Nombre').Value := 'Edit1.Text';
query1.Open;
table1.Refresh;
end;

procedure TForm3.DBGrid1CellClick(Column: TColumn);
VAR
mclave, mnombre : string;
begin
mclave := (Table1.fieldByname ('cclie').asString);
mnombre := (Table1.fieldByname ('nombre').asString);
Label1.caption := mclave;
Label2.caption := mnombre;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
Form4.showmodal;
end;

procedure TForm3.FormPaint(Sender: TObject);
begin
Label1.caption := mclave;
Label2.caption := mnombre;
end;

procedure TForm3.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_RETURN) then begin
if not Table1.FindKey([edit1.text]) then
Messagebox (Handle, 'no se encontro', 'Mensaje', MB_OK)
else
begin
mclave := (Table1.fieldByname ('cclie').asString);
mnombre := (Table1.fieldBYname ('nombre').asString);
Label1.caption := mclave;
Label2.caption := mnombre;
end
end;
end;
end.
Responder Con Cita