|
Postada em 11/05/2006 15:09 hs
Pessoal, preciso imprimir dados da minha tabela da seguinte maneira: No formulário tenho 2 MaskEdBox com data inicial e data final. Quero imprimir todos os registros do bd que estejam entre estas datas. Acontece que no bd o campo data_do_pedido é do tipo texto. Não consigo montar o comando sql. Tentei assim: sql = "Select * From Tabela Where CDate(data_do_pedido) Between #" & MskDataInicial.Text & "# And #" & MskDataFinal.Text & "#" mas não deu certo. Alguém pode me ajudar?
|
|
|
|
|
Postada em 11/05/2006 15:14 hs
Voce tem que lembrar que alem usar o cdate na campo da tabela, precisará formatar a data a ser enviada ( mskdatainicial.text e mskdatafinal.text) para o padrao mm/dd/yyyy senão provalvelmente terá problemas
dsmn
|
|
|
|
Postada em 11/05/2006 15:36 hs
alterei para: sql = "Select * From Tabela Where CDate(data_pedido) Between #" & Format(MskDataInicial.Text, "dd/mm/yyyy") & "# And #" & Format(MskDataFinal.Text, "dd/mm/yyyy") & "#" mas deu uma mensagem: Tipo de dados incompatível na expressão de critério. Onde eu errei?
|
|
|
|
Postada em 11/05/2006 16:39 hs
ALTERE PARA: SQL="SELECT * FROM Tabela WHERE ((CDate(data_pedido) Between #" & Format(MskDataInicial.Text, "mm/dd/yyyy") & "# And #" & Format(MskDataFinal.Text, "mm/dd/yyyy") & "#));" Ou seja esta invertido a formatação e esqueceu o ponto e virgula final + aspas
dsmn
|
|
|
|
Postada em 11/05/2006 16:53 hs
Testei a instrução que eu te passei, só da erro no caso se o campo data_pedido for nulo
dsmn
|
|
|
|
Postada em 12/05/2006 08:51 hs
Modifiquei para o que você me passou e apareceu um erro: Overflow O que significa esse erro? No Banco de dados o campo data_pedido está gravado sem as barras de data. Alterei manualmente colocando as barras, achando que o erro seria este, e nem mesmo assim deu certo.
|
|
|