Fórum Auto incremento de novo #171602

26/07/2003

0

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

Responder

Posts

26/07/2003

Luiz.gv

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


Responder

Gostei + 0

26/07/2003

Cdaraujo

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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar