FILTRO DE DATA ERRADO

COQUITO 19/06/2017 11:46:35
#474601
olá pessoal

preciso de uma ajuda, desse modo esta filtrando datas erradas, alguma ideia de como corregir?
tambem ja tentei usar o datetimepicture o mesmo resultado me retorna


Dim Sql = [Ô]SELECT * FROM Tab_Bhoras2 WHERE (Data BETWEEN #[Ô] & (DataInicio_MaskedTextBox.Text) & [Ô]# AND #[Ô] & (DataFinalMaskedTextBox.Text) & [Ô]#) order by data asc[Ô]
OMAR2011 19/06/2017 14:02:09
#474603
Resposta escolhida
Pode ser a formatação da data.
Tipo.
[txt-color=#e80000] #[Ô] & Format(DataInicio_MaskedTextBox.Text,[Ô]MM/dd/yyyy[Ô]) & [Ô]#[/txt-color]
JABA 19/06/2017 14:21:32
#474604
Converta seus campos do banco para data.
GUIMORAES 19/06/2017 15:17:24
#474606
Citação:

:
olá pessoal

preciso de uma ajuda, desse modo esta filtrando datas erradas, alguma ideia de como corregir?
tambem ja tentei usar o datetimepicture o mesmo resultado me retorna


Dim Sql = [Ô]SELECT * FROM Tab_Bhoras2 WHERE (Data BETWEEN #[Ô] & (DataInicio_MaskedTextBox.Text) & [Ô]# AND #[Ô] & (DataFinalMaskedTextBox.Text) & [Ô]#) order by data asc[Ô]



COQUITO,

Se você usasse parâmetros na sua pesquisa, isto não ocorreria.
Você já tentou pegar o resultado da sua variável e tentou rodar diretamente no seu banco de dados? Provavelmente não! O erro que está ocorrendo é devido a formatação da data (que no seu banco deve ser diferente de [Ô]dd/MM/yyyy[Ô]).
Outra coisa muito importante, que nosso amigo JABA já disse, o campo no seu banco de dados deve estar como Data, e não varchar.

Mais uma coisinha só, mas acho que isto não tem nada a ver com o assunto, mas aproveitando o ensejo, vi que declarou sua variável (Dim Sql =), cadê o tipo dela? é string, inteiro, objeto? é importante usar e abusar das boas práticas de programação, e a tipagem é fundamental. Sei que o vb.net permite isto, mas não é para esta finalidade. O vb.net, c#, c++, c, java, são linguagens fortemente tipadas, ou seja, exigem que você informe o tipo da variável, diferente de php, por exemplo.

Só mais uma, (datetimepicture) datetime é uma coisa, picture é outra, rsrs, o controle é o datetimepicker (não quero ser chato, mas parece que vocês não conhecem os controles que usam).

Um abraço.
JABA 19/06/2017 16:13:56
#474608
Citação:

Mais uma coisinha só, mas acho que isto não tem nada a ver com o assunto, mas aproveitando o ensejo, vi que declarou sua variável (Dim Sql =), cadê o tipo dela? é string, inteiro, objeto? é importante usar e abusar das boas práticas de programação, e a tipagem é fundamental. Sei que o vb.net permite isto, mas não é para esta finalidade. O vb.net, c#, c++, c, java, são linguagens fortemente tipadas, ou seja, exigem que você informe o tipo da variável, diferente de php, por exemplo.



Olá, Guimoraes!

Não tem problema usar assim na plataforma .Net, pois o compilador descobre o tipo apropriado pra você, que, no caso ali, será uma string mesmo. Isso só é um problema no vb6, que ao se declarar a variável como Variant, passa a servir pra qualquer coisa.



Tópico encerrado , respostas não são mais permitidas