SABER SE UMA TABELA FOI ALTERA ANTES DE SALVA

WANDSONSOUSA 15/07/2015 17:06:11
#448892
Boa tarde, pessoal, como saber se uma tabela foi alterada antes de clicar em salvar / atualiza.

desde de já agradeço. att
KERPLUNK 15/07/2015 18:59:55
#448897
Alterada você quer dizer na estrutura ou se o registro ao qual você vai gravar está diferente do que está sendo visualizado?
NILSONTRES 16/07/2015 00:29:46
#448909
Se vc utilizar um banco de dados é possivel, access só com gambiarra e nehuma é segura.
Já banco de dados vc pode utilizar o campo do tipo TimeStamp que só se altera quando alguma edição é feita de fato no registro.
SIRIOUS 16/07/2015 14:54:02
#448931
Eu faria assim: abriria o form para editar. Ao ser carregado, como nada ainda foi alterado, o botão <Salvar Alterações> ou <Gravar Alterações> estaria desabilitado...
Daí, mudaria uma informação qualquer num campo X do form. No evento <LostFocus> do campo editado, o botão <Salvar Alterações> ou <Gravar Alterações> passaria
a habilitado, indicando que houve alguma alteração nas informações da tabela.
(Para evitar algum equivoco nas informações da tabela, também um botão <Cancelar> seria habilitado, no evento <LostFocus> do campo modificado), deixando à sua
escolha salvar as alterações, ou abandonar sem salvar o que foi alterado.

WANDSONSOUSA 17/07/2015 19:23:26
#449008
Citação:

:
Alterada você quer dizer na estrutura ou se o registro ao qual você vai gravar está diferente do que está sendo visualizado?


Apenas o registro, tem como fazer essa comparação?
KERPLUNK 17/07/2015 19:29:17
#449009
Tem várias maneiras de se fazer isso. Vai depender da estrutura do seu banco de dados.
NILSONTRES 17/07/2015 19:53:15
#449011
Banco ?
WANDSONSOUSA 17/07/2015 20:18:00
#449012
o Banco de dados que estou a usar e Mysql.
NILSONTRES 17/07/2015 21:47:20
#449014
Ótimo, então, se sua tabela não possui, insira um campo tipo timestamp.
Eu faço assim:
Quando entra o registro na tela eu gravo a data + hora em que ele entrou em uma variavel de entrada, quando o usuario for salvar, eu verifico o campo timestamp desse registro, se ele for mais recente que a varialvel de entrada, é sinal que houve alteração enquanto ele estava ali carregado, então não autorizo a edição e informo qual usuario o fez, em que maquina e em que horário, é claro, nessa tabela existe os campos, usuario/maquina e timestamp.
JCM0867 18/07/2015 23:18:12
#449034
Eu criei uma tabela, que mostra usuário, Data , Hora, form que entrou e Ação ( salvou, alterou, deletou, incluiu ou imprimiu), e num campo detalhes o que ele alterou, faço isso em cada comando executado pelo usuário. Se o usuário clicou em alterar e clicou em salvar, Ele salva o Log da ação independente se algum campo foi alterado ou não.
Ajuda, pois usuário ama dizer que o registro sumiu, alterou ou foi incluído sozinho, dizendo culpa do sistema. teve um que disse que eu alterei o log para culpa-lo e o disse que o log de ações estava errado.
NILSONTRES 19/07/2015 17:13:01
#449041
Citação:

Ele salva o Log da ação independente se algum campo foi alterado ou não


Ai que esta a diferença, os timestamp só se alteram se houve de fato alteração, dessa forma vc passa uma informação precisa ao cliente.
E a questão não é se fez ou não, é se fez enquanto o registro esteve carregado na tela.
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas