|
Microsoft Office Access |
|
|
Uvoz podataka iz ExcelaNivo:
Access se veoma lako integriše sa drugim programima. Posebno interesantni su programi sa kojima može da aktivno razmenjuje podatke. Excel spada u tu kategoriju, a značajan je iz jednog razloga: kada poželite da jednostavnu bazu podataka sa radnog lista prebacite u "ozbiljniji" program za rad sa bazama podataka, verovatno ćete to učiniti uvozom podataka u Access. Prilikom uvoza podataka možete se opredeliti između uvoza celog radnog lista ili definisanih opsega podataka (neophodno je da postoje definisani opsezi podataka u okviru radnog lista). Najčešće ćete uvesti ceo radni list, a zatim filtrirati potrebne podatke prilikom dalje obrade, jer je veličina radnog lista dosta ispod limita Accessovih tabela. Opsezi podataka su druga priča, jer ćete često biti u situaciji da vam je potrebno više od jednog opsega, što zahteva ponovno pokretanje čarobnjaka za uvoz podataka. Uvoz više opsega podataka možete ubrzati pomoći višestruke naredbe TransferSpreadsheet u okviru jednostavnog makroa. Jedino oko čega se morate opredeliti je to da li ćete opseg uvesti kao podatke u zasebnoj tabeli ili ćete nadovezivati podatke jedan za drugim u sklopu iste tabele.
Ukoliko uvozite opsege podataka u zasebne tabele, pre komande TransferSpreadsheet morate zadati komandu za brisanje postojećih tabela (DeleteObject) kako se podaci ne bi nadovezali na već postojeće. U drugom slučaju, kada uvozite više opsega u jednu tabelu, argument TableName mora biti jednak za svaku instancu naredbe TransferSpreadsheet (ali ipak morate prethodno izbrisati sadržaj postojeće tabele). Pošto naredba za brisanje spada u destruktivne operacije, Access će pre svakog izvršavanja takve naredbe zahtevati vašu potvrdu. Ukoliko želite da izbegnete ove zahteve, zadajte komandu SetWarnings sa parametrom No pre naredbe za brisanje sadržaja. Makroe ćete lako uposliti, ali su njihove mogućnosti veoma ograničene. Na primer, ako poželite da uvezete samo jedan deo sadržaja radnog lista po nekom kriterijumu, moraćete se pozabaviti VBA programiranjem. Analizirajte sledeći program i prilagodite ga svojim potrebama.
' Uvoz podataka po kriterijumu iz Excelovog radnog lista
'
Sub excel_uvoz()
Dim godina As Integer
Dim conn As ADODB.Connection
Set conn = CurrentProject.Connection
Dim Exl As Object
Set Exl = GetObject("C:\Uvoz.xls")
conn.Execute "Delete * From Uvoz"
With Exl
With .Worksheets("Data")
For godina = 1 To 30 'redovi radnog lista
If .Cells(godina, 2) = "2005" Then
ssql = "Insert Into Inventory_All Values("
ssql = ssql & .Cells(godina, 1) & ", "
ssql = ssql & "'" & .Cells(godina, 2) & "',"
ssql = ssql & .Cells(godina, 3) & ")"
conn.Execute ssql
End If
Next godina
End With
End With
Exl.Close
Set Exl = Nothing
End Sub
Tabela u koju će biti preneti podaci u ovom primeru se zove Uvoz, dok se kriterijum po kome se podaci uvoze nalazi u drugoj koloni radnog lista. Godina po kojoj se filtriraju podaci je 2005, dok je putanja do Excel datoteke C:\Radni\Proba\Uvoz.xls. Procedura će proći kroz prvih 30 redova radnog lista. Ove parametre možete varirati kako biste ga prilagodili konkretnom radnom listu; isto važi i za SQL naredbu koja prenosi sadržaj ćelija samo prve tri kolone. Kada napravite konekciju sa Excel datotekom nalik ovom primeru, tada imate na raspolaganju veliki broj mogućnosti za uvoz podataka.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana. |