Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

Comparação de datas

Recommended Posts

Estou com problemas em comparar datas, eu preciso pegar todos os produtos onde a data cadastrada no banco seja menor que a data atual. Mas ocorre este erro abaixo:Microsoft OLE DB Provider for SQL Server (0x80040E14)'CDATE' is not a recognized function name.Como eu poderia fazer isso?Estou usando SQL Server.str = " Select * from Produtos WHERE CDATE(Data_Final) < " & CDATE(varDataAtual)

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta armazenada a data em seu db, o campo eh texto ou data???se for data tente assimstr = " Select * from Produtos WHERE Data_Final < #" & Date() & "#"

Compartilhar este post


Link para o post
Compartilhar em outros sites

alias pode ser que precisa adaptar a data tbassimstr = " Select * from Produtos WHERE Data_Final < #" & MONTH(Date()) & "/" & DAY(Date()) & "/" & YEAR(Date()) & "#"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os 2 exemplos apresentaram este erro:Microsoft OLE DB Provider for SQL Server (0x80040E14)Line 1: Incorrect syntax near '#'.O campo é data mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

escreve na tela o que na SQL...

Compartilhar este post


Link para o post
Compartilhar em outros sites

=====================================================OPERADORES BETWEEN , NOT BETWEEN =====================================================strSQL = "SELECT * FROM funcionarios WHERE dta_admissao BETWEEN #01/01/1980# AND #15/04/1991# ORDER BY nome" ' seleção com a condição WHERE na coluna dta_admissao, no caso mexemos com DATAS, BETWEEN significa ENTRE, no caso datas tratamos com #dd/mm/aaaa# o AND significa entra 01/01/1980 e 15/04/1991, no caso, ele sempre vai precisar do ANDstrSQL = "SELECT * FROM funcionarios WHERE dta_admissao not BETWEEN #01/01/1980# AND #15/04/1991# ORDER BY nome" ' seleção com a condição WHERE na coluna dta_admissao, no caso mexemos com DATAS, BETWEEN significa ENTRE, no caso datas tratamos com #dd/mm/aaaa# o AND significa menor que 01/01/1980 e maior que 15/04/1991strSQL = "SELECT * FROM funcionarios WHERE dta_admissao not BETWEEN 5000 AND 600 ORDER BY nome"ta ai alguns modelos, mas atenção, no banco de dados tem que estar no tipo data, okEm especial aos meus amigos Pensador e ao www - Amigos de longa datas e grandes histórias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem o "#" funcionou, obrigada pela ajuda.

de nada amiga... http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

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.