GARANTIR DESCONTO

Fórum Problemas com master source e master fields? #344609

16/08/2007

0

Pessoal tenho uma tabela linkada em outra pelo mastersouce e o masterfields, ta beleza, mostra os campos certo cfe. o campo linkado.

O problema surge quando vou sair sem gravar no banco e retorno na tabela novamente.

Explico
1º tenho um dbgrid aonde tem os nomes dos associados e outra que tem os movimentos de cada associado, entao seleciono um associado e passo para o segundo dbgrid que deve mostrar todos dados referente aquele associado, pois como disse as tabelas estao linkadas.

Mostrar certo ateh que mostra, mais se eu forçar a saida antes de gravar os dados chamo esta função
//--Procedure checa se nao tem nada na tabela em andamento antes de fechar o form
procedure CheckState(ATable: TzQuery);
var
  strMessage : String[25];
  wrdMessageResult : word;
begin
  ATable.UpdateRecord;  { Atualiza a tabela sem gravar }
  if ( ATable.Modified ) and
     ( ATable.State <> dsSetKey ) then
  begin
    if ATable.State = dsEdit then
      strMessage := ´Editando registro, ´;
    if ATable.State = dsInsert then
      strMessage := ´Inserindo registro, ´;

    wrdMessageResult := MessageDlg(strMessage+
                        ´as informações que ainda não ´+
                        ´foram salvas serão perdidas!´+#10+
                        ´Salva as informações ?´, mtConfirmation,
                        [mbYes,mbNo,mbCancel],0);
    case wrdMessageResult of
      mrCancel: Abort;
      mrYes   : ATable.Post;
      mrNo    : ATable.Cancel;
    end;
  end
  else
    ATable.Cancel;
end;
 


e trato ela no onCloseQuery do form assim
procedure TFMensal.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if (dm.ZQMensal2.State in [dsEdit, dsInsert]) then
    CheckState(dm.ZQMensal2);
end;


O problema eh na hora de voltar novamente no form se caso essa funçao eh disparada. Apareçe todos os dados como se nao tivesse linkado as tabelas. Ai pra resolver somente saindo do programa e retornando novamente.

Bom trabalho com as tabelas fechadas e abro elas quando eh criado o form no evento oncreate e fecho as mesmas no evento ondestry do form, entao nao deveria destruir a ultima disparada que fez a função e quando eu abrisse o form mostrar certo, em vez de todos dados de todos associados?

Eh isso ai pessoal
Obrigado a atenção de todos
Adriano


Adriano_servitec

Adriano_servitec

Responder

Posts

17/08/2007

Adriano_servitec

Pessoal descobri, vacilo meu aqui. :oops:

Explico:

Quando eu criei a tela de splash eu usei o Project ---> Options (Shift+Ctrl+F11), aonde coloquei ele no lado direito ´Available Forms´ e acidentalmente coloquei o Form ´FMensal´ aonde chamo a tabela junto, por isso que perdia o valor.

Eh isso ai pessoal, deixo postado aqui pra se um dia alguem tiver o mesmo problema.


Responder

Gostei + 0

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

Aceitar