Você pode fazer assim: if DBGrid1.SelectedIndex = 'Indíce da coluna' then //Aqui você vai colocar o indíce da coluna do dbgrid. Se for a primeira coluna vai ser 0, se for a segunda vai ser 1 e assim por diante. if TRIM(DBGrid1.Columns[Indice da coluna].Field.AsString) = '' then // testa se está em branco BEGIN
SHOWMESSAGE(DBGrid1.Columns[Indice da coluna].Field.AsString); MINHA_ROTINA; // dispara minha rotina END; Testa aí que acho que vai funcionar, um abraço. Em 21/02/07, Magnun Oliveira <[EMAIL PROTECTED]> escreveu: > > Eu preciso fazer uma ação somente se o conteudo de um campo for igual a > ''. > fiz assim: > > if DBGrid1.SelectedField.FieldName = 'MEU_CAMPO' then // testa se é o > campo > correto > if TRIM(TEdit(DBGrid1.Controls[0]).Text) = '' then // testA se está em > branco > BEGIN > > SHOWMESSAGE(TEdit(DBGrid1.Controls[0]).Text); > > MINHA_ROTINA; // dispara minha rotina > > END; > > coloquei o showmessage ali, a titulo de verificaçao, pq nao estava dando > certo, e percebi q o valor de TRIM(TEdit(DBGrid1.Controls[0]).Text) vai > ser > o valor do ultimo campo q teve seu CONTEUDO selecionado. (o q acontece > quando vc aperta o enter dentro do grid). > > Qual a maneira correta de fazer o q eu to querendo? > abs. > > __________________________________________________________ > MSN Messenger: converse com os seus amigos online. > http://messenger.msn.com.br > > > -- Willian Leal Desenvolvedor de Softwares MSN: [EMAIL PROTECTED] Celular:(32) 8409 - 3077 [As partes desta mensagem que não continham texto foram removidas]