Ir para conteúdo

POWERED BY:

Arquivado

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

adrianno

[Resolvido] Delphi + firebird CODIGO automatico

Recommended Posts

Estou começando agora no delphi, e criando um pequeno projeto como treino

porem, eu nao comsegui ainda fazer codigo automatico

 

EXE: na TBLclientes, eu gostaria , ( o certo seria) que ao dar INSERT

o sistema teria que varrer a tabela, dar um select MAX (COD) from clientes, retornar o ultimo valor, tipo registro COD 10, e adicianr + 1, e aparecer 11 no campo COD, automaticamente, porem, nao consegui ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta primeiro explique de maneira correta seu post ta dificil de interpretar amigo, nao sei se quer add ou substituir por favor explique melhor para que possamos ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta primeiro explique de maneira correta seu post ta dificil de interpretar amigo, nao sei se quer add ou substituir por favor explique melhor para que possamos ajudar.

 

RESUMINDO

eu tenho uma tabela no firebird, TABELA CLIENTES, tenho nela os campo , CLI_COD(key), CLI_NOME, CLI_FONE ETC...

O QUE eu preciso aprender, é na hora de criar um novo registro, eu nao tenha que digitar o codigo (CLI_COD)

tipo se eu tiver 10 registros, a abrir a tabela para inserção, ja aparecça no CLI_COD, o 11 ja colocado sem eu digitar

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ta primeiro explique de maneira correta seu post ta dificil de interpretar amigo, nao sei se quer add ou substituir por favor explique melhor para que possamos ajudar.

 

RESUMINDO

eu tenho uma tabela no firebird, TABELA CLIENTES, tenho nela os campo , CLI_COD(key), CLI_NOME, CLI_FONE ETC...

O QUE eu preciso aprender, é na hora de criar um novo registro, eu nao tenha que digitar o codigo (CLI_COD)

tipo se eu tiver 10 registros, a abrir a tabela para inserção, ja aparecça no CLI_COD, o 11 ja colocado sem eu digitar

 

 

Intendi amigo hehe

 

Voce simplismente tem ke faser um laco for para o campo codigo e colocar um contador um exemplo.

 

Dois cliques no botão iniciar e digite o seguinte código:

 

procedure TForm1.btn_SeubotaoClick(Sender: TObject);

var i: integer;

begin

for i := 1 to 15 do // 1 to kantos codigos voce kiser

Begin

SeuCodigo.Items.Add( inttostr(i));

end;

end;

 

Espero que ajude!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adrianno, acho que eu entendi de outro modo a sua dúvida.

 

Você quer criar um contador no botão Incluir, ou seja, um campo auto - increment, estou certo ?

 

Caso for isso mesmo, na sua própria pergunta você já deu a resposta, usando a função (MAX) do SQL que buscara somente o maio valor do Cod_cli assim sendo você só adiciona + 1 no código.

 

Ser for isso mesmo posta aí que eu explico melhor ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

è isso ai, o campo CLI_COD, eu quero que ele seja auto inclemto, tipo se eu tiver 10 registros na tabela, quero que cada x que eu cadastrar alguem, ele coloque um codigo automatico, 11,12,13,14,

eu consigo capturar o ultimo valor da tabela com a SQL "select MAX ( cli_code) from clientes"

 

eu obtenho o valor tipo 10...11,,,12 etc... mais nao sei como fazer isso se somar +1 e colocar no campo onde era pra digitar o codigo tipo no - DBedit_Cod por exemplo , para que eu nao precise digitar manualmente este codigo, ja pensou toda x que adicionar, eu tenha que conferiri quanros registros tenho? era isso que eu preciso, faz 2 semanas que to aprendendo delphi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega é o seguinte:

 

Você monta a QUERY COM MAX(COD_CLI) e depois;

 

tblcliente.open;

tblcliente.insert;

 

qrycontador.open;

tblclientecod_cli.value := qrycontadorcont.value + 1;

qrycontador.close;

 

O resto é do seu gosto mas o código já está pronto.

 

Obs.: O código será no formato 1, 2, 3 assim por diante para formatar (0001) é outra coisa.

 

Testa aí ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O mais simples e lógico seria declarar o campo COD_CLI como sendo um tipo autoincremento na sua tabela já na criação da mesma... não vejo necessidade de controlar isto no código do delphi quando o BD já tem suporte a este tipo de campo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu gente , deu certo, mais se o amigo quiser explicar como fazer este campo auto inclemente direto no firebird, com o IBOconsole, ou via codigo SQL eu agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

O colega Chrnos tem razão, com certeza é muito mais fácil e rápido trabalhar com o campo autoincremento direto do Banco de dados ainda mais levando em consideração q todos os BD q eu conheço tem suporte para esse tipo de campo, eu só formulei minha resposta dentro da dúvida do adrianno.

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.