CONVERTER TEXTO EM DATA NO ACCESS
Galera tenho um banco que estou dando manutenção, e quem o montou criou o campo data como texto e ele tem o valor 99/99/9999 ou [Ô][Ô]
Preciso montar um relatório de consulta entre datas e mandei logo o comando cdate
select * from tbassociados where cdate(demassociado) = #02/25/2011#
Só que qdo tento rodar esse comando no sql do access ele fala que é tipo de dado incompativel na expressão de critério.
Tentei usar o isdate junto com o cdate, ele não trás resultado nenhum.
Não posso converter o campo de texto para data, por conter valor em branco e principalmente pela quantidade de registros quase 7000 registros.
Pelo vb tentei mandar o comando cdate, e deu a mesma mensagem.
Alguém pode me dar uma ajuda nisso, meu access é 2003
Preciso montar um relatório de consulta entre datas e mandei logo o comando cdate
select * from tbassociados where cdate(demassociado) = #02/25/2011#
Só que qdo tento rodar esse comando no sql do access ele fala que é tipo de dado incompativel na expressão de critério.
Tentei usar o isdate junto com o cdate, ele não trás resultado nenhum.
Não posso converter o campo de texto para data, por conter valor em branco e principalmente pela quantidade de registros quase 7000 registros.
Pelo vb tentei mandar o comando cdate, e deu a mesma mensagem.
Alguém pode me dar uma ajuda nisso, meu access é 2003
GOODSPEAKERS obrigado pelo retorno.
Qto ao q vc falou do retorno, o problema é esse mesmo, não estou recebendo o recebendo do select e estou jogando esse relatório direto no crystal.
Por isso que estava tentando fazer essa conversão através do comando do sql
Qto ao q vc falou do retorno, o problema é esse mesmo, não estou recebendo o recebendo do select e estou jogando esse relatório direto no crystal.
Por isso que estava tentando fazer essa conversão através do comando do sql
tente assim
ou
select * from tbassociados where cdate(Format(demassociado,[ô]mm/dd/yyyy[ô])) = #02/25/2011#
ou
select * from tbassociados where Format(Cdate(demassociado),[ô]mm/dd/yyyy[ô]) = #02/25/2011#
Marcelo-Treze obrigado pelo retorno.
Más infelizmente esta dando o mesmo problema.
Mandei o comando pelo vb e direto pelo access más sem sucesso.
Más infelizmente esta dando o mesmo problema.
Mandei o comando pelo vb e direto pelo access más sem sucesso.
Alguém ...
Galera pesquisando na net, achei em outro site a seguinte solução
Acabei usando (dentro do SQL) a função convert(sintaxe: CONVERT(char(11), campo, 113) AS data)). Esse comando converte de texto para data e funcionou !!
Tentei usar essa função no access e não deu certo, ele da a mensagem que a função Convert não foi definida na expressão
Ficou assim:
select * from tabela1 where CONVERT(char(11), data, 113) >= #01/11/2011#
Estou colocando aki o banco teste que criei para vocês verem como que esta o meu campo no cliente
Será q alguém pode me dar uma força comisso, não queria ter que mudar o projeto para poder mudar o tipo de dados do campo, más não estou vendo outra maneira
Acabei usando (dentro do SQL) a função convert(sintaxe: CONVERT(char(11), campo, 113) AS data)). Esse comando converte de texto para data e funcionou !!
Tentei usar essa função no access e não deu certo, ele da a mensagem que a função Convert não foi definida na expressão
Ficou assim:
select * from tabela1 where CONVERT(char(11), data, 113) >= #01/11/2011#
Estou colocando aki o banco teste que criei para vocês verem como que esta o meu campo no cliente
Será q alguém pode me dar uma força comisso, não queria ter que mudar o projeto para poder mudar o tipo de dados do campo, más não estou vendo outra maneira
alvaro acho que o convert não funciona em versão anteriores ao access 2007, mas ten te mais uma coisa
select Cdate(demassociado) As ConvData From tbassociados where ConvData = #02/25/2011#
Marcelo-Treze mais uma obrigado pelo retorno
Eu coloquei o comando que vc me passou, e ele abriu uma janela pedindo os parametros para o convdata, eu coloquei o nome do campo e não trouxe resultado nenhum
Agora não sei se eu coloquei o parametro correto, tentei usar o isdate sózinho e junto com o cdate, más não tive sucesso nenhum.
Pelo que eu estou vendo, acho que terei que mudar mesmo a estrutura da tabela, aff
Eu coloquei o comando que vc me passou, e ele abriu uma janela pedindo os parametros para o convdata, eu coloquei o nome do campo e não trouxe resultado nenhum
Agora não sei se eu coloquei o parametro correto, tentei usar o isdate sózinho e junto com o cdate, más não tive sucesso nenhum.
Pelo que eu estou vendo, acho que terei que mudar mesmo a estrutura da tabela, aff
Alguém ...
No VB6 use o [Ô]Select campos from tabela Where DateValue(demassociado) = DateValue([ô] [Ô] & TextoComData & [Ô] [ô])[Ô]
Tópico encerrado , respostas não são mais permitidas