A volte può insorgere la necessità di dover popolare una o più caselle di riepilogo/combinate con una serie di dati che non provengono dalle tabelle di un database. Un esempio può essere quello di avere una o più liste ordinate alfabeticamente con i files contenuti in una cartella, il problema si può risolvere in molti modi, uno di questi è l'uso di un recordset non associato.
Esempio:
Create una nuova maschera, inserite tre caselle di riepilogo assegnando rispettivamente i nomi: Elenco0,Elenco1 ed Elenco2
Premere il menu Visualizza-->Codice e incollate il codice seguente.
Private Sub Form_Load()
Dim Cartella As String 'Cartella files
Dim NomeFile As String 'Nome file
Dim Rs As New ADODB.Recordset
'Creo il campo Nomefile nel recordset
Rs.Fields.Append "NomeFile", adVarChar, 255
'Apro il recordset
Rs.Open, , adOpenDynamic, adLockOptimistic
'Imposto il percorso dei files da cercare
Cartella = Environ("HOMEDRIVE") + Environ("HOMEPATH") + "\Documenti\"
'Popolo il recordset
NomeFile = Dir(Cartella)
Do While NomeFile <> ""
Rs.AddNew Array("NomeFile"), Array(NomeFile)
NomeFile = Dir
Loop
'Imposto l'ordinamento
Rs.Sort = "NomeFile ASC"
'Imposto il filtro sui files mdb o adp
Rs.Filter = "NomeFile LIKE '%.mdb%' OR NomeFile LIKE '%.adp%'"
'Popolo la prima casella combinata
Set Me.Elenco0.Recordset = Rs
'Imposto il filtro sui files di word
Rs.Filter = "NomeFile LIKE '%.doc%'"
'Popolo la seconda casella combinata
Set Me.Elenco1.Recordset = Rs
'Imposto il filtro sui files di Excel
Rs.Filter = "NomeFile LIKE '%.xl%'"
'Popolo la terza casella combinata
Set Me.Elenco2.Recordset = Rs
Rs.Close
Set Rs = Nothing
End Sub
Compilate e aprite la maschera, la prima casella di riepilogo verrà popolata con i files Mdb e Adp di Access, le seconda con i files Doc di Word e la terza con i files Xl? di Excel.
Sistema operativo: Win32 Applicazioni: Access 2000, Access 2002/XP, Access 2003