Parametros...

Delphi

14/06/2004

Como posso trabalhar com dois valores de um parametro ao mesmo tempo?

Vou dar um Exemplo:

Tenho uma tabela com os seguintes campos:

DataVigencia: TipoData
ValorBilhete : Moeda

e outra com:

varios outros campos, mas o mais importante nesse caso é

DatadaVenda: Tipodata

Blz,

Tenho um relatorio q me dar o valor q foi vendido no periodo, por exemplo:

Do periodo 01/04/2004 a 30/04/2004, até aí tudo certo. Mas se na minha primeira tabela tiver dois ou mais valores cadastrados os Totais do RElatorio ficaram diferentes.
Por Exemplo: se no primeiro valor eu tiver DataVigencia: 01/01/2004 e ValorBilhete : R$ 5,00; e no segundo eu tiver DataVigencia: 15/04/2004 e ValorBilhete : R$ 6,00; os valores q iram ser impressos naum serão os verdadeiros, ele daria certo se eu pedisse dois relatorios, um com periodo de 01/04/2004 até 14/04/2004 e outro com o periodo de 15/04/2004 até 30/04/2004. A soma desses dois relatorios é q é a certa, sendo q o meu chefe naum ker assim, ele ker um só com os valores corretos.

Será q alguem pode me ajudar.


Pabhen

Pabhen

Curtidas 0

Respostas

Motta

Motta

14/06/2004

vc pode ser mais claro ?


GOSTEI 0
Pabhen

Pabhen

14/06/2004

vc pode ser mais claro ?


é o seguinte:

eu uso o valor do bilhete como parametro, certo?

Sendo q qnd eu monto o relatorio eu verifico qual a data inicial, que irá ser pedida para montar o relatorio, pra comparar com a DataVigencia. Se :pDataIni>=DataVigencia, aí eu pego o ValorBilhete que está cadastrado para aquela Vigencia, blz. Até aí tudo bem.

O problema ocorre qnd eu tenho dois valores para o periodo citado no relatorio, por exemplo:
eu possuo dois valores cadastrados
um com DataVigencia 01/04/2004 e Vr de R$ 5,00, e outro
com DataVigencia 15/04/2004 e Vr de R$ 6,00.

Aí o meu chefe ker um relatorio com o periodo de 01/04/2004 até 30/04/2004(Mensal), ficou mais claro agora?

O total nunca vai bater, pq ele tah usando o Vr de R$ 5,00 nas contas, mas era pra qnd chegar no dia 15/04 ele usar o vr de R$ 6,00.

Será q vc tem alguma ideia de como fazer isso?


GOSTEI 0
Paulo_amorim

Paulo_amorim

14/06/2004

Olá

Você não pode fazer 2 queries?

SELECT * FROM tabela WHERE :pDataIni BETWEEN 1/4/2004 AND 14/4/2004
UNION
SELECT * FROM tabela WHERE :pData BETWEEN 15/4/2004 AND 30/4/2004

Espero que ajude
Até+


GOSTEI 0
Pabhen

Pabhen

14/06/2004

Olá Você não pode fazer 2 queries? SELECT * FROM tabela WHERE :pDataIni BETWEEN 1/4/2004 AND 14/4/2004 UNION SELECT * FROM tabela WHERE :pData BETWEEN 15/4/2004 AND 30/4/2004 Espero que ajude Até+


Valeu pela tentativa, mas naum dá cara, senão toda vez q o valor mudar eu vou ter q criar outra query. Eu kero uma solução definitiva pra naum ter q mexer mais nisso, eu tava pensando em usar vetores ou matrizes, sendo q eu nunca usei e naum sei como começar.. :(


GOSTEI 0
Pabhen

Pabhen

14/06/2004

sobe


GOSTEI 0
Xanatos

Xanatos

14/06/2004

Bom nao sei se ajuda ... mas voce poderia percorrer a query com o intervalo de 01/04/04 a 30/04/04 para saber o quantidade de mudancas no valor que tem no periodo! guardando os valores em um vetor e depois criar uma query usandos os valores como parametros!!!

:arrow:


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

14/06/2004

nos ajude a te ajudar: como vc sabe qual o valor no período? isso está guardado numa tabela, certo?

publique a estrutura das tabelas pra tentarmos te ajudar de uma melhor forma. acho que no seu caso basta um select com join, mas precisamos da estrutura da suas tabelas.


GOSTEI 0
Pabhen

Pabhen

14/06/2004

Obrigado amigos, eu consegui resolver

Vlw pela força


GOSTEI 0
Paulo_amorim

Paulo_amorim

14/06/2004

Olá

Só de curiosidade, como ficou a query?

Até+


GOSTEI 0
POSTAR