FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
Prueba a modificar el evento OnChange del Edit1 de esta manera:
Un saludo
__________________
Mi web: http://personales.ya.com/cuaderno |
#3
|
|||
|
|||
Gracias portu respuesta, voy aprobar.
Estoy para servirte Alejandro |
#4
|
||||
|
||||
Saludos
maravert, trata de utilizar los TAG's para mostrar codigos. Te invito a que le des un repaso a Etiquetas vB:=Delphi-SQL
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Evento Hint | lotos8ar | Varios | 6 | 07-10-2005 17:23:55 |
Evento que no espera | Juditia | OOP | 2 | 14-10-2004 16:43:23 |
Pillar un evento | muli | Firebird e Interbase | 4 | 24-11-2003 14:57:00 |
Nuevo evento | hgiacobone | OOP | 6 | 21-07-2003 23:13:24 |
El evento OnActivate | esquerda21 | Varios | 8 | 18-06-2003 18:03:35 |
|