PROBLEMAS COM DATA NO ACCESS E VB.NET
Boa tarde
Não tenho muita experiência com .net e não consigo resolver um problema de pesquisa com datas no access. Está dando a mensagem de tipo incompatÃvel. é o seguinte:
Tenho um Form de lançamento de despesas que grava no Access os seguintes Campos:
IdDes = Id da Despesa (Numérico)
DeReDes = Descrição Resumida da Despesa (String)
DtVeDes = Data de Vencimento (Data/Hora)
VlDeDes = Valor da Despesa (Unidade Monetária)
Neste form faço o seguinte Insert:
cmdCommand.Text=[Ô]Insert into DESPESAS (IDDES, DEREDES, DTVEDES, VLDEDES) values ( [Ô]_
& txtIdDes.Text & [Ô], [ô][Ô] & txtDeReDes.Text & [Ô][ô], [ô][Ô] & mskDtVeDes.Text & [Ô][ô], [ô][Ô] & txtVlDeDes.Text & [Ô][ô]);[Ô]
Este Insert faz com que no Access os registros fiquem assim:
1 IPVA 14/01/2014 923,90
2 ESCOLA 16/01/2014 780,00
Em um outro Form, peço a data inicial e a data final para fazer um select do que estiver dentro do intervalo:
[Ô]Select * from DESPESAS where DTVEDES >= mskDtInicial.Text and DTVEDES <= mskDtFinal.Text[Ô] ou seja,
[Ô]Select * from DESPESAS where DTVEDES >= [ô]01/01/2014[ô] AND DTVEDES <= [ô]20/01/2014[ô];[Ô]
Quando executo o comando acima, acaba dando erro de tipo de dados incompatÃvel. Já tentei colocando o caracter [Ô]#[Ô] no inicio e final da data, já mudei o select para between, mas continuo com o problema.
Como faço para deixar as datas compatÃveis?
Não tenho muita experiência com .net e não consigo resolver um problema de pesquisa com datas no access. Está dando a mensagem de tipo incompatÃvel. é o seguinte:
Tenho um Form de lançamento de despesas que grava no Access os seguintes Campos:
IdDes = Id da Despesa (Numérico)
DeReDes = Descrição Resumida da Despesa (String)
DtVeDes = Data de Vencimento (Data/Hora)
VlDeDes = Valor da Despesa (Unidade Monetária)
Neste form faço o seguinte Insert:
cmdCommand.Text=[Ô]Insert into DESPESAS (IDDES, DEREDES, DTVEDES, VLDEDES) values ( [Ô]_
& txtIdDes.Text & [Ô], [ô][Ô] & txtDeReDes.Text & [Ô][ô], [ô][Ô] & mskDtVeDes.Text & [Ô][ô], [ô][Ô] & txtVlDeDes.Text & [Ô][ô]);[Ô]
Este Insert faz com que no Access os registros fiquem assim:
1 IPVA 14/01/2014 923,90
2 ESCOLA 16/01/2014 780,00
Em um outro Form, peço a data inicial e a data final para fazer um select do que estiver dentro do intervalo:
[Ô]Select * from DESPESAS where DTVEDES >= mskDtInicial.Text and DTVEDES <= mskDtFinal.Text[Ô] ou seja,
[Ô]Select * from DESPESAS where DTVEDES >= [ô]01/01/2014[ô] AND DTVEDES <= [ô]20/01/2014[ô];[Ô]
Quando executo o comando acima, acaba dando erro de tipo de dados incompatÃvel. Já tentei colocando o caracter [Ô]#[Ô] no inicio e final da data, já mudei o select para between, mas continuo com o problema.
Como faço para deixar as datas compatÃveis?
Vai aparecer alguns entendidos em datas.
Tente Assim.
[Ô]Select * from DESPESAS where DTVEDES >=Cdate( [ô]01/01/2014[ô]) AND DTVEDES <= Cdate([ô]20/01/2014[ô]);[Ô]
Tente Assim.
[Ô]Select * from DESPESAS where DTVEDES >=Cdate( [ô]01/01/2014[ô]) AND DTVEDES <= Cdate([ô]20/01/2014[ô]);[Ô]
Eu nunca consegui recuperar registros por data no access sem utilizar o BetWeen.
Isso eu utilizo no Mysql.
Citação:[Ô]Select * from DESPESAS where DTVEDES >=Cdate( [ô]01/01/2014[ô]) AND DTVEDES <= Cdate([ô]20/01/2014[ô]);[Ô]
Isso eu utilizo no Mysql.
Pois fiz um teste usando Access2007,Datahora.
da1 = New OleDbDataAdapter([Ô]Select * from Times where Data between Cdate([ô]01/01/2014[ô]) and Cdate([ô]20/02/2014[ô])[Ô], con)
da1 = New OleDbDataAdapter([Ô]Select * from Times where Data >= Cdate([ô]01/01/2014[ô]) AND Data <= Cdate([ô]20/01/2014[ô]);[Ô],con)
Deste jeito e deu certo.
da1 = New OleDbDataAdapter([Ô]Select * from Times where Data between Cdate([ô]01/01/2014[ô]) and Cdate([ô]20/02/2014[ô])[Ô], con)
da1 = New OleDbDataAdapter([Ô]Select * from Times where Data >= Cdate([ô]01/01/2014[ô]) AND Data <= Cdate([ô]20/01/2014[ô]);[Ô],con)
Deste jeito e deu certo.
Use parâmetros para executar suas querys, resolve o seu problema!
As vezes é necessário formatar a data, isto pode variar de banco de dados.
As vezes é necessário formatar a data, isto pode variar de banco de dados.
Obrigado pessoal, o Cdate resolveu o problema.
Grato a todos
Obrigado
Grato a todos
Obrigado
Tópico encerrado , respostas não são mais permitidas