>Cenário:
>VFP 9.0
>Sistema multiusuário
>
>No FPW 2.6a, eu sempre trabalhei com os comandos SCATTER e GATHER e só na hora de inserir/atualizar a tabela, eu bloqueava o registro ou a tabela.
>
>No VFP se usar a bufferização otimista, e tiver no banco a rotina de geração de código seqüencial (chave), na hora que der um APPEND BLANK a chave será gerada, possibilitando assim que dois usuários consigam inserir registros com a mesma chave.
>
>Sabendo que o TABLEUPDATE bloquei o registro ou a tabela, pergunto:
>
>- Devo travar a tabela toda manualmente no caso de inserir um novo registro, (antes do TABLEUPDATE para gerar o código)????????
>
>- Se sim, devo destravar a tabela manualmente após a TABLEUPDATE????????Não. O buffer (TableUpdate()/TableRevert() é suficiente. Vc deve pegar uma olheada sempre ao resultado retornado pelo TableUpdate(). Si tem falha então deve ver porque é informar ao usuario (conflicto de dados).
Si vc "perde" um número consecutivo do contador de chaves (assumindo que não usa o campo Autoinc), essos números são aleatorios (surrogate keys). Não tem outro valor, so não têm problema.