[firebase-br] Buscar Valor para gerar Nova Identificação

User-BA meus_foruns em yahoo.com.br
Sex Out 21 17:14:40 -03 2005


Ola pessoal!

Tenho 2 tabelas -> TITULARES e DEPENDENTES

Em TITULARES tenho:

um campo chave primária -> tit_chave
um campo -> tit_identificacao (char (12))
... outros campos

Em DEPENDENTES tenho:

um campo chave primária -> dep_chave
um campo chave estrangeira -> dep_tit_chave
um campo -> dep_identificacao (char (12))
... outros campos

Ao cadastrar um novo TITULAR ou DEPENDENTE no delphi,
gero uma chave de identificação
(conforme me foi solicitado pelo cliente)
composta por uma sequencia de dados:

"T" ou "D" (se titular/dependente) +
"F" ou "M" (se feminino/masculino) +
ano/dia/mes (estraido da data atual do sistema) +
digito de contrôle (numero que identifica a quantidade de dependentes)

Então as chaves ficariam assim nos cadastros:

Para um titular:
-> TM2005191000
(usuario titular, masculino, cadastado em 19/10/2005)
(os digitos 00 no final (servem apenas para compor os 12 digitos do char))
(os titulares teram sempre "00" no final)

Para os dependendes do titular acima:
-> DM2005191001
(usuario dependente, masculino , cadastrado em 19/10/2005)
(o 01 indica primeiro dependente))
-> DF2005102102
(usuario dependente, feminino, cadastrado em 21/10/2005)
(o 02 indica segundo dependente))

* os dependentes podem ser cadastro em dadas diferentes :)

---

Para os cadastros de Titulares não tem maiores problema,
Ele seleciona o menu cadastrar TITULARES
Ai eu monto a identificação conforme acima

T + sexo (M ou F) + ano/dia/mes atual + 00
(00 é fixo para os titulares)

agora...

Mas se for um dependente...
Ai...
Eu preciso saber se já tem algum dependente cadastrado (vinculado ao 
titular)...
E se tiver eu tenho que recuperar a ultima identificacao do dependente,
para que eu pudesse acrescentar no final da identificação o valor (03, 
04, 05, etc)

Vou disponibilizar uma tela
para o usuario pesquisar e selecionar o TITULAR.
Recupero a chave do titular,
busco na tabela DEPENDENTES (na chave estrangeira)
a chave primaria do titular.
se não encontrar
vou gerar a identificacao do dependente
com a sequencia = D + M ou F + ano/dia/mes + 01.
mas se encontrar,
preciso localizar o ultimo numero da identificação
para que eu gere uma identicação
com a sequencia subsequente = D + sexo (M ou F) + ano/dia/mes + 03,04 ou 
05 etc.

*** Entendo o algoritimo mas não sei como montar o select :(
*** preciso reperar se tem ou não dependente
*** se tiver preciso recuperar a ultima identificação do dependente.

Gente...
Me dá uma força neste select ou alguma dica para uma outra maneira de 
recuperar esta informação.

Delphi 7 + BDExpress + Firebird

Obrigado
User_BA

	

	
		
_______________________________________________________ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/





Mais detalhes sobre a lista de discussão lista