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)
-   -   Recno en querey. Access (https://www.clubdelphi.com/foros/showthread.php?t=63266)

FerCastro 06-02-2009 04:12:16

Recno en querey. Access
 
Hola al foro.

tengo el siguiente problema:

Quiero tomar el recno de un registro que regresa un query, pero resulta que cuando hago:

FieldByName('Recno').AsInteger := DM.QTyA.RecNo;

Lo que me devuelve es la posición del registro EN RELACION AL QUERY, no a la tabla, es decir, si el query devolvió 5 registros pues me devuelve, 1,2...5, en lugar de devolverme el recno conforme a la tabla. No se si sea claro al explicarme, pero según estoy leyendo el recno en relación a la posición que ocupa un registro en la tabla se saca de un dataset. Hay manera de obtener esta información desde el query?

Gracias de antemano, y saludos a todos.

Delphius 06-02-2009 04:33:21

Hola FerCastro,
Efectivamente, RecNo regrese la posición que ocupa respecto al conjunto de datos devuelto por un DataSet.

Recuerda que TxxxQuery, TxxxTable, son descendientes de TDataSet, por tanto ya sea un TADOQuery, o TADOTable... RecNo siempre regresará la posición del registro según lo que en dicho momento contenga el conjunto de datos.

En entornos SQL no existe técnicamente "posición" en una tabla. el registro 300 no ncesariamente es el que se ha añadido en la 300va vez. Un verdadero motor de base de datos ubica los registros de forma balanceada siguiendo por lo general estructuras de árboles balanceados. Por ello los registros no tienen un orden secuencial.

La forma más simple de hacer lo que buscas es destinar un campo y denominarlo "Posicion" y llenar este dato a medida que se van ingresando. O Puedes evitarte el uso de este campo y valerte de campos autonuméricos.;)

Saludos,


La franja horaria es GMT +2. Ahora son las 06:09:39.

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