É uma idéia a se pensar.
Vc já usou o campo AutoInc do VFP 8 ? me parece que no SQL Server também tem um desses vc não gosta de usa-lo ?
>Paulo eu costumo utilizar um ID único para todas as tabelas do sistema, ou seja um contador sequencial só. Desta forma eu tenho uma unica tabela de contador com um único campo.
>
>Não mostro esta informação para o usuário, utilizo-a apenas para carregar chaves primárias. Faço isso com todos os bancos que eu trabalho, desde o nativo do VFP, SQL SERVER e ORACLE.
>
>
>
>
>>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