Pegar campos que foram alterados pelo usuario

Delphi

16/12/2008

Olá,

Tenho um cadastro de clientes com varios campos e gostaria de que qdo o usuario alterasse um ou mais campos de um cliente, capturar somente os campos que o usuario alterou. Por exemplo, o usuario alterou os campos telefone e celular de um cliente, como faço para capturar que somente esses campos foram alterados? Obrigado.

Luiz


L_carlos

L_carlos

Curtidas 0

Respostas

Acacio

Acacio

16/12/2008

Criei algo parecido com isso com trigger. Fiz uma trigger para cada tabela que queria. Ai buscava cada campo que foi alterado e jogava numa
string e salvava numa tabela de log. Não tenho o exemplo, pois não trabalho mais na empresa que fiz isso, mas procura por exemplos de ´LOG´ e trigger que vai encontrar. E não esquece de dizer em que base queis fazer isso, pois cada uma tem sua particularidade.


GOSTEI 0
Pedroviol

Pedroviol

16/12/2008

Ué.. Não rola fazer um loop e testar o NewValue e OldValue??


GOSTEI 0
L_carlos

L_carlos

16/12/2008

Olá,

Como é que se usa o Newvalue e o Oldvalue?

OBS: Uso Firebird 1.5 e IBX com D7.

Luiz


GOSTEI 0
Pedroviol

Pedroviol

16/12/2008

É só vc testar o campo da query em questão.
Ex.: if qryClienteCODIGOCLIENTE.NewValue <> qryClienteCODIGOCLIENTE.OldValue then o campo foi modificado.
Espero ter lhe ajudado.
Pedro


GOSTEI 0
L_carlos

L_carlos

16/12/2008

Vlw, vou tentar com o oldvalue e o newvalue. Obrigado.

Luiz


GOSTEI 0
POSTAR