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 :  
 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;
  e tenho um botao imprimir q imprime a receita q foi gravada com este codigo:  
  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;
  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
Eduardo Jr

Eduardo Jr

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar