Como preencher a tabela- Programa parcelamento

Delphi

07/04/2003

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.


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

07/04/2003

Vc está sempre EDITANDO a Tabela, quando deveria INSERIR registros, por isso fica sempre o último resultado...


GOSTEI 0
Anonymous

Anonymous

07/04/2003

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;


GOSTEI 0
POSTAR