Membaca Database Microsoft Access dengan Python
Microsoft Access adalah aplikasi database non server yang dikembangkan oleh Microsoft. Aplikasi ini selalu di bundel dengan Microsoft Office (Ms. Word, Excel,Power Point), sehingga setiap menginstall MS.Office, Ms Access selalu adalah pilihan untuk di ikut sertakan atau tidak. Versi terakhir MS.Office saat penulis menulis artikel ini adalah Microsoft Office 2011. Dengan di bundel dalam Ms Office, tentunya sangat mudah ditemukan disetiap komputer yang digunakan diperkantoran. Disamping itu, MS Acces sangat kompetibel dengan aplikasi Ms.Word,Excel dan lain-lain, terutama pemindahan atau konversi data sesama MS.Office,juga dengan aplikasi-aplikasi yang menggunakan teknologi server. Dengan ODBC dan .NET,database Ms.Acces dapat dibaca dengan mudah oleh aplikasi berbasis server, Misalnya MS.SQL Server, PHP,Coldfusion dan lain-lain.
Karena di setiap komputer dan kompetibelnya MS.Access dengan sesama Ms.Office, maka aplikasi tersebut sangat banyak digunakan untuk membuat database-database non server, baik untuk personal bahkan perusahaan. Tampilannya hampir sama dengan MS.Office sehingga sangat user friendly menggunakan.
Ms.Acces dalam membuat database akan mencitakan table,query,form. Table adalah tempat menyimpan data dengan fieldnya, Query adalah tempat menciptakan relasi data dan perintah untuk memanggil data dalam table sedangkan Form adalah untuk membuat tampilan untuk data yang akan di masukkan atau ditampilkan. Disamping itu ada banyak fasilitas-fasilitas lain yang dipunyai terutama yang berhubungan dengan database.
Ms.Access disamping dapat berkalaborasi dengan sesama MS. Office dan Program-program yang dibuat oleh Microsoft, dapat juga berkalaborasi dengan program-program di luar itu, seperti python. Python merupakan aplikasi yang sebelumnya dikembangkan di Linux dan Unix. Python merupakan program untuk kegunaan umum seperti digunakan untuk mengembangkan aplikasi-aplikasi server atau non server. Maka bila kita kalaborasikan dengan python dengan Ms.Acces kita akan meletakan Ms.Access sebagai database(stored) dan phyton sebagai interface dan memproses data yang akan disimpan ke database.
Ketika python proses database, aplikasi ini hanya menggunakan data yang ada dalam table di Ms.Access. Untuk membaca data tersebut dijembatani oleh ODBC yang ada di windows. Jadi setelah menginstall python dan MS.Acces, maka aplikasi yang harus di install untuk membaca ODBC windows adalah pywin32. Dengan pywin32 ini python dapat membaca File Access dengan teknologi DAO dan ADO. Disini kita akan mencoba membaca data MS.Access dengan DAO. Sebelum anda mencoba, Install aplikasi MS.Access,Python 3.2 dan Pywin32 dikomputer anda. Setelah itu buat database di MS.Acces dengan field dan data sebagai barikut:
Untuk membuatnya adalah :
Ms.Access
1. Klik Start > All Programs > Microsoft Office > Microsoft Access (2007/2010/1011)
2. Pilih Blank Database dan klik 2 kali pada icon tersebut, seperti gambar di bawah ini
3. Pada Blank Database disebelah kan anda,Tentukan folder dan nama file Ms.Acces yang akan anda buat ,misal dbbiodata, kemudian klik tombol Create.
4. Buat field seperti table diatas. Untuk membuat field klik 2 kali pada tulisan Add New Field,tulis Fieldnya dan tekan enter.
Table yang telah diisi data akan tampak seperti gambar di bawah ini
5. Klik tombol Save. Maka anda akan diminta membuat nama table seperti gambar di bawah
Maka akan muncul table seperti gambar bawah ini
Setelah itu Save As table dalam Microsoft 2000-2003 untuk membetuk file .mdb
Python
1. Jalankan Python, yaitu Start > All Programs > Python 3.2 > IDLE(python GUI). Maka akan tampak seperti gambar di bawah ini
2. Untuk menulis program python adalah dengan Pilih Menu File > New Window (Ctrl N).
3. Tulis program seperti di bawah ini.
import win32com.client
connection = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=d:\\python32\\dbBiodata.mdb;'
connection.Open(DSN)
recordset = win32com.client.Dispatch(r'ADODB.Recordset')
recordset.Open('SELECT * FROM tbl_biodata', connection, 1, 3)
fields_dict = {}
for x in range(recordset.Fields.Count):
fields_dict[x] = recordset.Fields.Item(x).Name
print (fields_dict[x], recordset.Fields.Item(x).Value)
4. Jalankan/Run dengan mengklik Menu Run > Run Modul F5, maka hasilnya seperti gambar di bawah
