Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Busqueda de registros en access (https://www.clubdelphi.com/foros/showthread.php?t=50852)

Snakerahj 29-11-2007 18:30:34

Busqueda de registros en access
 
Hola, tengo un problema

Quiero hacer un boton de busqueda de registros en una base de datos de access, pero cuando busco por ejemplo una contraseña solo me encuentra la contraseña del primer registro que tengo en la tabla. ¿como puedo hacer para continuar buscando en los siguientes registros si no encuentra la contraseña en el primero?

por ejemplo: Tengo un boton al que etiquete "Buscar" y tiene que evaluar el contenido de Edit1.Text; y compararlo con los registros que tengo en mi tabla de access y Edit1.Tex debe ser igual a ADOTable1.FindByName('matricula') y entonces ShowMessage('Usuario encontrado');

Asi es mas o menos mi algoritmo, pero cuando se ejecuta si el primer registro de la tabla no es igual al Edit entonces ya no encuentra nada...

Cual ser ami problema? gracias y perdon por extenderme tanto

egostar 29-11-2007 18:40:39

Hola

Si mal no recuerdo, puedes usar la propiedad filter de la tabla

por ejemplo en el boton de buscar coloca esto:

Código Delphi [-]
ADOTable1.Filter := 'Matricula = ' + Edit1.Text;

La propiedad filtered de tu ADOTable ponla en True.

Salud OS

Snakerahj 29-11-2007 18:48:44

ok...
 
Entonces puedo hacer algo asi?
if ADOTable1.Filter := 'Matricula = ' + Edit1.Text Then
ShowMessage('Usuario encontrado')

en el onClick de mi boton?

egostar 29-11-2007 18:53:59

Cita:

Empezado por Snakerahj (Mensaje 249347)
Entonces puedo hacer algo asi?
if ADOTable1.Filter := 'Matricula = ' + Edit1.Text Then
ShowMessage('Usuario encontrado')

en el onClick de mi boton?

No, esa asignación no se puede hacer, pero puedes hacer esto, lo hago de memoria así que prueba y dejanos saber el resultado.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOTable1.Filtered := True;
  ADOTable1.Filter := 'Matricula = '+Edit1.Text;
  if ADOTable1.RecordCount = 0 then begin
     ShowMessage('Usuario no Encontrado');
     ADOTable1.Filtered := False;
  end;
end;

Salud OS


La franja horaria es GMT +2. Ahora son las 08:44:21.

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