[firebase-br] Ajuda em Triger

NextCorp Informática nextcorp em terra.com.br
Sex Jun 19 13:34:03 -03 2009


Oi Zottis

Somente agora pude responder, segue um exemplo que utilizo a muito tempo em 
clientes, pode ser que sirva. Coloco ela no form principal e tenho um 
arquivo .ini.

Se o ano for diferente, neste caso gero dados para uma outra tabela...

procedure TfmPrincipal.FormActivate(Sender: TObject);
var
     wanoatu : String;
begin
            {verifica se o ano corrente e diferente do ano atual}
            wanoatu:= 
LeIni(ExtractFilePath(Application.ExeName)+'\nextcorp','Outros','AnoAtu'); 
//ano corrente
            if Copy(DateToStr(Date),7,4) <> wanoatu then
               begin
                   {executa procedure para gerar dieese}
                   dmDados.IB_Transaction1.StartTransaction;
                   xpedMsg.Text:= 'Gerando dados para Dieese, reverente ao 
ano de '+wanoatu;
                   with dmDados.IB_StoredProc2 do
                       begin
                             Close;
                             StoredProcName:= 'SP_DIE_GERA_ESTATISTICA';
                             ParamByName('wano').asString:= wanoatu;
                             if not Prepared then
                                Prepare;
                             ExecProc;
                       end;
               end;
            {Muda o anoatu}
            if 
FileExists(ExtractFilePath(Application.ExeName)+'\nextcorp.ini') then
               begin
                   GravaIni(ExtractFilePath(Application.ExeName)+'\nextcorp','Outros','AnoAtu', 
Copy(DateToStr(Date),7,4));
                   dmDados.IB_Transaction1.Commit;
                   xpedMsg.Text:= 'Dados gerados !!!';
               end
            else
               begin
                  ShowMessage('Configurações especiais não forão salvas !!! 
Informe ao Suporte da NextCorp !!!');
                  dmDados.IB_Transaction1.Rollback;
                  dmDados.IB_Connection1.Disconnect;
                  Application.Terminate;
                  Close;
               end;
end;

Atenciosamente

Washington André Muller da silva

#######################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0xx-(51)-3037-6605
#######################




----- Original Message ----- 
From: "Zottis" <zottissistemas em brturbo.com.br>
To: <lista em firebase.com.br>
Sent: Friday, June 19, 2009 9:56 AM
Subject: [firebase-br] Ajuda em Triger


Pessoal, preciso fazer uma Triger que ZERE um generator quando mudar o Ano,

Mais ou menos Assim:

create trigger ZERAR_CODIGO_ANUAL
active on connect as
begin
     execute statement 'ALTER SEQUENCE GEN_CODIGO_ANUAL RESTART WITH 0;';
end

mas não sei como reconhecer se é um novo ano
pensei em pegar a data maior de alguma tabela, e comparar o ano

mas não tenho certeza de como fazer, alguém poderia me dar alguma dica?


Zottis(TeamFB Users)

Zottis Sistemas - 2009 Ano XII
Programação Delphi/PHP/Firebird/MySQL

"Um homem só tem o direito de olhar
  a um outro de cima para baixo, quando
  vai ajuda-lo a levantar-se".
                   Gabriel Garcia Marquez
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail verificado pelo Terra Anti-Spam.
Para classificar esta mensagem como spam ou não spam, visite
http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0NzQ4MTEjcGVybSF0ZXJyYSYxLDEyNDU0MTY1MDQuNTUzNDA4LjUyOTEudHJpYnVuZS50ZXJyYS5jb20sNDE4MA==TerraMail
Verifique periodicamente a pasta Spam para garantir que apenas mensagens
indesejadas sejam classificadas como Spam.




--------------------------------------------------------------------------------



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.339 / Virus Database: 270.12.80/2187 - Release Date: 06/19/09 
06:53:00





Mais detalhes sobre a lista de discussão lista