Access – Kreiranje izveštaja iz Excel tabele

Predstavićemo vam jednu vrlo zanimljivu funkciju koja će da u Access-u formira izveštaj (Report) od podataka preuzetih iz neke Excel tabele. Za ovu našu funkciju koristićemo Access-ovu ugrađenu funkciju „CreateReport „. Ovaj primer iskoristićemo kao prikaz kako može da se izvrši automatizacija, za povezivanje sa Excel-om, te kreiranje linkovane tabele u nekoj Access bazi podataka (u našem primeru to je Northwind). Nakon linkovanja, i kreiranja tabele, izvršiće se kreiranje izveštaja (Report-a) sa podacima iz date tabele. Biće potrebno samo da u folderu „My Documents“ kreirate jednu radnu svesku sa nazivom „Book1“ (ili samo zamenite određenu liniju iz donjeg koda). Podaci iz te radne sveske koji će ući u linkovanu tabelu definisani su preko osobine „SourceTableName“.

Kada ste spremili Excel-u tabelu kao izvor, unesite donji kod u modul bilo koje baze podataka, te na praznu formu postavite jedno komando dugme i odatle pozovite funkciju „Izvestaj()“. Pre nego što pokrenete sam kod, referencirajte Microsoft Excel 8.0 objektnu biblioteku i DAO 3.5 (mogu da budu i druge verzije).


Option Compare Database
‘ Ovu liniju unesite u sekciju Declarations module-a.
Dim appAccess As New Access.Application

Sub Izvestaj()

Dim rpt As Access.Report, ctl As Access.TextBox
Dim dbs As DAO.Database, tdf As DAO.TableDef, fld As DAO.Field
Dim strDB As String, intLeft As Integer

‘ Konstanta koja predstavlja putanju do baze Northwind.
Const conPutanja As String = „C:“

‘ Otvaranje baze u Access-u, koriscenjem cele putanje.
appAccess.OpenCurrentDatabase conPutanja & „Northwind.mdb“
‘ preuzimanje reference tekuce baze.
Set dbs = appAccess.CurrentDb
‘ Kreiranje novog TableDef objekta.
Set tdf = dbs.CreateTableDef(„XLData“)
‘ Definisanje konekcionog stringa ka Excel-ovom ISAM drajveru.
‘ Ovde ubacite putanju do neke vase radne sveske
tdf.Connect = „EXCEL 8.0; Database=C:My DocumentsBook1.xls“
‘ Odredjivanje izvorne tabele, preko reference bloka celija.
tdf.SourceTableName = „A2:E8“
‘ Linkvanje nove tabele u tekucu bazu.
dbs.TableDefs.Append tdf
‘ Kreiranje novog izvestaja u Access-u.
Set rpt = appAccess.CreateReport
‘ Definisanje linkovane tabele kao izvora.
rpt.RecordSource = tdf.Name
‘ Otvaranje reporta u Print Preview modu.
appAccess.DoCmd.OpenReport rpt.Name, acViewPreview
appAccess.DoCmd.Restore
‘ Prikaz Access-a kao aktivne aplikacije.
AppActivate „Microsoft Access“
End Sub

Pratite Krstaricu na www.krstarica.com