none
select entre duas datas RRS feed

  • Pergunta

  • boa tarde pessoal

    eu estou a implementar uma consulta entre datas mas ele mistura os meses e anos ou seja: se eu pesquisar 01/01/2017 á 15/01/2017 ele tras de 01 á 15 de todos os meses e ano, quando devia trazer somente do mês e ano digitado, segue o código

     Private Sub PConsultasDATA2()
            Using con As OleDbConnection = getConnection()
                Try
                    con.Open()
                    Dim sql As String
                    sql = "Select CodigoBancoHoras2, NOME,TIPO,DATA,HORA,JUSTIFICATIVA "
                   
                    sql += "FROM Tab_Bhoras2 "
                    sql += " where (DATA BETWEEN #" & DataInicio.Text & "# AND #" & DataFinal.Text & "#) "
                    sql += "ORDER BY DATA"

                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
                    Dim dt As DataTable = New DataTable
                    da.Fill(dt)
                    dgvRegistros.DataSource = dt
                    '  PFormataDataGridView()
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()
                End Try
            End Using
        End Sub


    quarta-feira, 26 de abril de 2017 18:45

Respostas

  • Boa tarde Arlindo António,

    Seu está no fato de usar string como data.

    Use o exemplo abaixo para uma utilização correta desses valores

    Dim dtDate1 as DateTime = DateTime.Parse(date1.text)
    Dim dtDate2 as DateTime = DateTime.Parse(date2.text)
    
    Dim cmd1 As OleDbCommand = New OleDbCommand("SELECT * from stockitems where stdate Between #" & _
                                                dtDate1.ToString("MM/dd/yyyy") & "# And #" & _
                                                dtDate2.ToString("MM/dd/yyyy") & "#",con)



    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 22 de maio de 2017 17:51

Todas as Respostas

  • olá pessoal, preciso de ajuda, alguém tem noção a onde esta o meu erro? quem pode me ajudar eu agradeço
    quarta-feira, 26 de abril de 2017 20:46
  • Boa tarde Arlindo António,

    Seu está no fato de usar string como data.

    Use o exemplo abaixo para uma utilização correta desses valores

    Dim dtDate1 as DateTime = DateTime.Parse(date1.text)
    Dim dtDate2 as DateTime = DateTime.Parse(date2.text)
    
    Dim cmd1 As OleDbCommand = New OleDbCommand("SELECT * from stockitems where stdate Between #" & _
                                                dtDate1.ToString("MM/dd/yyyy") & "# And #" & _
                                                dtDate2.ToString("MM/dd/yyyy") & "#",con)



    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 22 de maio de 2017 17:51
  • Bom dia,

    Por falta de retorno esta thread esta encerrada !

    Por gentileza, caso necessário abra uma nova thread.

    Atenciosamente,


    Guilherme Macedo S

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 25 de maio de 2017 16:33
    Moderador