Coloca essa função que verifica o cargo no evento OnValidade do seu campo no
DataSet.


Em 12 de agosto de 2010 15:27, Ricardo Rocha
<ricardo_r...@yahoo.com.br>escreveu:

>
>
> Olá a todos,
>
> Estou enfrentando um problema que eu mesmo criei... e não acho a solução.
>
> É o seguinte tenho um formulário de cadastro, nele tenho uma função que
> muda a cor do componente ao receber e sair do foco, para que minha query
> que verifica se o nome (generico) já existe no banco funcionar tive que
> coloca-la dentro da função que muda o foca... funciona redondinho... Se
> a query não ficar dentro da função (muda foco) ela não funciona.
>
> Agora vem o problema... Quando eu localizo um cadastro e quero alterar
> um campo que não seja o campo onde é feito a verificação de duplicidade
> ele faz a verificão tenho que altera-lo, issao está errado..
>
> Como escapar desta verificação quando eu quero alterar um dadastro...
>
> {Código do muda foco evento Exit}
>
> procedure TfrmCadastroCargo.ExitEx(Sender: TObject);
> var
> nome:String;
> begin
> {: altera a cor do componente quando sair o foco }
> if (Sender is TEdit) then
> (Sender as TEdit).Color := clWindow;
> if (Sender is TMemo) then
> (Sender as TMemo).Color := clWindow;
> {: altera a cor do componente quando sair o foco }
> if (Sender is TDBEdit) then
> (Sender as TDBEdit).Color := clWindow;
> if (Sender is TDBMemo) then
> (Sender as TDBMemo).Color := clWindow;
>
> {: verifica se já existe um cargo com o mesmo nome }
>
> nome:= DBEdit1.Text;
> with qBusca do
> begin
> Close;
> Sql.Clear;
> Sql.Add('select CARGO_NOME from CARGO where CARGO_NOME
> =:CARGO_NOME');
> ParamByName('CARGO_NOME').AsString := nome;
> Open;
> if not IsEmpty then
> begin
> ShowMessage('O Cargo ' + '"' + DBEdit1.Text + '"' + ' já está
> cadastrado! Entre com um novo nome ou Alt+C para cancelar.');
> Close;
> DBEdit1.SetFocus;
> end;
> end;
>
> {:fim verifica se já existe um cargo com o mesmo nome}
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a