Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Comando UPDATE não altera ultimo registro
Message
From
01/10/2004 12:51:25
 
 
To
01/10/2004 10:21:03
Xenócrates Amon Mello
Universidade Federal do Paraná
Curitiba, Brazil
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Miscellaneous
Thread ID:
00947932
Message ID:
00948004
Views:
28
>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.
>
>*!* 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
>


Não deveria ser assim. Eu não pude duplicar isso em um testes simples. Veja si não tem um indice com corrupção.

Notar vc pode sempre mudar ao codigo XBase:
REPLACE (_tabela + ".valor") WITH (_tabela + ".valor") * t_indfator ;
  FOR (_tabela + ".data") >= (_percmodi + ".ind_data") IN (_tabela)
UPDATE (_tabela) SET (_tabela + ".valor") = (_tabela + ".valor") * t_indfator ;
   WHERE (_tabela + ".data") >= (_percmodi + ".ind_data")
HTH


Alex Feldstein, MCP, Microsoft MVP
VFP Tips: English - Spanish
Website - Blog - Photo Gallery


"Once again, we come to the Holiday Season, a deeply religious time that each of us observes, in his own way, by going to the mall of his choice." -- Dave Barry
Previous
Reply
Map
View

Click here to load this message in the networking platform