|
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 | |
|
|
|
|
|
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}"
|
|
|
|
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 | |
|
|
|
|
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) & ") "
|
|
|
|
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.
|
|
|
|