Diferencias entre BookMark y AbsolutePosition ??

Post Reply
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Diferencias entre BookMark y AbsolutePosition ??

Post by Armando »

Amigos:

Algunas veces cuando elimino un registro de un RecordSet lo hace sin problemas pero algunas otras me tira un error mencionando el BookMark, por esto pregunto, ¿ alguien que me explique cuales son sus diferencias, donde y cuando usarlos ?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
jbrita
Posts: 425
Joined: Mon Jan 16, 2006 3:42 pm

Post by jbrita »

Armando
oRcs:Delete()
oRcs:Move( -1 )
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Post by Adolfo »

Bookmark : Sirve para identificar su posicion unica dentro del recordset, sirve para grabarla y despues volver a acceder a ese registro, independientemente de los movimientos que se realizen, agregar o eliminar.

AbsolutePosition : es un orden, o sea, un numero ordinal para identificar posicion, si eliminas, los registros siguientes cambian su ordinal o absoluteposition. Va desde 1 hasta oRrs:recordcount

Eso.. espero te sirva la explicacion

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Post by Carlos Mora »

Hola gente,

Podria decirse que, en términos de equivalencia, Bookmark es a OrdKeyVal() como AbsolutePosition es a RecNo(), no?

Un saludo,

Carlos.
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Post by ADBLANCO »

BookMark: Equivale al Recno() con set delete off
y
AbsolutePosition : sería la posición de acuerdo con el indice activo


Entendí Bién ???
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Adolfo, y el resto de los colegas:

Muchas gracias por sus aportes, me parece que la explicación de Adolfo no dió mucha luz al asunto o no la entendimos :oops: , dos de los colegas tienen la idea totalmente opuesta una de otra, cual sera la buena ?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Una manera facil para que entendais Absoluteposition y Bookmark, es añadirlo como columnas en un browse, así podreis ver como se comporta uno y otro.

Code: Select all

   oCol:=oBrw:AddCol()
   oCol:bStrData:={||Str(oRs:AbsolutePosition)}
   oCol:cHeader:='AbsolutePosition'
   oCol:=oBrw:AddCol()
   oCol:bStrData:={||Str(oRs:BookMark,5,0)}
   oCol:cHeader:='BookMark'
BookMark identifica univocamente un registro del recordset, y no varia durante la vida del recordset.
Absoluteposition se va renumerando segun la accion que ejecutemos sobre el recordset(Eliminar, añadir, ordenar, filtar, ....), identifica la posición logica actual del registro.
Una imagen vale mas que mil palabras.
"SELECT * FROM CLIENTES" esta ordenado por CliCod

Image
Cambiamos el orden del recordset con el metodo Sort(no hacemos nuevo select)
Image
Aplicamos un filtro "CliCod>5"
Image

P.D. CliCod y bookmark coinciden, pero es debido a que son unos datos de prueba creados secuencialmente, en el mundo real no tienen porque coincidir.
Last edited by Biel EA6DD on Fri Jun 06, 2008 4:08 pm, edited 2 times in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Biel:

Ahora sí quedó bastante claro, hasta yo lo entendí :lol:

Saludos y gracias tambien a Adolfo.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Post Reply