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 21: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 21:11:21

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

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

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

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

alguna otra sugerencia ??? :)

eduarcol 04-07-2007 15:37:29

Cita:

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

que tal si colocas el codigo??

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

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

don malo 04-07-2007 18: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 20: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 20: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 21: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 07:09:45.

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