Fórum Erro ao imprimir registros #377933
20/05/2010
0
Ola!
Eu tenho um form onde o usuario vai criar a receita e depois de criada ele salva e vai imprimir a mesma.Tenho um button salvar com este codigo :
e tenho um botao imprimir q imprime a receita q foi gravada com este codigo:
Acontece que se eu gravo uma receita e imprimo depois sem fechar o form faço outra receita e gravo na hora de imprimir ao inves do programa imprimir a segunda receita pois a primeira ja foi impressa ele imprime a primeira de novo.
O q estou fazendo erraod?
obrigado
if edtMedico.ItemIndex >= 0 then
Begin
if mReceita.Text <> '' then
Begin
With DM.cdsReceitas do
Begin
Insert;
FieldbyName('COD_CLI').AsInteger := DM.cdsClientes.FieldByName('CODIGO').AsInteger;
FieldByName('NOME_CLIENTE').AsString := DM.cdsClientes.FieldByName('NOME').AsString;
FieldByName('MEDICO').AsString := edtMedico.Text;
FieldByName('DATA').AsString := DateToStr(Now);
FieldbyName('RECEITA').AsString := mReceita.GetRtfData;
FieldByName('PROXIMA_RECEITA').AsString := DatetoStr(NextMonth(Now));
Post;
ApplyUpdates(0);
Close;
Open;
end;
Receita := mReceita.Text;
MessageDlg('A receita : ' + #13#10 + Receita + #13#10 + ' foi salva com sucesso!',mtInformation,[mbOk],0);
RzGroupBox1.Enabled := False;
RzGroupBox2.Enabled := False;
mReceita.Enabled := False;
btSalvar.Enabled := False;
btInserir.Enabled := True;
btCancelar.Enabled := False;
btFechar.Enabled := True;
btImprimir.Enabled := True;
end
Else
Begin
MessageDlg('Você precisa entrar com a receita antes de salvar sua receita.',mtInformation,[mbOk],0);
edtMedico.SetFocus;
end;
end
Else
Begin
MessageDlg('Você precisa cadastrar o médico responsável antes de inserir qualquer receita ou exame.',mtInformation,[mbOk],0);
btCancelarClick(Sender);
end;
if mReceita.Text <> '' then
Begin
if MessageDlg('Deseja imprimir esta receita ?' + #13#10 + 'Verifique se a impressora está pronta e clique SIM',mtWarning,[mbYes,mbNo],0 ) = mrYes then
Begin
DM.cdsImprimir.Close;
DM.cdsImprimir.CommandText := 'select * from RECEITASMEDICAS where COD_CLI =:COD AND COD_RECEITAS =:COD_REC';
DM.cdsImprimir.Params[0].AsInteger := DM.cdsClientes.FieldByName('CODIGO').AsInteger;
DM.cdsImprimir.Params[1].AsInteger := DM.cdsReceitas.FieldByName('COD_RECEITAS').AsInteger;
DM.cdsImprimir.Open;
DM.RvProject1.Execute;
end;
end;
Eduardo Jr
Curtir tópico
+ 0
Responder
Posts
20/05/2010
Emerson Lara
Caro Eduardo
Procure verificar se esta fechando os clientdataset, se não esta ficando algo em memória "cache de dados"
por no codigo de impressao pelo que vi você esta usando os fields, ele deve estar pegando o anterior.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)