Página 1 de 1

TABELAS COM VIGÊNCIA

Enviado: 22 Out 2004 16:09
por ROMARIO
Caros Colegas.

A dias atras postei um tópico com o mesmo assunto. Devido a minha pouca experiencia no assunto não ficou claro. Por isso volto para maiores escarescimentos se possível.
Minnha dúvida:
Tenho uma tabela que vigora de 02/01/2004 até 28/02/2004 com os seguintes dados, por exemplo:

cod valor desc tipo
001 200,00 10 A
002 500,00 15 B etc. c/+- 20 registros

Depois tenho a mesma tabela só que com vigencia de 01/03/2004 até 31/05/2004.

Como faço uma rotina que busque o valor 500,00 (registro nr. 02) dentro da tabela que vigora de 02/01/2004 até 28/02/2004.??

Enviado: 22 Out 2004 16:26
por evolver
Sem nenhum campo de data nem imagino como possa ser feito...

Coloca um campo data nesse troço e procura por valor = 500 .and. ( data >= ctod("02/01/2004") .and. data <= ctod("28/02/2004"))

Enviado: 22 Out 2004 18:09
por ROMARIO
Evolver.

Concordo. Mas como seria os campos data.?? em cada registro teria que ter um campo datainicial e um campo datafinal ??

Desculpe a ignorancia.

Obrigado.

Romario

Enviado: 22 Out 2004 19:27
por evolver
Só precisa de um campo com a data do registro do valor

cod valor desc tipo data
001 200,00 10 A 20/01/2004
002 500,00 15 B 12/02/2004 etc. c/+- 20 registros

Aplicando dai o código que te passei ele localiza direito.

Vou colocar melhor o código

valor = valor_a_localizar .and. ( data >= data_inicial .and. data <= data_final)

O principal pra delimitar quais as datas a serem procuradas estão entre parenteses.

Enviado: 23 Out 2004 00:37
por Tim9
Olá Romário!

Tem uma coisa que antecede à Programaçao que se chama Modelagem de Dados, ou seja, como vamos armazenar as informações e como vamos encontrá-las. Existe uma fase do Processamento de Dados que é o Desenho tanto do projeto quanto os das tabelas.

Fica difícil responder a dúvidas como a sua porque a gente não sabe o que exatamente vc quer.

Vamos supor que existem tabelas com vigências mensais as quais vou chamá-las de TabJan, TabFev, TabMar...TabDez

Agora, o que eu quero? E é exatamente aqui que o bicho pega.
Posso querer várias coisas, por exemplo:

1) Quero saber em qual tabela o COD 02 TEM VALOR = 500,00.
2) Quero saber Qual COD tem Valor = 500,00 e em qual tabela ele se encontra
3) Poderia continuar simulando várias situações, mas basta conhecer aquela que vc está buscando. Coloque aqui que eu ou outro colega daqui terá o maior prazer em sanar a sua dúvida.

Mas pra não passar em branco vamos fazer um Algorítimo da situção (1) acima, bem light, bem básico. (Que as feras daqui não riam de mim)
mas é só para entendimento de tudo que falei antes:
=============================================
cCod="02"

Inicia Loop

Procura cCod na TabJan
Se Valor = 500 Sai do Loop
Procura cCod na TabFev
Se valor = 500 Sai do Loop
Procura cCod na TabMar
Se valor = 500 Sai do Loop
Mensagem = "Não encontrado COD 02 com Valor = 500,00"

Fim do Loop
=========================================

Espero ter ajudado, pois senti que a tua dificuldade é em expor o que vc deseja fazer.

Me perdoem os catedráticos do CLIPPER pelo básico.

Abraço geral na galera.