Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Defende

Busca em campo access Data/Hora

Recommended Posts

O campo da minha base de dados esta no formato Data/Hora, ou seja 24/11/2006 15:58:16Quero montar uma busca nesse campo usando o criterio de busca de apenas a data: 24/11/2006Como eu monto essa query usando Sql??Valeu a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sou novato ainda, mas naum seria assim???

 

SELECT NOME DO CAMPO FROM NOME DA TABELA WHERE NOME DO CAMPO = '24/11/2006';

 

Será que assim ele naum procura mesmo estando Data/Hora, já tentou desse jeito???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso não funcione do jeito acima tenta assim:

data = "24/11/2006"sql = "select * from tabela where campo = cdate('" & data & "')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dependendo do BD varia um pouco o tratamento de certos tipos de dados...Em alguns BD's precisamos delimitar a data a ser comparada com '#', assim: where data = '#" & vData & "#'Se a busca não estiver retornando o valor correto, talvez tenha que comparar somente com a 'Data' ao inves de comparar com o campo inteiro, para isso é só usar a função MID que também funciona nas instruções SQL, ex: where data = Mid(" & vData & ", 1, 10)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal nenhuma das maneiras deu certo - ela nao tras nada de retorno.Lembrando que na base, no campo os dados estam gravados assim: 24/11/2006 12:30:51 - tem a hora junto.quem tiver outra ideia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como tem o horário também tente utilizar um período no where:

sql = "select * from tabela where campo >= cdate('24/11/2006 00:00:00') and campo <= cdate('24/11/2006 23:59:59')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

Sua data a pesquisar fica numa variável procura.

Dim procura as string

procura = "99/99/9999"

 

E uma SQL dinâmica:

 

"Select campos from tabela where mid(str(data),1,10) = " & procura

 

Com isso você procura por uma data convertida para string, apenas os 10 primeiros caracteres, e compara com a data que você procura, também uma string de 10 caracteres.

 

Eu particularmente sempre armazeno datas como string, apesar de maior tamanho, no formato AAAAMMDD e em raros casos uso um timestamp, também string, no format AAAAMMDDHHMMSS. Facilita para ordenar, independente da configuração regional de cada micro, facilita na procura porque posso usar um INSTR ou um LIKE na sql, e a função para converter do formato data para string, e vice-versa, é muito simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.