Página 2 de 2

Enviado: 23 Abr 2007 17:36
por Pablo César
Tem casos que é necessário que exista uma sequência de CÓDIGOS, por exemplo os números dos DVDs numa locadora. Claro que esporádicamente o acervo sofre exclusões. Mas eu acostumo RECUPERAR esse número pois senão a prateleira onde guarda seus filmes, ficaria fora de sequência (que nem um queijo Suiço... uhmmmm).

Para esses casos, tem que ser feito um SEQUENCE.DBF que tem como campos INICIO (N5) FIM (N5) e a medida que é deletado o filme CODIGO 00001 pego esse número e faço um APPEND no SEQUENCE. Daí o próximo número a ser pego (quando tem que cadastrar novo filmes) irá pegar o número menor que tiver disponível. Claro que o SEQUENCE.DBF é necessário indexar. Mas ele fica pequeno, pois muitas vezes pode ser re-composto os registros: 00001 até 00019 (por exemplo.

Mas respondendo LITERALMENTE a sua pergunta, caro MATRIX:
matrix escreveu:como identifico se o registro está bloqueado (Rlock) ???
Simplesmente faça uma tentativa de utilizar NOVAMENTE o RLOCK(), se ele estive RELOCKeado (puxa meu português... é fogo), retornará .F.

Claro, estamos falando de que você irá precisar o RLOCK() para o caso de usar o SEQUENCE.DBF. Porque não creio que alguém aqui concorde da forma que você mencionou (você disse: pegará o contador ultimo +1)

Um clip-abraço :)Pos