Filter x Controle de Acessso

Delphi

08/07/2004

Bem,
volto com um asssunto que não consegui resolver. Alguns dias atrás, coloquei esse problema no fórum, mas não tive sucesso e não consegui resolver. Alguns me deram dicas mas não consegui.

Situação: Tenho um Formulário de Faltas que só poderá ser editado. São Faltas de uma turma. Escolho a turma, e através do filter, aparece todos os alunos dessa turma em uma DBGrid. Preencho com Falta ou Presença (P ou F). Ao Preencher, o código de acesso do usuário fica registrado em um campo que está na própria tabela. Até aí tudo bem.

O problema: Vamos supor que um outro usuário volte a mesma tabela e edite alguns registros. Como eu poderia identificar se os alunos recebem um valor (P ou V) diferente do que estava, para poder colocar o novo código de indentificação do usuário.

Valeu!!

JR.


Jrjoliv2003

Jrjoliv2003

Curtidas 0

Respostas

Jrjoliv2003

Jrjoliv2003

08/07/2004

Galera!!!

Pesquisando, encontrei isso aqui:

if (dm.tbCLIENTES.Modified) or
(dm.tbCLIENTES.State <> dsSetKey) then
begin

end;


Mas vamos supor que dos 20 registros que apareça na DBGrid, 7 sejam modificados (via DBGRid) e nesses modificados tenha que colocar o código de idetificação do usuário.

Como faço isso? Tô confuso!!!

Se puder me ajudar...

JR. :roll:


GOSTEI 0
Beppe

Beppe

08/07/2004

Use o evento OnUpdateRecord. Nele vc setá o campo de código do usuário para o código do usuário atual.


GOSTEI 0
Jrjoliv2003

Jrjoliv2003

08/07/2004

Mas só posso inserir o novo código do usuário se houver modificação na tabela!!!

JR.


GOSTEI 0
Beppe

Beppe

08/07/2004

Naum existe uma propriedade Modified?


GOSTEI 0
Jrjoliv2003

Jrjoliv2003

08/07/2004

Consegui colocando uma tabela temporária (IBTable).
Veja como ficou:

data.IBTempFal.Active:=true;
data.IBTFal.First;
data.IBTempFal.First;

While Not data.IBTFal.Eof Do
Begin
If ( data.IBTFalFAL_FALTOU.Value <> data.IBTempFalFAL_FALTOU.Value ) Then
Begin
data.IBTFal.Edit;
data.IBTempFal.Edit;

data.IBTempFalFAL_FALTOU.Value:=data.IBTFalFAL_FALTOU.Value;
data.IBTempFalFAL_FUNMATRI.Value:=data.IBQLoginUSU_FUNMATRI.Value;
data.IBTFalFAL_FUNMATRI.Value:=data.IBQLoginUSU_FUNMATRI.Value;

data.IBTFal.Post;
data.IBTempFal.Post;

data.IBTFal.Next;
data.IBTempFal.Next;
end
else
Begin
data.IBTFal.Next;
data.IBTempFal.Next;
end;
end;
end;


GOSTEI 0
POSTAR