Fórum Como preencher a tabela- Programa parcelamento #152755
07/04/2003
0
Aê pessoal tô fazendo uma aplicação para gerar parcelas, o usuário digita o valor da parcela, a quantidade(de parcelas),o número do carnê e a data da 1 prestação.
Os valores parcelados vão para uma StringGrid Ex:
Numero do Carnê:101
Valor:100
Qtd parcelas:2
Data 1 Parcela:10/05/04
A StringGrid ficaria:
______________________________
Num Parcela Vencimento Valor
........1...............10/05/04......50
........2...............10/06/04......50
______________________________
Agora preciso preencher a Tabela Parcelas com o seguinte:
Ficaria:
NumCarne NumParcela DtaVencimento Valor
...101...................1...............10/05/04........50
...101...................2...............10/06/04........50
___________________________________________
estou usando o seguinte:
For I:=1 to StringGrid.RowCount do begin
TbParcelas.Open;
Tbparcelas.Edit;
Tbparcelas.Fieldbyname(Numcarne).Asinteger:=Strtoint(Edit que está o número carnê);
Tbparcelas.Fieldbyname(NumParcela).Asinteger:=Strtoint(StringGrid.Cells[0,I]);
Tbparcelas.Fieldbyname(Dtavencimento).AsString:=StringGrid.Cells[1,I];
Tbparcelas.Fieldbyname(Valor).AsFloat:=StrtoFloat(StringGrid.Cells[2,I]);
TbParcelas.Post;
TbParcelas.Close;
end;
Mas na tabela só aparece o útimo registro, no caso, apenas:
NumCarne NumParcela DtaVencimento Valor
...101...................2..............10/06/04........50
___________________________________________
Gostaria que aparecesse também o registro da parcela número 1.
onde estou errando?
Obrigado
Uso D6 e Interbase.
Os valores parcelados vão para uma StringGrid Ex:
Numero do Carnê:101
Valor:100
Qtd parcelas:2
Data 1 Parcela:10/05/04
A StringGrid ficaria:
______________________________
Num Parcela Vencimento Valor
........1...............10/05/04......50
........2...............10/06/04......50
______________________________
Agora preciso preencher a Tabela Parcelas com o seguinte:
Ficaria:
NumCarne NumParcela DtaVencimento Valor
...101...................1...............10/05/04........50
...101...................2...............10/06/04........50
___________________________________________
estou usando o seguinte:
For I:=1 to StringGrid.RowCount do begin
TbParcelas.Open;
Tbparcelas.Edit;
Tbparcelas.Fieldbyname(Numcarne).Asinteger:=Strtoint(Edit que está o número carnê);
Tbparcelas.Fieldbyname(NumParcela).Asinteger:=Strtoint(StringGrid.Cells[0,I]);
Tbparcelas.Fieldbyname(Dtavencimento).AsString:=StringGrid.Cells[1,I];
Tbparcelas.Fieldbyname(Valor).AsFloat:=StrtoFloat(StringGrid.Cells[2,I]);
TbParcelas.Post;
TbParcelas.Close;
end;
Mas na tabela só aparece o útimo registro, no caso, apenas:
NumCarne NumParcela DtaVencimento Valor
...101...................2..............10/06/04........50
___________________________________________
Gostaria que aparecesse também o registro da parcela número 1.
onde estou errando?
Obrigado
Uso D6 e Interbase.
Anonymous
Curtir tópico
+ 0
Responder
Posts
08/04/2003
Anonymous
Vc está sempre EDITANDO a Tabela, quando deveria INSERIR registros, por isso fica sempre o último resultado...
Responder
Gostei + 0
08/04/2003
Anonymous
TbParcelas.Open;
For I:=1 to StringGrid.RowCount do begin
Tbparcelas.Append;
Tbparcelas.Fieldbyname(Numcarne).Asinteger:=Strtoint(Edit que está o número carnê);
Tbparcelas.Fieldbyname(NumParcela).Asinteger:=Strtoint(StringGrid.Cells[0,I]);
Tbparcelas.Fieldbyname(Dtavencimento).AsString:=StringGrid.Cells[1,I];
Tbparcelas.Fieldbyname(Valor).AsFloat:=StrtoFloat(StringGrid.Cells[2,I]);
TbParcelas.Post;
end;
TbParcelas.Close;
For I:=1 to StringGrid.RowCount do begin
Tbparcelas.Append;
Tbparcelas.Fieldbyname(Numcarne).Asinteger:=Strtoint(Edit que está o número carnê);
Tbparcelas.Fieldbyname(NumParcela).Asinteger:=Strtoint(StringGrid.Cells[0,I]);
Tbparcelas.Fieldbyname(Dtavencimento).AsString:=StringGrid.Cells[1,I];
Tbparcelas.Fieldbyname(Valor).AsFloat:=StrtoFloat(StringGrid.Cells[2,I]);
TbParcelas.Post;
end;
TbParcelas.Close;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)