Auto incremento de novo

Delphi

26/07/2003

Estou tentando criar auto-incremento através da forma abaixo, mas não dá certo, o delphi mostra:

[Error] UDados.pas(45): Undeclared identifier: ´TabelaCodigo´

----
Não use o autoincremento do paradox.
No projeto, use uma TQuery que contenha a instrução: Select MAX(Codigo_Tabela) from Tabela
Na tabela, no evento afterInsert, crie o evento: TabelaCodigo.Value := (QueryMax.value + 1);
----

Tenho pouco conhecimento sobre esta parte. Alguém pode me ajudar?
Nome da tabela no data module: tbCandidatos
Nome da tabela Paradox: candidatos.DB
Nome do campo Paradox: CodCandidato
Nome da query: QueryMax


Fu

Fu

Curtidas 0

Respostas

Luiz.gv

Luiz.gv

26/07/2003

Caro amigo, esperimente fazer assim, no momento de adicionar um novo registro, sem a necessidade da query:

var cod:integer; //criar a variavel cod
begin
TBCandidatos.last; //ultimo registro da tabela
cod:=TBCandidatosCodCandidato.value; //pega o valor do último código
inc(cod); //incrementa 1
DBEdit1.text:=inttostr(cod); //define DBEdit1= cod


Luizgv


GOSTEI 0
Cdaraujo

Cdaraujo

26/07/2003

Caro amigo,

Acredito que muitos programadores tiveram dor de cabeça com esses campos do tipo autoincremento. Caso vc esteja uitlizando estes campos para determinar chaves primárias, então em aconsellho a não usar esse tipo de estrutura em seu modelo relacional, se é que vc esteja utilizando relacionamentos.
Trago a vc uma forma de gerenciar essas chaves primária de forma muito simples.

Crie uma tabela com dois campos, exemplo:
[b:0f792e4fff]nome do campo: NM_TABELA Tipo: Varchar
nome do campo: NUMERO Tipo: Inteiro[/b:0f792e4fff]

Vc criará uma função passando apenas o nome da tabela o retorno da função será o valor do último número criado para tabela.

Essa função terá o trabalho de procurar, usando como índice o nome passado como parâmetro. a última chave usada para o cadastro na tabela referente.

Acredito que ajude um pouco em sua questão.

Qualquer dúvida, estarei a disposição.

Atenciosamente,

[b:0f792e4fff]Daniel Araújo[/b:0f792e4fff]



[/img]


GOSTEI 0
POSTAR