ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Como gravar dados diferentes no mesmo form (Resolvido)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jul 16, 2008 12:46 am    Assunto: Como gravar dados diferentes no mesmo form (Resolvido) Responder com Citação

Pessoal, um cliente meu pediu para ver se tem como no form de contas a pagar/receber deixar apenas um form só, em vez de usar 2 como eu estou usando.

Seguinte tenho um form para lancamentos das contas e outro para baixa das contas, então ele me pediu se poderia unificar em um form só.

Estou estudando um meio de fazer isso usando TabSheets

Mais como eu utilizo apenas uma tabela para incluir e baixar com um campo status aonde quando o lançamento já foi dado baixa ele assume outro tipo.

Então pesnei nesta forma aqui
Código:
if PageControl1.Activepage = Tabsheet1 then
 begin
     ShowMessage('Modulo Tabela');
     Abort;
 end
 else if PageControl1.Activepage = Tabsheet2 then
 begin
    {Grava apenas os lancamentos aqui}
    try //começo do trecho try/except
      if Trim(edtNr_Doc.Text) = '' then
      begin
         raise Exception.Create('Faltou preencher o campo Numero do Documento.' );
      end
      else
        if not dsPadrao.DataSet.Active then
           dsPadrao.DataSet.Open; 
           dsPadrao.DataSet.FieldByName('Status') := 'A';         
           dsPadrao.DataSet.Post;
           edtNr_Doc.Enabled := False;
           if dm.Transaction.Active = False then
              dm.Transaction.Active := True;
              dm.Transaction.CommitRetaining;
           Dc_MessageDlg('Dados gravados com sucesso', mtInformation, [mbOk],0);
   except
     on E:Exception do
     begin
       if dm.Transaction.Active = False then
             dm.Transaction.Active := True;
             dm.Transaction.RollBack;
       dc_MessageDlg('Ocorreu um erro neste processo. ' +#13#13 +'Erro gerado: '+#13+
       E.Message + #13#13 + 'Todo o processo foi abortado!', mtError, [mbOk],0);
       DSPadrao.DataSet.Cancel;
       edtNr_Doc.Enabled := False;
       Exit;
     end;
   end; //Final try/except
 end
 else if PageControl1.Activepage = Tabsheet3 then
     {Grava apenas as baixas}
     try //começo do trecho try/except
      if Trim(edtNr_Doc.Text) = '' then
      begin
         raise Exception.Create('Faltou preencher o campo Numero do Documento.' );
      end
      else
        if not dsPadrao.DataSet.Active then
           dsPadrao.DataSet.Open;           
           dsPadrao.DataSet.FieldByName('Status') := 'P';         
           dsPadrao.DataSet.Post;
           if dm.Transaction.Active = False then
              dm.Transaction.Active := True;
              dm.Transaction.CommitRetaining;
           Dc_MessageDlg('Dados gravados com sucesso', mtInformation, [mbOk],0);
   except
     on E:Exception do
     begin
       if dm.Transaction.Active = False then
             dm.Transaction.Active := True;
             dm.Transaction.RollBack;
       dc_MessageDlg('Ocorreu um erro neste processo. ' +#13#13 +'Erro gerado: '+#13+
       E.Message + #13#13 + 'Todo o processo foi abortado!', mtError, [mbOk],0);
       DSPadrao.DataSet.Cancel;     
       Exit;
     end;
   end; //Final try/except


Então a pergunta: Será que desta forma vai dar certo?

Ou tem uma maneira pra fazer isso?

Alguma ideia pessoal?
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree


Editado pela última vez por adriano_servitec em Qui Jul 17, 2008 9:14 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fbricc
Novato
Novato


Registrado: Terça-Feira, 15 de Julho de 2008
Mensagens: 4

MensagemEnviada: Qui Jul 17, 2008 9:02 am    Assunto: Responder com Citação

Bom dia,

não entendi direito, mais ao meu ver, vc poderia utilizar tabelas independentes para cadas tabsheet

flw
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Jul 17, 2008 9:14 am    Assunto: Responder com Citação

fbricc escreveu:
Bom dia,

não entendi direito, mais ao meu ver, vc poderia utilizar tabelas independentes para cadas tabsheet

flw
Obrigado fbricc, mais ja resolvi este problema.

Valeu pela ajuda amigo.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB