Fórum Tabela Não Atuliza #244350

25/07/2004

0

Tenho um banco de dados em um Aplicativo delphi, e estou com um problema, quando mudo a opção de um cliente(que está e um dbcombobox) no cadastro e dô um refresh e mando imprimir o cadastro com a opção atualizada, aparece ainda a anterior, só muda para atualizada quando fecho e abro o aplicativo novamente. o que fazer?

desde já agradeço,

Adriano.


Xadriano

Xadriano

Responder

Posts

25/07/2004

Bon Jovi

Mostre o código pra facilitar


Responder

Gostei + 0

25/07/2004

Xadriano

Do Cadastro é o seguinte:
var
FrmCadastro: TFrmCadastro;

implementation

uses UnDataModule;

{$R *.dfm}
Type
NewtypeNav=Class(TdbNavigator);


procedure TFrmCadastro.FormClose(Sender: TObject;
var Action: TCloseAction);
Var
B: TBITMAP;
begin
Action := Cafree;
end;

procedure TFrmCadastro.FormCreate(Sender: TObject);
begin
DataModule2.ADOQuery1.GetFieldNames(Combobox1.Items);
NewTypeNav(DbNavigator1).Color:=ClRed;
end;

procedure TFrmCadastro.FormShow(Sender: TObject);
begin
Combobox2.Items.Clear;
DataMOdule2.ADOQuery1.First;
While Not Datamodule2.ADOQuery1.Eof do begin
ComboBox2.Items.Add(Datamodule2.ADOQuery1.fieldByName(´Nome´).AsString);
DataModule2.ADOQuery1.Next;
End;
end;

procedure TFrmCadastro.BitBtn1Click(Sender: TObject);
Var
L0pt : TlocateOptions;
begin
if CheckBox1.Checked then
Include(L0pt, lopartialKey);
if not Adoquery1.Locate(ComboBox1.Text,Combobox2.Text,L0pt) then
ShowMessage(´Nenhum Registro Encontrado.´);

end;
Do Relatorio:

rocedure TFrmPrint.QuickRep1StartPage(Sender: TCustomQuickRep);
begin
if Datamodule2.ADOQueryGeralCURSO.Value = ´Anual´ then
begin
Qrlabel77.Caption:=´R$ 55,00´;
Qrlabel91.Caption:=´R$ 55,00´;
Qrlabel119.Caption:=´R$ 55,00´;
Qrlabel127.Caption:=´R$ 55,00´;
Qrlabel155.Caption:=´R$ 55,00´;
Qrlabel175.Caption:=´R$ 55,00´;
Qrlabel204.Caption:=´R$ 55,00´;
Qrlabel218.Caption:=´R$ 55,00´;

End else
if Datamodule2.ADOQueryGeralCURSO.Value = ´Semestral´ then
begin
Qrlabel77.Caption:=´R$ 50,00´;
Qrlabel91.Caption:=´R$ 50,00´;
Qrlabel119.Caption:=´R$ 50,00´;
Qrlabel127.Caption:=´R$ 50,00´;
Qrlabel155.Caption:=´R$ 50,00´;
Qrlabel175.Caption:=´R$ 50,00´;
Qrlabel204.Caption:=´R$ 50,00´;
Qrlabel218.Caption:=´R$ 50,00´;
End Else
if Datamodule2.ADOQueryGeralCURSO.Value = ´E.J.A.´ then
Begin
Qrlabel77.Caption:=´R$ 55,00´;
Qrlabel91.Caption:=´R$ 55,00´;
Qrlabel119.Caption:=´R$ 55,00´;
Qrlabel127.Caption:=´R$ 55,00´;
Qrlabel155.Caption:=´R$ 55,00´;
Qrlabel175.Caption:=´R$ 55,00´;
Qrlabel204.Caption:=´R$ 55,00´;
Qrlabel218.Caption:=´R$ 55,00´;
end else
if DataModule2.ADOQueryAnualCurso.Value = ´Publico´ then
Begin

Qrlabel77.Caption:=´R$ 40,00´;
Qrlabel91.Caption:=´R$ 40,00´;
Qrlabel119.Caption:=´R$ 40,00´;
Qrlabel127.Caption:=´R$ 40,00´;
Qrlabel155.Caption:=´R$ 40,00´;
Qrlabel175.Caption:=´R$ 40,00´;
Qrlabel204.Caption:=´R$ 40,00´;
Qrlabel218.Caption:=´R$ 40,00´;



end;
end;

procedure TFrmPrint.QuickRep1Preview(Sender: TObject);
begin
FrmCarnetNovo.QrPreview1.qrPrinter :=
TqrPrinter(Sender);
FrmCarnetNovo.Show;
end;

end.

:(


Responder

Gostei + 0

25/07/2004

Bon Jovi

Valeu..., só nao entendi onde sao abertos os datasets, e qual dataset exatamente é usada no quickreport.

Mesmo assim, veja se é por falta de um desses blocos em negrito:

procedure TFrmCadastro.FormShow(Sender: TObject);
begin
Combobox2.Items.Clear;
[b:904f5e1a24] DataMOdule2.ADOQuery1.Close;
DataMOdule2.ADOQuery1.Open;[/b:904f5e1a24]
// DataMOdule2.ADOQuery1.First;
While Not Datamodule2.ADOQuery1.Eof do begin
ComboBox2.Items.Add(Datamodule2.ADOQuery1.fieldByName(´Nome´).AsString);
DataModule2.ADOQuery1.Next;
End;
end;

procedure TFrmPrint.QuickRep1Preview(Sender: TObject);
begin
[b:904f5e1a24] DataMOdule2.ADOQuery1.Close;
DataMOdule2.ADOQuery1.Open;[/b:904f5e1a24]
FrmCarnetNovo.QrPreview1.qrPrinter := TqrPrinter(Sender);
FrmCarnetNovo.Show;
end;


Responder

Gostei + 0

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

Aceitar