Scritto da Giorgio Rancati
|
Mercoledì 29 Marzo 2006 01:00 |
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
|