Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Busqueda en Tabla Filtrada (https://www.clubdelphi.com/foros/showthread.php?t=45451)

don malo 03-07-2007 20:07:10

Busqueda en Tabla Filtrada
 
Buenas Tardes ..

La cuestion es que tengo un problema al realizar una busqueda en una tabla lo que hago es tomar un valor de una consulta y luego buscarlo dentro de una tabla previamente filtrada, no se si sea por que esta filtrada la tabla pero al momento de correr el codigo siempre queda al final de la tabla y no recorre los registros :confused:

lo se por que en .EOF siempre me marca True..
ya intente locate y lookup tambien y nada...

uso delphi 6 y la base de datos en access, de antemano muchas gracias !

jhonny 03-07-2007 20:11:21

Estas seguro que antes del recorrido al DataSet le haces un .First?

don malo 04-07-2007 04:59:06

si ya trate con .first y con .findfirst :confused:

don malo 04-07-2007 14:26:08

alguna otra sugerencia ??? :)

eduarcol 04-07-2007 14:37:29

Cita:

Empezado por don malo
alguna otra sugerencia ??? :)

que tal si colocas el codigo??

don malo 04-07-2007 15:00:14

Buen Punto jaja
ahorita lo subo por que no estoy en mi pc ;)

don malo 04-07-2007 17:04:18

Código Delphi [-]
procedure TForm3.Button9Click(Sender: TObject);
Var
   Req, Vel:Integer;
   Linea, Turno, Arnes, NewArnes:String;
begin
   DataModule1.Table1.First;
   Linea:=DataModule1.Query9LINEA.Value;
   Turno:=DataModule1.Query9TURNO.Value;
   Arnes:=DataModule1.Query9NPARNES.Value;
   Req:=DataModule1.Query9REQFAM.Value;
   Vel:=DataModule1.Query9VELOCIDAD.Value;
   While DataModule1.Table1.EOF Do
   Begin
      If DataModule1.Table1NPARNES.Value=Arnes Then
          NewArnes:=DataModule1.Table1NPARNES.Value
      Else
          DataModule1.Table1.Next;
   End;
End;

listo :confused:

//Jhonny: Lo edite para colocar etiquetas DELPHI

jacanche 04-07-2007 19:01:11

¿te confundiste tecleando el código?, si no es asi, el while deberia quedar
Código Delphi [-]
While not DataModule1.Table1.EOF Do
   Begin
      If DataModule1.Table1NPARNES.Value=Arnes Then
          NewArnes:=DataModule1.Table1NPARNES.Value
      Else
          DataModule1.Table1.Next;
   End;

Como lo tienes, si tiene registros no se va a ejecutar el código en el ciclo while

vtdeleon 04-07-2007 19:14:08

Ademas de que debe quitar el Else y dejar el next, sino se quedara "forever" en el ciclo!

Saludos

jacanche 04-07-2007 20:54:53

tienes razon vtdeleon, lo que es no leer completo el codigo, vi un aparente error y no segui "compilando", jejejeje,


La franja horaria es GMT +2. Ahora son las 20:40:09.

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