Boa Noite!
Sou novo no fórum, já pesquisei bastante no fórum e na internet mas não encontro uma solução para meu problema.
Vamos lá!
Tenho um BD no access nele tenho uma tabela de saldo de meus produtos onde tenho um ID, o N° do frasco deste ID, fornecedor, classificação, e data de validade do fornecedor.
A conexão do Excel e o Access esta tranquilo o meu problema é que quero criar um LIstView com os dados, pois, quero apresentar o numero de registros do ID em função do tempo, ou seja exemplo tenho 300 do ID sendo que 10 estão vencidos, 30 estão entre a data e 30 dias para vencer, 90 entre 30 e 60 dias ... O listView iria aprsentar uma Lista com
ID Vencido <30 <60 <90 < 120
1 ___ 10 _ 30 _ 90 _50 _ 120
Abaixo o que desenvolvi mas não sei como fazer o filtro para os diversos tempos
Private Sub UserForm()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim data_calculada As Date
data_calculada = DateSerial(Year(Now()), Month(Now()), Day(Now()) + 30)
Dim data1calculada As Date
data1_calculada = DateSerial(Year(Now()), Month(Now()), Day(Now()) + 30)
cn.Open str_cnn
rs.Open "SELECT COUNT(Itens.ID) AS ContarDeID, Itens.Descricao, Itens.ID, dt_fornecedor FROM Itens INNER JOIN Saldo ON Itens.ID = Saldo.ID GROUP BY Itens.Descricao, Saldo.Status,saldo.dt_fornecedor, Itens.ID HAVING Saldo.Status= 'Recebido' AND saldo.dt_fornecedor < #" & date & "# ORDER BY Itens.ID", cn, adOpenForwardOnly, adLockReadOnly
rs2.Open "SELECT COUNT(Itens.ID) AS ContarDeID, Itens.Descricao, Itens.ID, dt_fornecedor FROM Itens INNER JOIN Saldo ON Itens.ID = Saldo.ID GROUP BY Itens.Descricao, Saldo.Status,saldo.dt_fornecedor, Itens.ID HAVING Saldo.Status= 'Recebido' AND saldo.dt_fornecedor between #" & data_calculada & "# AND #" & data1_calculada & "# ORDER BY Itens.ID", cn, adOpenForwardOnly, adLockReadOnly
While Not rs.EOF
Set li = ListView1.ListItems.Add(Text:=rs!ID)
Set si = li.ListSubItems.Add(Text:=rs!ContarDeID)
While Not rs.EOF
Set si = li.ListSubItems.Add(Text:=rs2!ContarDeID)
rs2.movenext
rs.MoveNext
Wend
Wend
rs.Close
rs2.Close
cn.Close
Set rs = Nothing
Set rs2 = Nothing
Set cn = Nothing
End Sub
Obrigado
Ricardo
Postado : 28/12/2015 8:53 pm