FILTRO PERIODO NA PLANILHA
ola pessoal, problemas não estou conseguindo montar a sql para filtrar um periodo:
No acess uso uma sql, mas no excel para filtrar as datas estou apanhando, sera que alguem pode ajudar:
tentei o codigo abaixo:
No acess : tenho o seguinte codigo, mas não funciona quanto a planilha e o banco de dados:
Como fazer funcionar.....:(
No acess uso uma sql, mas no excel para filtrar as datas estou apanhando, sera que alguem pode ajudar:
tentei o codigo abaixo:
sql = [Ô]SELECT Descricao,Codigo_Ferramenta,Materia_Prima, Data FROM [CadastroFerramentas$]where (([Data]>= #DataInicial#) and ([Data] <=#DataFinal#)) order by Data desc[Ô]
No acess : tenho o seguinte codigo, mas não funciona quanto a planilha e o banco de dados:
sql=[Ô]select * from estoqueconsumo where DescricaoC like [ô]*[Ô] & Descricao.Text & [Ô]*[ô] and DataC >= #[Ô] & Format(DataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and DataC <= #[Ô] & Format(DataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]# order by DataC asc[Ô]
Como fazer funcionar.....:(
Tente assim:
sql=[Ô]select * from [estoqueconsumo$] where [DescricaoC] like [ô]*[Ô] & Descricao.Text & [Ô]*[ô] and [DataC] >= #[Ô] & Format(DataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and [DataC] <= #[Ô] & Format(DataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]# order by [DataC] asc[Ô]
sql=[Ô]select * from [estoqueconsumo$] where [DescricaoC] like [ô]*[Ô] & Descricao.Text & [Ô]*[ô] and [DataC] >= #[Ô] & Format(DataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and [DataC] <= #[Ô] & Format(DataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]# order by [DataC] asc[Ô]
ola, obrigado pela dica mais os dados não estão sendo carregados :
Segue o codigo que estou usando :
Segue o codigo que estou usando :
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sql As String
Dim I As Integer
Set conn = New ADODB.Connection
With conn
[ô].Provider = [Ô]Microsoft.JET.OLEDB.4.0[Ô] [ô] versão excel 2003
.Provider = [Ô]Microsoft.ACE.OLEDB.12.0[Ô] [ô] versão excel 2007
.ConnectionString = [Ô]Data Source=[Ô] & ThisWorkbook.FullName & [Ô];Extended Properties=Excel 8.0;[Ô]
.Open
End With
sql = [Ô]SELECT Descricao, Codigo_ferramenta,Materia_Prima,Data FROM [CadastroFerramentas$]where [Data] >= #[Ô] & Format(DataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and [Data] <= #[Ô] & Format(DataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]# order by [Data] desc[Ô]
Set rst = New ADODB.Recordset
With rst
.ActiveConnection = conn
.Open sql, conn, adOpenDynamic, _
adLockBatchOptimistic
End With
I = 2
Do While Not rst.EOF
If Not IsNull(rst(0).Value) Then
Worksheets([Ô]Plan2[Ô]).Range([Ô]A[Ô] & I).Value = rst!Descricao
Worksheets([Ô]Plan2[Ô]).Range([Ô]B[Ô] & I).Value = rst!Codigo_Ferramenta
Worksheets([Ô]Plan2[Ô]).Range([Ô]C[Ô] & I).Value = rst!Materia_Prima
Worksheets([Ô]Plan2[Ô]).Range([Ô]D[Ô] & I).Value = rst!Data
End If
I = I + 1
rst.MoveNext
Loop
[ô] Fecha o conjunto de registros.
Set rst = Nothing
[ô] Fecha a conexão.
conn.Close
coloque em anexo sua planilha ou um pequeno exemplo.
Ok segue em anexo... formulario historico
Uai! Aqui carregou normalmente.
Então ferou....
irenko mais algumas alterações alguns teste :
Dim MeuBD As Database
Dim SQL As String
Dim MinhaTabela As Recordset
Dim DataInicial, DataFinal As Date
Dim i As Integer
DataInicial = TextBox1.Text
DataFinal = TextBox2.Text
SQL = [Ô]SELECT NOME, Data FROM [CadastroFerramentas$] WHERE Data >= #[Ô] & Format(DataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# AND Data <= #[Ô] & Format(DataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Set MeuBD = OpenDatabase(ThisWorkbook.Path & [Ô]/[Ô] & ThisWorkbook.Name, False, False, [Ô]Excel 8.0[Ô])
Set MinhaTabela = MeuBD.OpenRecordset(SQL)
Do While Not MinhaTabela.EOF
ComboBox1.AddItem MinhaTabela!NOME
MinhaTabela.MoveNext
Loop
MeuBD.Close
End Sub
Tópico encerrado , respostas não são mais permitidas