Como incremento a data em um pequeno gerador de parcelas???????
Olá companheiros delphianos,
Boa tarde!!
Moços, estou tentando gerar parcelas para um sistema aqui, mais estou
"apanhando do delphi". Na verdade está gerando a parcelas, mas não está
incrementando a data.
Por exemplo, se gero 2 parcelas, a data de vencimento seria 22/11/2012 e 22/12/2012, mais no meu está gerando igual, não está incrementando.
Alguém ai pode me ajudar??
Eis o meu código:
===================================================================
procedure TFrmGerarParcelas.BtGeraParcelaClick(Sender: TObject);
var
i,nrini,nrfim:Integer;
data :TDate;
vsql:string;
begin
with QryAux do begin
nrini:= 1;
nrfim:= StrToInt(SpinEditNumParcela.Text);
//data:= IncMonth(Date);
ProgressBar1.Max := (nrfim - nrini) + 1;
vsql:='insert into RECEBIMENTOS (CODIGO, EMISSAO, COD_SOCIO, TIPO, NUMEROPARCELA, TOTALPARCELA, VENCIMENTO, VALOR) ';
vsql:= vsql + 'values (:CODIGO, :EMISSAO, :COD_SOCIO, :TIPO, :NUMEROPARCELA, :TOTALPARCELA, :VENCIMENTO, :VALOR)';
for i:= nrini to nrfim do
begin
Close;
sql.Text := vsql;
ParamByName('CODIGO').Value := i;
ParamByName('EMISSAO').Value := FormatDateTime('DD/MM/YYYY', DateTimePicker1.Date);
ParamByName('COD_SOCIO').Value := vMatricula;
ParamByName('TIPO').Value := ComboBoxTipo.Text;
ParamByName('NUMEROPARCELA').Value := SpinEditNumParcela.Text;
ParamByName('TOTALPARCELA').Value := SpinEditNumParcela.Text;
ParamByName('VENCIMENTO').Value := IncMonth(Date,1); <----------- NESTA LINHA, NÃO TA CORRETA??????
ParamByName('VALOR').AsFloat := StrToFloat(EditValor.Text);
ExecSQL;
ProgressBar1.Position := ProgressBar1.Position + 1;
ProgressBar1.Repaint;
end;
DM.Transaction.CommitRetaining;
Application.MessageBox('Parcelamento gerado com sucesso!!','Informação',MB_OK + MB_ICONINFORMATION);
ProgressBar1.Position := 0;
FrmControleBoletos.QryCadContasReceber.Close;
FrmControleBoletos.QryCadContasReceber.Open;
end;
Close;
end;
==========================================================================================================
Boa tarde!!
Moços, estou tentando gerar parcelas para um sistema aqui, mais estou
"apanhando do delphi". Na verdade está gerando a parcelas, mas não está
incrementando a data.
Por exemplo, se gero 2 parcelas, a data de vencimento seria 22/11/2012 e 22/12/2012, mais no meu está gerando igual, não está incrementando.
Alguém ai pode me ajudar??
Eis o meu código:
===================================================================
procedure TFrmGerarParcelas.BtGeraParcelaClick(Sender: TObject);
var
i,nrini,nrfim:Integer;
data :TDate;
vsql:string;
begin
with QryAux do begin
nrini:= 1;
nrfim:= StrToInt(SpinEditNumParcela.Text);
//data:= IncMonth(Date);
ProgressBar1.Max := (nrfim - nrini) + 1;
vsql:='insert into RECEBIMENTOS (CODIGO, EMISSAO, COD_SOCIO, TIPO, NUMEROPARCELA, TOTALPARCELA, VENCIMENTO, VALOR) ';
vsql:= vsql + 'values (:CODIGO, :EMISSAO, :COD_SOCIO, :TIPO, :NUMEROPARCELA, :TOTALPARCELA, :VENCIMENTO, :VALOR)';
for i:= nrini to nrfim do
begin
Close;
sql.Text := vsql;
ParamByName('CODIGO').Value := i;
ParamByName('EMISSAO').Value := FormatDateTime('DD/MM/YYYY', DateTimePicker1.Date);
ParamByName('COD_SOCIO').Value := vMatricula;
ParamByName('TIPO').Value := ComboBoxTipo.Text;
ParamByName('NUMEROPARCELA').Value := SpinEditNumParcela.Text;
ParamByName('TOTALPARCELA').Value := SpinEditNumParcela.Text;
ParamByName('VENCIMENTO').Value := IncMonth(Date,1); <----------- NESTA LINHA, NÃO TA CORRETA??????
ParamByName('VALOR').AsFloat := StrToFloat(EditValor.Text);
ExecSQL;
ProgressBar1.Position := ProgressBar1.Position + 1;
ProgressBar1.Repaint;
end;
DM.Transaction.CommitRetaining;
Application.MessageBox('Parcelamento gerado com sucesso!!','Informação',MB_OK + MB_ICONINFORMATION);
ProgressBar1.Position := 0;
FrmControleBoletos.QryCadContasReceber.Close;
FrmControleBoletos.QryCadContasReceber.Open;
end;
Close;
end;
==========================================================================================================
Marcos Morais
Curtidas 0
Respostas
Romario Melo
22/10/2012
Olha a gambi.
tenta só somar, tipo:
DateTimepicker1.date + 30;
ai ele soma 30 dias a data.
funciona direitinho
tenta só somar, tipo:
DateTimepicker1.date + 30;
ai ele soma 30 dias a data.
funciona direitinho
GOSTEI 0
Marcos Morais
22/10/2012
Bom dia galera!!!!
Resolvido com a ajuda do nosso amigo Guinther Pauli [ guintherpauli@gmail.com ]
ParamByName('VENCIMENTO').Value := IncMonth(Date,i -1);
Resolvido com a ajuda do nosso amigo Guinther Pauli [ guintherpauli@gmail.com ]
ParamByName('VENCIMENTO').Value := IncMonth(Date,i -1);
GOSTEI 0