U ovom prilogu prikazaćemo vam kako možete da automatski učitate sve fajlove određenog tipa (ekstenzije) iz nekog foldera na disku, u Access tabelu. Ova rutina je vrlo dobra za učitavanje OLE objekata, kao što su .gif, .jpg, .doc, .xls, ili .bmp fajlovi, u Microsoft Access bazu podataka. Da biste ovo uradili ispratite sledeće korake:
- Pokrenite Access i kreirajte novu tabelu sa tri polja u Design modu, prema sledećim parametrima (naziv "tblUcitajOLE"):
Naziv polja: OLEID
Tip podatka: AutoNumber
Naziv polja: OLEPutanja
Tip podatka: Text
Velicina: 255
Naziv polja: OLEFajl
Tip podatka: OLE Object
----------------------------
Primarni kljuc (PrimaryKey): OLEID
- Koristeći čarobnjak "AutoForm: Columnar Wizard", kreirajte novu formu zasnovanu na novoj - "tblUcitajOLE" tabeli. Snimite formu pod nazivom "frmUcitajOLE".
- Otvorite formu "frmUcitajOLE" u dizajn modu.
- U Header sekciji forme dodajte tri nevezane (unbound) text-box kontrole sa sledećim osobinama:
Naziv (Name): Folder
Naziv (Name): Ekstenzija
Naziv (Name): OLEClass
- Kreirajte na formi komandno dugme, i dajte mu naziv "cmdUcitajOLE" sa osobinom Caption - "Ucitaj fajlove".
- Pozovite panel "Properties" i pređite na karticu "Event", te dvostruko kliknite polje "On Click" i unesite sledeći programski kod:
Private Sub cmdUcitajOLE_Click()
Dim MojFolder As String
Dim MojaEkst As String
Dim MojaPutanja As String
Dim MojFajl As String
Dim strKriterijum As String
MojFolder = Me!Folder
' Preuzimanje putanje.
MojaPutanja = MojFolder & "\" & "*." & [Ekstenzija]
' uzimanje prvog fajla na putanji koji sadrzi datu ekstenziju.
MojFajl = Dir(MojaPutanja, vbNormal)
Do While Len(MojFajl) <> 0
[OLEPath] = MojFolder & "\" & MojFajl
[OLEFile].Class = [OLEClass]
' Unesite odgovarajuci naziv OLE klase.
[OLEFile].OLETypeAllowed = acOLEEmbedded
[OLEFile].SourceDoc = [OLEPutanja]
[OLEFile].Action = acOLECreateEmbed
MojFajl = Dir
' Prelaz na novi slog, an formi
' Sledecu liniju dodajte samo ako koristite Access 95:
'DoCmd.DoMenuItem acFormBar, acEditMenu, 12, 4, acMenuVer70
' A sledecu liniju dodajte samo ako koristite Access 97:
DoCmd.RunCommand acCmdRecordsGoToNew
Loop
End Sub
- Snimite formu "frmUcitajOLE" i otvorite je u Form modu.
- Unesite punu putanju foldera u kome se nalaze OLE fajlovi. Umesto parametra "OLEClass" u Do...While petlji, unesite odgovarajući naziv klase. Za bitmap slike naziv klase bi bio "Paint.Picture". Da biste odredili naziv klase odgovarajućeg OLE objekta, pogledajte dokumentaciju aplikacije koja podržava objekt. U polje "Ekstenzija" unesite fajl ekstenziju koju želite kao što su bmp, jpg, doc, xls, tif, ili gif. Ispred ekstenzije ne postavljajte tačku.
- Kliknite dugme "Ucitaj fajlove" i zapazite da su učitani svi fajlovi naznačene ekstenzije.