Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cracher

[Resolvido] Alguem sabe fazer um generator inteligente?

Recommended Posts

Ola gostaria de por em meu sistema uma generator automatica no meu sistema esta assim ao clicar no botão incluir ele gera o codigo automatico 0,1,2,3 e assim por diante.Mas se eu não gravo o codigo 2 ele da proxima vez vai para o 3.Criei minha generator no ibexpert mesmo a partir do codigo que é minha primary key e no meu ibdataset no evento afteinsert coloquei o seguinte codigo : IBQuery.Close; IBQuery.SQL.Clear; IBQuery.SQL.Add('SELECT GEN_ID(GEN_CONTA,1) FROM RDB$DATABASE'); IBQuery.Open; IBDataseta.FieldByName('CODIGO').AsInteger:=IBQuery.Fields[0].AsInteger;Se alguem puder me ajudar a fazer um incremento inteligente eu agradeçoObrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser você pode montar uma função que faz isto para você, passando o nome da tabela e campo somente, tendo o próximo código, algo como:

 

function TForm1.ProximoCodigo(tabela, campo: string);var	prox: integer;beginqryProximo.Close;qryProximo.Sql.Clear;qryProximo.Sql.Add('select max(' + campo + ') as Proximo');qryProximo.Sql.Add('from ' + tabela);qryProximo.Open;prox:=qryProximo.FieldByName('PROXIMO').AsInteger;Inc(prox);ProximoCodigo:=prox;end;

E depois no seu botão onde pede um Novo:

 

tabela.Insert;tabelaCODIGO.Value:=ProximoCodigo('nome_tabela','CAMPO_CODIGO');

Assim não iria mais precisar que o BD gere o próximo código...

Podendo assim mexer na função da forma que achar melhor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.