Fórum ERRO NO DBGRID AO CLICAR EM UMA LINHA #389898
04/11/2010
0
MINHA DUVIDA EO SEGUINTE..
TO USANDO O SEGUINTE CODIGO PARA QUE QUANDO EU CLICAR NO DBGRID NA LINHA SELECIONADA OS DADO DA QUELA LINHA VAO PARA A TABELA CLIENTE PEDIDO LOGO SERA LISTADO NO DBGRID DO FORMULARIO CLIENTE PEDIDO
EIS O SEGUITE CODIGO
procedure TFRMPROCPRODUTOS.DBGrid1DblClick(Sender: TObject);
var idx :integer;
begin
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.append;
with DBGrid1.DataSource do
if DBGrid1.SelectedRows.Count > 0 then
for Idx :=0 to DBGrid1.SelectedRows.Count-1 do
begin
TBLPRODUTOS.GotoBookmark(pointer(DBGrid1.SelectedRows.Items[Idx]));
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('CDPRODUTO').Value :=TBLPRODUTOS.FieldByName('CDPRODUTO').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('NOME PRODUTO').Value := TBLPRODUTOS.FieldByName('NOME PRODUTO').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('QUANTIDADE ').Value := TBLPRODUTOS.FieldByName('QUANTIDADE').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('VALOR').Value := TBLPRODUTOS.FieldByName('VALOR').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.Append;
end;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.ApplyUpdates;
FRMPROCPRODUTOS.Close;
end;
end.
SO QUE O PROBLEMA NA HORA Q CLICO NA LINHA DO GRID ONDE ESTA O PRODUTO QUE EU QUERO DA O ERRO DE KEY VIOLATION
AH LEMBRANDO TO USANDO AS TABELA PARADOX ...
Fabio Oliveira......
Curtir tópico
+ 0Posts
04/11/2010
Rafael Ribeiro
Tente da seguinte forma:
procedure TFRMPROCPRODUTOS.DBGrid1DblClick(Sender: TObject);
var idx :integer;
begin
with DBGrid1.DataSource do
if DBGrid1.SelectedRows.Count > 0 then
for Idx :=0 to DBGrid1.SelectedRows.Count-1 do
begin
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.append;
TBLPRODUTOS.GotoBookmark(pointer(DBGrid1.SelectedRows.Items[Idx]));
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('CDPRODUTO').Value :=TBLPRODUTOS.FieldByName('CDPRODUTO').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('NOME PRODUTO').Value := TBLPRODUTOS.FieldByName('NOME PRODUTO').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('QUANTIDADE ').Value := TBLPRODUTOS.FieldByName('QUANTIDADE').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.FieldByName('VALOR').Value := TBLPRODUTOS.FieldByName('VALOR').Value;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.post;
end;
FRMNOVOPEDIDO.TBLCLIENTEPRODUTO.ApplyUpdates;
FRMPROCPRODUTOS.Close;
end;
end.
Gostei + 0
04/11/2010
Fabio Oliveira......
JA NO FORMULARIO NO TTABLE CLIENTEPROUDO FIZ O O RELACIONAMENTO DA SEGUINTE FORMA
JA MUDEI VARIAS COISAS JA JA NAO SEI ONDE MUDAR
SE ALGUEM TIVER ALGUMA IDEIA
Gostei + 0
04/11/2010
Rafael Ribeiro
Gostei + 0
04/11/2010
Fabio Oliveira......
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)