GARANTIR DESCONTO

Fórum Apagar dado em tabela no dbgrid com tecla Delete #398498

31/03/2011

0

Amigos,

Eu de novo.

Preciso deletar um item de uma tabela selecionando pelo DBGrid e apagando com a tecla Delete. Ao clicar a tecla Delete, não mostra o item selecionado, e sim outro, o código que uso está abaixo:

 if key = vk_delete then
 begin
    form1.Tabela.Close;
    form1.Tabela.Open;
    form1.Tabela.Locate('Codigo',DBGrid1.DataSource.DataSet.Fields[0].asstring,[]);
   if MessageDlg('Deseja excluir o nome - ' + DBGrid1.DataSource.DataSet.Fields[0].asstring + '?', mtConfirmation, [mbYes, mbNo], 0)= mrYes then
   begin
     form1.Tabela.Delete;
   end;
 end;

Onde estou errando, alguém pode me ajudar?
Frederico Brigatte***

Frederico Brigatte***

Responder

Posts

31/03/2011

Rodrigo Mattos

amigo eu fiz desse jeito, e funcionou eu coloquei no evento KeyDown do dbgrid esse codigo:

  if Key = VK_DELETE
  then begin
       if MessageDlg('Deseja Excluir esse Pedido do Romaneio',mtConfirmation,[mbYes,mbNo],0)=mrYes
       then begin
            DMRomaneio.cdsRomaneioItem.Delete;
            DMRomaneio.cdsRomaneioItem.ApplyUpdates(0);
       end;
  end;



Espero ter Ajudado.
http://mundodoprogramador.wordpress.com
Responder

Gostei + 0

31/03/2011

Frederico Brigatte***

amigo eu fiz desse jeito, e funcionou eu coloquei no evento KeyDown do dbgrid esse codigo:

  if Key = VK_DELETE
  then begin
       if MessageDlg('Deseja Excluir esse Pedido do Romaneio',mtConfirmation,[mbYes,mbNo],0)=mrYes
       then begin
            DMRomaneio.cdsRomaneioItem.Delete;
            DMRomaneio.cdsRomaneioItem.ApplyUpdates(0);
       end;
  end;


Tem como mostrar o registro na tela? Obrigado por enquanto.


Espero ter Ajudado.
http://mundodoprogramador.wordpress.com
Responder

Gostei + 0

31/03/2011

Rodrigo Mattos

amigo como assim mostrar o registro na tela, você quer que mostra o registro que você apagou na tela?




http://mundodoprogramador.wordpress.com
Responder

Gostei + 0

31/03/2011

Frederico Brigatte***

amigo como assim mostrar o registro na tela, você quer que mostra o registro que você apagou na tela?


http://mundodoprogramador.wordpress.com


Na mensagem:

if MessageDlg('Deseja Excluir esse Pedido do Romaneio',mtConfirmation,[mbYes,mbNo],0)=mrYes
    then begin

Mostrar o item selecionado. Estou usando Access. Usei essa rotina e apagou o primeiro, e não o selecionado.

Responder

Gostei + 0

31/03/2011

Rodrigo Mattos

amigo tenta fazer assim:



procedure KeyDown;
begin
  if key = vk_delete then
  begin
   
 if MessageDlg('Deseja excluir o nome - ' + 
DBGrid1.DataSource.DataSet.Fields[0].asstring + '?',   mtConfirmation, 
[mbYes, mbNo], 0)= mrYes then
   begin
     form1.Tabela.Delete;
   end;
 end;
  
end;


Responder

Gostei + 0

31/03/2011

Rodrigo Mattos

amigo tenta fazer assim:



procedure KeyDown;
begin
  if key = vk_delete then
  begin
   
 if MessageDlg('Deseja excluir o nome - ' + 
DBGrid1.DataSource.DataSet.Fields[0].asstring + '?',   mtConfirmation, 
[mbYes, mbNo], 0)= mrYes then
   begin
     form1.Tabela.Delete;
   end;
 end;
  
end;


Responder

Gostei + 0

31/03/2011

Frederico Brigatte***

amigo tenta fazer assim:



procedure KeyDown;
begin
  if key = vk_delete then
  begin
   
 if MessageDlg('Deseja excluir o nome - ' + 
DBGrid1.DataSource.DataSet.Fields[0].asstring + '?',   mtConfirmation, 
[mbYes, mbNo], 0)= mrYes then
   begin
     form1.Tabela.Delete;
   end;
 end;
  
end;




Agora sim, obrigado. Estava sempre deletando o primeiro, e não o que estava selecionando.

Obrigado mesmo.

Ah, tenho um outro chamado, poderia me ajudar? 398221. Estou precisando. Esse está concluído.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar