Oi Gente,,,,
 
    Eu criei uma tabela de vendedores e o campo que identifica o código
do vendedor é integer not null
    Bom. Criei um generator para incrementar esse campo, mas no
GeneratorFields do DataSet eu perco a numeração quando o usuário desiste
da operação de inclusão.
    Para contornar resolvi fazer uso de uma Trigger que dispara o
generator apos a sua inserção, ou seja no post. Porque desta forma eu
não perco o numero e tenho o banco controlando essa operação.
 
    Meu problema é que no fields editor tenho que colocar o required
como false para não dar erro.
    então não consigo que um DataWare mostre o valor desse campo a não
ser quando em edição.
 
    Alguma sugestão para contornar esse problema.
    Agradeço muito
 
beijos
{{}}
Jenifer

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Jenifer Arosa
Enviada em: sexta-feira, 9 de setembro de 2005 15:13
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Interbase Generator x Trigger


Oi Antonio,,,

    Pois é... Mas voltando a sua dica do required.... O campo é integer
e not null no IB.
    Criei um generator para incrementar e a trigguer para disparar no
post.

    O problema é que se retorno o required no Fields do DataSet ele da
erro.

    Tem outra forma para que eu possa fazer isso?

Grata pela ajuda

beijos
{{}}
Jenifer

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Antonio Sérgio P. Santin
Enviada em: sexta-feira, 9 de setembro de 2005 10:33
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Interbase Generator x Trigger


Ola Jenifer

bom, para ajudar no teu raciocínio, o código é gerado no momento do
POST, ou
seja, quando você manda gravar os dados.
Para obter o código é só associar um dbedit somente leitura ao campo
código.

bjs...
    Antonio.

----- Original Message ----- 
From: "Jenifer Arosa" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Friday, September 09, 2005 10:11 AM
Subject: RES: [delphi-br] Interbase Generator x Trigger


Oi Antonio,,,

    Funcionou como eu esperava. Realmente a Trigger controla o
incremento numa boa.
    Já estou modificando tudo o que havia feito.
    Agradeço ao Francisco sua dica do required no DataSet ja é. D+
    Agradeço ao Alisson tb... vcs são 10+.

    Porem tenho uma duvida básica de como fazer o tratamento de uma
label ou até mesmo de um edit para receber esse valor apos a gravação..
    Minha tela fica sem o danado do código do vendedor. Eu abro ele em
branco mas gostaria que ao gravar o usuário pudesse ver o numero que foi
gravado...  Já tentei IbDataset.FieldByName('id').asString, já tentei
Value mas não mostra.
    Acho que o erro possa estar no botão gravar... pois pelo meu
entendimento o código vem antes do post. Mas não sei como poderia
faze-lo.

    Agradeço a ajuda.

beijos.
{{}}
Jenifer

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Antonio Santin
Enviada em: quinta-feira, 8 de setembro de 2005 17:00
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Interbase Generator x Trigger


Oi Jenifer, já queimei as pestanas com isto e resolvi o problema com a
seguinte definição do generator e do trigger, tudo rodando dentro do
delphi
em uma rotina de "Instalação da Tabela", é importante que o campo
"Chave"
seja definido como NOT NULL na criação da tabela, talvez aí esteja o teu

problema.

SQL.Text := 'CREATE GENERATOR Chv_Numer;';
ExecQuery;
SQL.Text := 'CREATE TRIGGER Auto_Table1 FOR Table1 ACTIVE BEFORE INSERT
POSITION 0 ' +
                    'AS BEGIN IF (Table1.Chave = 0) THEN NEW.Chave =
GEN_ID(Chv_Numer, 1); END';
ExecQuery;

Quanto a tua dúvida se funciona em rede, sim funciona, pois os números
serão
controlados pelo servidor e trigger será disparado no banco e não na
aplicação.

Bjs. ;)
    Antonio




[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]




Yahoo! Grupos, um serviço oferecido por:        

PUBLICIDADE


 
<http://br.rd.yahoo.com/SIG=12fnlgm8q/M=365837.7000707.7924794.2369893/D
=brclubs/S=2137111264:HM/Y=BR/EXP=1126296859/A=2950750/R=2/id=noscript/S
IG=10tift5qr/*http://br.movies.yahoo.com/> 

  _____  

Links do Yahoo! Grupos


*       Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  

*       Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> 
  

*       O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . 




[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a