Este código veio com o VFP 8, e vou testar com tabelas livres. No VFP 8 estou usando campos AutoInc, e tem funcionado corretamente, tenho algumas dúvidas sobre a recuperação do Id, no insert-sql, que já coloquei aqui em outra Thread.
Vou fazer os testes com tabelas livres e te respondo.
Obrigado pela ajuda.
>Olá Paulo
>
>Começando pelo fim: também já tive problemas com SET DATASESSION e parei de usá-lo.
>
>tem algo errado no código abaixo, ele não faz um APPEND BLANK quando a lcAlias não é encontrado:
>
>
> IF SEEK(lcAlias, "Ids", "table")
> IF RLOCK()
> lnID = ids.nextid
> REPLACE ids.nextid WITH ids.nextid + 1
> UNLOCK
> ENDIF
> ENDIF
>
>
>Normalmente faço assim:
>
>
> IF NOT SEEK(lcAlias, "Ids", "table")
> APPEND BLANK IN Ids
> REPLACE table WITH lcAlias IN Ids
> ENDIF
> IF RLOCK("Ids")
> lnID = ids.nextid
> REPLACE ids.nextid WITH ids.nextid + 1 IN Ids
> UNLOCK IN Ids
> ENDIF
>
>
>O detalhe final e que me resolveu esses problemas com transações: uso uma tabela livre para gravar os Ids, pois tabelas livres não são consideradas em transações.
>
>Espero que ajude
Paulo Cesar Carneiro
desenvolvimento@controplan.com.br"My God, what have we done?"
-- Capt. Robert Lewis, co-pilot of the Enola Gay, recalling the moment the atomic bomb exploded over Hiroshima
At 8:15 a.m. on August 6 1945