Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-05-2006
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 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
  #2  
Antiguo 07-05-2006
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
Prueba a modificar el evento OnChange del Edit1 de esta manera:

Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Text:= 'SELECT * FROM Clie01 WHERE UPPER(Nombre) LIKE UPPER(:Nombre)';
  Query1.ParamByName('Nombre').Value := Edit1.Text + '%';
  query1.Open;
end;

Un saludo
__________________
Mi web: http://personales.ya.com/cuaderno
Responder Con Cita
  #3  
Antiguo 08-05-2006
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 20
maravert Va por buen camino
Gracias portu respuesta, voy aprobar.

Estoy para servirte

Alejandro
Responder Con Cita
  #4  
Antiguo 08-05-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 16:27:35.


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
Copyright 1996-2007 Club Delphi