O problema pode estar relacionado com Optimistic Table Buffer. Se a tabela for optimistic a atualização só acontece ao mover para um outro registro ou ao emitir Tableupdate()
>Bom Dia,
>
>Estou desenvolvendo uma rotina de atualização de valores, em um determinado momento do processo eu necessito multiplicar uma constante aos valores numéricos de um campo deste cursor a partir de uma determinada data. Porém, caso eu não manipule o cursor após o comando de UPDATE, o último registro não é alterado. Alguém saberia me dizer se isto é realmente correto ou é uma falha do Fox? Eu testei o mesmo código em Fox 7, 8 e 9 e todos geraram o mesmo problema.
>
>Grato.
>
>______________
>
>
>*!* Este comando não altera o último registro do cursor de nome armazenado na
>*!* variável _tabela, que possui uma relação de valores mensais, caso eu não
>*!* use um comando SKIP ou FLOCK()/UNLOCK.
>*!* t_indfator = valor constante
>*!* &_percmodi..ind_data pode ser uma variavel Date constante
>*!*
>UPDATE &_tabela SET &_tabela..valor = &_tabela..valor * t_indfator ;
> WHERE &_tabela..data >= &_percmodi..ind_data
>
Antonio Carlos Kleinübing
Systems Analyst