Fórum DBMemo só mostra dados quando clico nele e dou enter. #487893

04/08/2014

0

DBMemo só mostra dados quando clico nele e dou enter.

Tenho um Data module com:
1 - ADoConnection Na seguinte configuração
3 - AdoQuery AQryList
2 - Table AQry1 se liga ao ATab1 que se liga ao DS1
2 - Data Source AQryAdv se liga ao ATAb2 que se liga ao DSadv

Campos do ATab2 ADvcodigo e ADvnome tem como master Memcod e memnome respectivamente do DS1.

Minha tabela principal tem um dbgrid. eu seleciono um cliente e então clico em um botão fora do dbgrid, que abre um novo form.
Nesse novo forme tenho 2 campos com conteúdo do DS1 e um campo do ATab2.

O que eu quero dizer com isso é que quando eu seleciono um cliente na minha tabela princiapal e depois clico no botão que abre o outro form ele aparece sem dados nos campos; contudo, se clico no campo dbmemo do novo form ele atualiza os dados.

já tentei colocar assim:

procedure TDM.ATab2AfterOpen(DataSet: TDataSet);
begin
Dm.ATab2.UpdateStatus;
end;
end.

também tentei:

procedure TFrmAdvantage.DBMemo1Enter(Sender: TObject);
begin
FrmAdvantage.DBMemo1.Refresh;
begin
DM.Atab2.refresh;
end;
end;

procedure TFrmAdvantage.FormShow(Sender: TObject);
begin
FrmAdvantage.DBMemo1.SetFocus;
end;

end.


Não adianta tenho que sempre clicar no form e dar enter pra atualizar os dados.

Já tentei também fechar e abrir a tabela a query e mesmo assim não dá!
Fabiano Pereira

Fabiano Pereira

Responder

Posts

05/08/2014

Renato Rubinho

Fabiano,

Pelo que entendi, o ATAb2 é que contém os dados do DBMemo1, certo?
Sugestão de teste é ver se o ATAb2 está ativo na abertura do form. Acho que só está abrindo depois de você dar o enter no DBMemo1.

procedure TFrmAdvantage.FormShow(Sender: TObject);
begin
  if not Dm.ATab2.Active then
    Dm.ATab2.Open;
end;


Abraççç,
Renato
Responder

Gostei + 0

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

Aceitar