SQL FILTRO - DATA E HORA

 Tópico anterior Próximo tópico Novo tópico

SQL FILTRO - DATA E HORA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#485206 - 05/11/2018 21:53:17

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


Salve salve pessoal, tudo firmeza?
gostaria de tira uma dúvida.

Como faço um Filtro por Data e hora ao mesmo tempo..
no banco de dados, eu tenho os campos,   Data_Emissao e Hora_Emissao correto?

gostaria de fazer um filtro usando os dois como parâmetro.


   Private Sub Carrega_Filtro_Data_Hora()
        Dim Sql As String = "SELECT PDV_NaoFiscal_Vendas.id_vendas_NaoFiscal, PDV_NaoFiscal_Vendas.id_cliente, PDV_NaoFiscal_Vendas.numero_venda, cadCliente.nome, PDV_NaoFiscal_Vendas.data_emissao, PDV_NaoFiscal_Vendas.data_vencimento, PDV_NaoFiscal_Vendas.Valor_Entrada, PDV_NaoFiscal_Vendas.valor_pago, PDV_NaoFiscal_Vendas.total_desconto, PDV_NaoFiscal_Vendas.troco, PDV_NaoFiscal_Vendas.total_geral_pagar, PDV_NaoFiscal_Vendas.Forma_Pagto, PDV_NaoFiscal_Vendas.ID_Vendedor, PDV_NaoFiscal_Vendas.Hora_pedido, PDV_NaoFiscal_Vendas.Pedido_Impresso_NFCe FROM cadCliente INNER JOIN PDV_NaoFiscal_Vendas ON cadCliente.[codigo] = PDV_NaoFiscal_Vendas.[id_cliente] Where PDV_NaoFiscal_Vendas.data_emissao between @datainicial and @datafinal and PDV_NaoFiscal_Vendas.Hora_pedido LIKE '%" & txtHora_inicial.Text & "%' and PDV_NaoFiscal_Vendas.Hora_pedido LIKE '%" & txtHora_Final.Text & "%'"

        Dim parametrosNomes(1) As String
        parametrosNomes(0) = "@datainicial"
        parametrosNomes(1) = "@datafinal"

        Dim parametrosValores(1) As String
        parametrosValores(0) = dt1.Value.Date
        parametrosValores(1) = dt2.Value.Date

        Dim conexao As OleDbConnection
        conexao = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Settings.ConexaoBanco)
        conexao.Open()

        Dim ds As DataSet = Nothing
        Using da As OleDbDataAdapter = New OleDbDataAdapter(Sql, conexao)
            FillParameters(da.SelectCommand, parametrosNomes, parametrosValores)
            ds = New DataSet()
            da.Fill(ds)
        End Using

        dgv_MenuFiscal.DataSource = ds.Tables(0)
        PSoma_vrl_TOTAL()
        PSoma_vrl_TOTAL()
    End Sub




Queria saber como ficaria o SQL passando os dois como parâmetro  

Where PDV_NaoFiscal_Vendas.data_emissao between @datainicial and @datafinal and PDV_NaoFiscal_Vendas.Hora_pedido LIKE '%" & txtHora_inicial.Text & "%' and PDV_NaoFiscal_Vendas.Hora_pedido LIKE '%" & txtHora_Final.Text & "%'"

Agradeço desde de já  a todos



#485208 - 05/11/2018 22:14:46

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Data e hora são dados de um mesmo tipo, DateTime. Use um campo apenas para isso.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#485209 - 05/11/2018 22:20:04

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


 Anexos estao visíveis somente para usuários registrados

Citação:
:
Data e hora são dados de um mesmo tipo, DateTime. Use um campo apenas para isso.


Eu não posso mudar a logica, dos campos, estou salvando separado a data e hora, veja conforme o print





#485224 - 06/11/2018 21:09:52

JOHNSTEVE
COSMOPOLIS-SP
Cadast. em:Janeiro/2016


Help ?



#485227 - 06/11/2018 21:46:02

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Na sua consulta, faça um campo dinâmico contendo os dados dos dois campos:

select campo1, campo2, CDATE(data_emissao + ' ' + hora_pedido) from sua_tabela


Creio que deve funcionar, mas não tenho certeza que a função seja CDATE

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#485237 - 07/11/2018 11:30:36

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


Faça um teste desta forma.
Where  data_Emissão between #26/04/2018# and  Hora_Pedido = #00:00:00# "



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário