Fórum Select de morrer!!!!!!! #187519
09/10/2003
0
este mesmo select ja postei varias vezes e ainda nao consegui uma solução...
estou criando um relatorio de clientes inativos no qual tem que obedecer os seguintes parametros
Ex:
os resultados são os campos
o que estou tendo problemas ha dias e nao consigo resolver é como chegar ao calculo de dias inativos e dias em atraso.
uma pq o padra das datas esta assim [b:9b8ded1475]01.01.2003[/b:9b8ded1475], usando ponto al invez de barra
esse select ja me retorna os campos acima marcados em verde
sera que alguem pode me ajudar
um abraço a todos
[i:9b8ded1475]Título editado. Leia as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=add834b4ed94967502cf2381c38e751a][u:9b8ded1475]Regras de Conduta[/u:9b8ded1475][/url]. (marcelo.c – Moderador)[/i:9b8ded1475]
Macario
Curtir tópico
+ 0Posts
09/10/2003
Macario
Gostei + 0
09/10/2003
Marcelo.c
a. Alterar o formato da Data ?
b. Efetuar cálculos sobre datas ?
c. Exibir os campos na consulta ?
d. Todas as Alternativas Acima ?
e. Outra não listada ?
Gostei + 0
09/10/2003
Fava
Crie campos calculados em seu TQuery e no evento oncalcfields faça a conversão dos campos para data e faça os calculos que tiver que fazer.
Gostei + 0
09/10/2003
Macario
bom no caso são quase todas
veja primeiro eu tenho que converter a data pq se nao eu acho que nao
conseguirei fazer os calculos, lembrando que o padrão das datas é
01.01.2003 usando ´.´ (ponto ao invez de ´/´
ai eu tenho que verificar a partir de quantos dias inativos eu devo listar,
[b:6bd88a61f9]Ex: se o cliente tiver comprado pela ultima vez há 09/09/2003 e o parametro dias inativos for apenas 10 esse cliente nao deve ser listado[/b:6bd88a61f9]
eu ate tava tentando usar Cast mas nao consegui pq ele aponta um erro no group by
outra coisa seria mostrar so os clientes com o maior numero em atrso segundo o parametro tambem...
nao sei se isso tem que ser feito com if ou outra instrução...
eu ja to pirando....até pra tentar explicar melhor..rs..rs..rs
grato pela atenção
Gostei + 0
09/10/2003
Macario
vc pode me daru um exemplo..outra coisa...nem queira saber qual é o banco..rs..rs..rs...usado
Gostei + 0
09/10/2003
Marcelo.c
No início da sua aplicação utilize:
ShortDateFormat=´dd/mm/yy´;
Este seria o primeiro passo.
Daqui a pouco eu volto e complemento. (Vou ter que sair)
Gostei + 0
09/10/2003
Macario
quando a aplicação é iniciada é passado DateSeparator := ´.´;
e isso eu nao posso tirar
Gostei + 0
09/10/2003
Marcelo.c
var d, u, a: TdateTime; dinat, datraso: extended; begin d:=Date(); r:=TabelaDataUltimacompra.Value; a:=TabelaDataVence.Value; dinat:=d-r; datraso:=d-a; Showmessage(´O pagamento do Cliente está ´+currtoStr(datraso)+ ´ dias atrasado´); Showmessage(´O Cliente está inativo a ´+currtoStr(dinat)+´ dias´); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)