Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con Bookmark (https://www.clubdelphi.com/foros/showthread.php?t=36092)

marceloalegre 02-10-2006 14:31:38

Problema con Bookmark
 
Buen Dia:
Les molesto por la siguiente cuestion. Estoy tratando de usar las funciones de bookmark de la unit DB, donde me encuentro con este problema:
Estoy usando una grilla de tipo maestro detalle, donde al eliminar un registro quiero quedarme en el anterior o siguiente que elimine.
Para eso en mi IBTABLE tengo una variable book de tipo TBookMark de la siguiente manera en el BeforeDelete:
Código Delphi [-]
Book:=IBTable.GetBookmark;

Luego despues de borrar el registro en el AfterDelete hago lo siguiente:
Código Delphi [-]
IBTable.GotoBookMark(Book);
IBTable.FreeBookmark(Book);

lo cual no funciona ya en el gotobookmark porque el "book" que marque no existe mas ya que fue borrado saliendome el siguiente mensaje: "IBTable: Registro no encontrado".

Como hago para que posicionarme en llamemosle "el book -1" ya que book es de tipo pointer?
Alguien ha tenido que manejar esta cuestion y me puede ayudar?!

Muchas gracias!!!!!

marcoszorrilla 02-10-2006 14:50:27

Se me ocurre utilizar 2 Bookmark, capturar en uno el registro actual y en otro el anterior, luego mediante un
Try....Except...end

Tratas de colocarte en el primero y si falla, vas al segundo.

Un Saludo.

marceloalegre 02-10-2006 15:11:38

El problema que tengo es que no se me "ocurre" como hacer para que estando parado en el registro actual, me guarde en un book el anterior...:confused:

marcoszorrilla 02-10-2006 15:21:45

Todo depende de la estructura de la tabla, si son líneas de albaran o de factura yo tengo la costumbre de numerarlas de 1....xxx por cada factura.

En cualquier caso si aprovechas el evento del borrado puedes retroceder una línea guardar el bookmark y luego seguir la operación.

Un Saludo.

marceloalegre 02-10-2006 15:24:36

Comprendo la idea Marcos, ahora voy a chequearlo, Muchas Gracias!!


La franja horaria es GMT +2. Ahora son las 03:43:04.

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