Buon giorno,
è un pezzo che non scrivo...
Volevo chiedere un consiglio. Ho un report i cui valori vengono filtrati dai valori selezionati di una listbox di una maschera. Tutto funziona e il campo della listbox e di tipo numerico (anno). Ecco il codice:
Option Compare Database
Option Explicit
Private Sub cmdStampa_Click()
Dim strItems As String
strItems = FillItems(Me.lst_anno)
If Len(strItems) > 0 Then
If Me.FilterOn = True Then Me.FilterOn = False
[b]Me.Filter = "anno IN (" & strItems & ")"[/b]
Me.FilterOn = True
End If
DoCmd.OpenReport "carta", acViewPreview, , Me.Filter
End Sub
Private Function FillItems(lst As Access.ListBox) As String
Dim varItem As Variant
Dim strItems As String
For Each varItem In lst.ItemsSelected
strItems = strItems & lst.Column(0, varItem) & ","
Next
If Len(strItems) > 0 Then strItems = Mid$(strItems, 1, Len(strItems) - 1)
FillItems = strItems
End Function
Tutto funziona, però ora ho bisogno di cambaire questo codice, facendo sì che il report sia filtrato da valori in formato dd/mm/aaaa che visualizzo nella listbox. Per far ciò ho modificato la listbox facendole pescare valori dal campo "data" nel suddetto formato. Ma il mio problema sta nel convertire la riga in grassetto che vedete sopra.. ora il formato è data e non più numerico, quindi come lo modifico? scusate la ignoranza.
Grazie mille
jibi
PS. non mi ha preso il grassetto quindi, la riga in questione è compresa tra
e: Me.Filter = "anno IN (" & strItems & ")"