Bom dia a todos,
Pessoal, eu preciso fazer um numerador de tal forma que zerasse todo ano. Eu teria que ter duas chaves primárias? Como seria? Agradeço.
Bom dia a todos,
Pessoal, eu preciso fazer um numerador de tal forma que zerasse todo ano. Eu teria que ter duas chaves primárias? Como seria? Agradeço.
você guarda a data em algum lugar?
Crie uma trigger, se o ano da data corrente for diferente do ano da data registrada limpe a coluna.
Vou tentar…
Obrigado, mais uma vez, Haroldo…
Abraços
crie uma tabela auxiliar com a data a numeração e o usuario que inseriu.
insira os registros de forma que verifique se ja existe algum para aquele ano,
caso exista incremente 1, casao nao exista inicie a numeração no numero desejado.
jcesarml, não conheço sua estrutura.
Mais eu concelho você deixar a chave primaria com auto incremento e não mexer nela… pois a mesma pode ser usada para fazer ligações entre tabelas e tal…
Se eu foce vc, eu acrescentava 2 campos na tabela, somente para atender a auto numeração que vc precisa.
Ex.
Campo (Ano) - inteiro
Campo (Numero) - inteiro
Suponhamos que você vai inserir um registro nesse ano e quer seguir a numeração desse ano.
No evento - onBeforeInsert
//pegando próximo numero
sc_lookup(proximo_num, “select max(numero) + 1 as proximo_numero from tabela where ano = ‘2012’” );
{numero} = {proximo_num[0][0]};
Espero ter ajudado
T+
Bom, se vc quiser simplesmente numerar pegando como referencia a data do lançamento, pode seguir a ideia do Haroldo que é boa…
Somente Acrescenta o (Numero) - inteiro
Ex.
No evento - onBeforeInsert
//Pega o ano da data do lançamento
$ano substr({data_lancamento}, 0, 4);
//pegando próximo numero
sc_lookup(proximo_num, “select max(numero) + 1 as proximo_numero from tabela where YEAR(data_lancamento) = ‘$ano’” );
{numero} = {proximo_num[0][0]};
T+