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
[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
Curtir tópico
+ 0
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
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]
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
Clique aqui para fazer login e interagir na Comunidade :)