USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Intervalo de datas no crystal report 4 campo texto
Ganbity
RIO DE JANEIRO
RJ - BRASIL
Postada em 02/02/2005 12:56 hs            
Ola galera o meu problema é o seguinte, eu um campo de uma tabela em access 97 que é incluido datas neste campo só que este campo é texto como é que eu faço para fazer uma consulta num intervalo de datas ordenados pela data ?
 desde ja muito grato

"A complexidade do programa cresce até exceder a competência do programador. "

Luciano de Paula

Desenvolvedor - Analista

lufra2@bol.com.br

 
     
Sandro
não registrado
Postada em 02/02/2005 21:25 hs   
Olá Luciano,
 
Não vai funcionar. Você deverá converter este campo para Data de forma poder fazer o que você quer. O problema está na forma com que os tipos de dados Data e String são comparados. O tipo data é uma variante do tipo numérico, por isso podem ser feitos cálculos com ele e verificação de precedência ( se data X é anterior a data y). Mas os campos string ~são tratados como seqüências de caracteres, por isso não podemos realizar cálculos com eles. As funções como DateAdd e DateDiff que podem receber strings representando datas fazem uma conversão interna, mas o Crystal 4 não fará isso para você. Além do mais, uma string com "28/02/2005" é considerada maior que "01/03/2005", por isso não irá funcionar.
Depois de convertido para Data, a selection fórmula do Crystal deverá ficar assim:
 
CrystalReport1.SelectionFormula = "{Tabela.Data} >= Date(" & format(DataInicial, "yyyy,mm,dd") & ") And {Tabela.Data} <= Date" & format(DataFinal, "yyyy,mm,dd") & ") "
 
CrystalReport1.SortFields(0) = "+{Tabela.Data}"
 
 
 
     
Ganbity
RIO DE JANEIRO
RJ - BRASIL
Postada em 03/02/2005 12:46 hs            
Sandro obrigado, eu estou usando a formula que você passou só que ta dando erro
Erro in formula

"A complexidade do programa cresce até exceder a competência do programador. "

Luciano de Paula

Desenvolvedor - Analista

lufra2@bol.com.br

 
     
Natarelli
não registrado
Postada em 03/02/2005 15:59 hs   
Dim Sua_Data_Inicial As Date
Dim Sua_Data_Final As Date
 
Sua_Data_Inicial = DateValue(Data_Texto_Inicial)
Sua_Data_Final = DateValue(Data_Texto_Final)
 
CrystalReport1.SelectionFormula = "{Tabela.Data} >= Date(" & Year(Sua_Data_Inicial) & " , " & Month(Sua_Data_Inicial) & ", " & Day(Sua_Data_Inicial) & ") AND {Tabela.Data} <= Date(" & Year(Sua_Data_Final) & " , " & Month(Sua_Data_Final) & ", " & Day(Sua_Data_Final) & ") "
     
Sandro
não registrado
Postada em 04/02/2005 23:21 hs   
Olá Luciano,
 
Desculpe, faltou um parênteses na minha fórmula, na segunda data:
 
CrystalReport1.SelectionFormula = "{Tabela.Data} >= Date(" & format(DataInicial, "yyyy,mm,dd") & ") And {Tabela.Data} <= Date(" & format(DataFinal, "yyyy,mm,dd") & ") "
 
Depois da instrução Date da data final, faltou o parênteses de abertura.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página