Boa tarde,
Estou fazendo uma consulta com datas em text box, txt1 e txt2, porem quando coloco periodo de um mês a consulta nao funciona :
EX:
10/06/15 a 10/07/15, ele nao me tras nada.
Mas se colocar diferente funciona.
Segue o script que to usando para consulta
Sub Consulta1()
Dim adoconn As ADODB.Connection
Dim adors As ADODB.Recordset
Dim sql As String
Dim filenm As String
sql = "Select pesq.data, pesq.pesq1, pesq.pesq2, pesq.pesq3, pesq.pesq4 from pesq where pesq.data between '" & Me.TXT1.Text & "' and '" & Me.TXT2.Text & "'"
filenm = ThisWorkbook.Path & "\cadastros.mdb"
Call GetCn(adoconn, adors, sql, filenm, "", "")
'###########################
Sheets("RELATORIO").Select
[A1] = "DATA DA PESQUISA": [B1] = "M INSATIS": [C1] = "INSATIS": [D1] = "SATIS": [E1] = "M SATIS":
Plan5.Range("A2").CopyFromRecordset adors
'##########################################
adors.Close
adoconn.Close
Set adors = Nothing
Set adoconn = Nothing
End Sub
Qualquer outro periodo a consulta funciona.
Agradeco desde já a ajuda de todos.
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Pesquisa entre datas com text box
Moderador: joseA
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Pesquisa entre datas com text box
Edu-sip, boa tarde.
Sem os arquivos com as informações para analisar, fica difícil dizer o que está errado.
O único conselho que posso lhe dar é forçar o formato das datas, utilizando o comando Format ou CDate. Ficaria assim:
- Utilizando Format:
- Utilizando CDate
Tente e veja se funciona.
Abraços.
Sem os arquivos com as informações para analisar, fica difícil dizer o que está errado.
O único conselho que posso lhe dar é forçar o formato das datas, utilizando o comando Format ou CDate. Ficaria assim:
- Utilizando Format:
Código: Selecionar todos
sql = "Select pesq.data, pesq.pesq1, pesq.pesq2, pesq.pesq3, pesq.pesq4 from pesq where pesq.data between '" & _
Format(Me.TXT1.Text,"dd/mm/yyyy") & "' and '" & Format(Me.TXT2.Text,"dd/mm/yyyy") & "'"
Código: Selecionar todos
sql = "Select pesq.data, pesq.pesq1, pesq.pesq2, pesq.pesq3, pesq.pesq4 from pesq where pesq.data between '" & _
CDate(Me.TXT1.Text) & "' and '" & CDate(Me.TXT2.Text) & "'"
Abraços.
VBA relatório Excel por período
Boa tarde,
Não estou conseguindo gerar o relatório por período, conforme código abaixo, ele pega a data inicial que usa o sinal de maior | igual, mas não respeita a data final que é menor igual. Não sei o que fiz de errado.
linha = 2
linharel = 7
'Preencher relatorio
Do While Sheets("movimentacao").Cells(linha, 3) <> ""
If Sheets("movimentacao").Cells(linha, 3) >= tb_datainicial And _
Sheets("movimentacao").Cells(linha, 3) <= tb_datafinal And _
Sheets("movimentacao").Cells(linha, 4) = Cb_lote Then
Sheets("Rel_movestoque").Cells(linharel, 1) = Sheets("movimentacao").Cells(linha, 3)
Sheets("Rel_movestoque").Cells(linharel, 2) = Sheets("movimentacao").Cells(linha, 4)
Sheets("Rel_movestoque").Cells(linharel, 3) = Sheets("movimentacao").Cells(linha, 5)
Sheets("Rel_movestoque").Cells(linharel, 4) = Sheets("movimentacao").Cells(linha, 6)
Sheets("Rel_movestoque").Cells(linharel, 5) = Sheets("movimentacao").Cells(linha, 7)
Sheets("Rel_movestoque").Cells(linharel, 6) = Sheets("movimentacao").Cells(linha, 8)
Sheets("Rel_movestoque").Cells(linharel, 7) = Sheets("movimentacao").Cells(linha, 9)
Sheets("Rel_movestoque").Cells(linharel, 8) = Sheets("movimentacao").Cells(linha, 10)
linharel = linharel + 1
End If
linha = linha + 1
Loop
End Sub
Não estou conseguindo gerar o relatório por período, conforme código abaixo, ele pega a data inicial que usa o sinal de maior | igual, mas não respeita a data final que é menor igual. Não sei o que fiz de errado.
linha = 2
linharel = 7
'Preencher relatorio
Do While Sheets("movimentacao").Cells(linha, 3) <> ""
If Sheets("movimentacao").Cells(linha, 3) >= tb_datainicial And _
Sheets("movimentacao").Cells(linha, 3) <= tb_datafinal And _
Sheets("movimentacao").Cells(linha, 4) = Cb_lote Then
Sheets("Rel_movestoque").Cells(linharel, 1) = Sheets("movimentacao").Cells(linha, 3)
Sheets("Rel_movestoque").Cells(linharel, 2) = Sheets("movimentacao").Cells(linha, 4)
Sheets("Rel_movestoque").Cells(linharel, 3) = Sheets("movimentacao").Cells(linha, 5)
Sheets("Rel_movestoque").Cells(linharel, 4) = Sheets("movimentacao").Cells(linha, 6)
Sheets("Rel_movestoque").Cells(linharel, 5) = Sheets("movimentacao").Cells(linha, 7)
Sheets("Rel_movestoque").Cells(linharel, 6) = Sheets("movimentacao").Cells(linha, 8)
Sheets("Rel_movestoque").Cells(linharel, 7) = Sheets("movimentacao").Cells(linha, 9)
Sheets("Rel_movestoque").Cells(linharel, 8) = Sheets("movimentacao").Cells(linha, 10)
linharel = linharel + 1
End If
linha = linha + 1
Loop
End Sub
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Pesquisa entre datas com text box
Pela rotina nada que determine o que acontece; talvez a interpretação da data nos text's; e necessário analisar a rotina/modelo como um todo