Utilizando Case para ver estados da tabela
Estou com um pequeno problema. Estou tentando verificar o estado da tabela. Se a tabela estiver em um determinado estado e houver uma outra condição que eu impor então executar tais linhas... O problema é que não estou conseguindo achar a sintaxe correta.
Já tentei inverter posições do comando mas não adiantou. A sintaxe é a seguinte:
Case udmdados.tbdadosfunc.State in of
([dsinsert]): begin
If not udmdados.Tbdadosfunccons.Locate(´Codfunc´,dbedit1.Text,[])then
begin
try
*minha lista de comandos...
except
showmessage(´Errro ao gravar dados´);
udmdados.tbdadosfunc.Cancel;
end;
end
else
begin
If application.MessageBox (´Código já cadastrado´,´Aviso´,0,)=1 then begin
dbedit1.SetFocus;
end;
end;
([dsedit]): begin
If dbedit1.Modified=true then
begin
If udmdados.Tbdadosfunccons.Locate(´codfunc´,dbedit1.Text,[])then
begin
If application.MessageBox (´Código já está cadastrado!´,´Aviso´,0,)=1 then begin
dbedit1.SetFocus;
end;
end
else
begin
try
*minha lista de comandos
except
showmessage(´Errro ao gravar dados´);
udmdados.tbdadosfunc.Cancel;
end;
end;
end;
Acredito que o erro deve estar na utilização do ´in´ ou ´of´, mas já tentei todas as conbinações que eu consegui pensar e nada adiantou. Não sei se isto pode ser feito assim ou é necessário uma variavel para auxiliar neste procedimento.
Obrigado a todos
Wagner Silva
Já tentei inverter posições do comando mas não adiantou. A sintaxe é a seguinte:
Case udmdados.tbdadosfunc.State in of
([dsinsert]): begin
If not udmdados.Tbdadosfunccons.Locate(´Codfunc´,dbedit1.Text,[])then
begin
try
*minha lista de comandos...
except
showmessage(´Errro ao gravar dados´);
udmdados.tbdadosfunc.Cancel;
end;
end
else
begin
If application.MessageBox (´Código já cadastrado´,´Aviso´,0,)=1 then begin
dbedit1.SetFocus;
end;
end;
([dsedit]): begin
If dbedit1.Modified=true then
begin
If udmdados.Tbdadosfunccons.Locate(´codfunc´,dbedit1.Text,[])then
begin
If application.MessageBox (´Código já está cadastrado!´,´Aviso´,0,)=1 then begin
dbedit1.SetFocus;
end;
end
else
begin
try
*minha lista de comandos
except
showmessage(´Errro ao gravar dados´);
udmdados.tbdadosfunc.Cancel;
end;
end;
end;
Acredito que o erro deve estar na utilização do ´in´ ou ´of´, mas já tentei todas as conbinações que eu consegui pensar e nada adiantou. Não sei se isto pode ser feito assim ou é necessário uma variavel para auxiliar neste procedimento.
Obrigado a todos
Wagner Silva
Wagsilvasilva
Curtidas 0
Respostas
Fabio.hc
08/02/2004
Exatamente entre o ´in´ ou ´of´, não precisa do ´in´.
[b:0d0e1cd94f]Case udmdados.tbdadosfunc.State of [/b:0d0e1cd94f]
[b:0d0e1cd94f]Case udmdados.tbdadosfunc.State of [/b:0d0e1cd94f]
GOSTEI 0