Pada postingan sebelumnya saya membuat postingan Coding Import data dari Excel ke Database Ms. Acces Menggunakan VB 6.0. Nah pada postingan kali ini saya akan membuat kebalikannya yaitu bagaimana cara mengexport data dari database acces ke excel. Cara ini juga bisa digunakan untuk menampilkan laporan dengan bantuan excel. Ok, langsung saja ke TKP
Dim koneksi_ado As ADODB.Connection Dim rsInfo As ADODB.Recordset
Setelah itu buatlah sebuah prosedur untuk koneksi ke databasenya dengan mencopy coding berikut ini:
Sub Koneksi() Dim SQLStr As String Set koneksi_ado = New ADODB.Connection Set rsInfo = New ADODB.Recordset koneksi_ado.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & MenuUtama.StatusBar1.Panels(4) & "\namaDb.mdb;Jet OLEDB:Database Password=XXXXX;Persist Security Info=False" koneksi_ado.Open adoInfo.Enabled = True SQLStr = "select * from namatabel" rsInfo.Open SQLStr, koneksi_ado, adOpenDynamic, adLockOptimistic DataGrid1.Refresh End Sub
Koneksi ini bisa ditempatkan saat form load ataupun ditaruh pada tombol tempat koding exportnya ditempatkan. Langkah selanjutnya buatlah sebuah prosedur untuk exportnya. Copykan coding berikut:
sub Export()
Dim EXCELAPPKU As Excel.Application
Dim excelbookku As Excel.Workbook
Dim excelsheetku As Excel.Worksheet
Dim baris, datake As Integer
Dim NamaFile, LokasiFile, Tgl, Bln, Tahun As String
Label1.Caption = "Status : Prosesing Data...."
Set EXCELAPPKU = New Excel.Application
Set excelbookku = EXCELAPPKU.Workbooks.Add
With EXCELAPPKU
.StandardFontSize = "10"
End With
EXCELAPPKU.Visible = True
Set excelsheetku = excelbookku.Worksheets(1)
excelsheetku.Select
'memberi judul pada tabel
With excelsheetku
.Cells(1, 1).Value = "IdInfo"
.Cells(1, 2).Value = "Kategori"
.Cells(1, 3).Value = "tanggal"
.Cells(1, 4).Value = "nama"
.Cells(1, 5).Value = "alamat"
.Cells(1, 6).Value = "IdLurah"
.Cells(1, 7).Value = "Telpon"
.Cells(1, 8).Value = "HP1"
.Cells(1, 9).Value = "HP2"
.Cells(1, 10).Value = "keterangan"
.Cells(1, 11).Value = "status"
.Cells(1, 12).Value = "cabang"
baris = 2
datake = 0
'menambahkan data yang ada di database ke dalam excel
If Not rsInfo.BOF Then
rsInfo.MoveFirst
While Not rsInfo.EOF
Label1.Caption = "Status : Exporting Data ke " & datake
Label1.Refresh
datake = datake + 1
'.Cells(1, 5).Value = "Fetching data ke " & datake
.Cells(baris, 1) = rsInfo![idinfo]
.Cells(baris, 2) = rsInfo![kategori]
.Cells(baris, 3) = rsInfo![tanggal]
.Cells(baris, 3) = format(rsInfo![tanggal], "dd/mm/yy")
.Cells(baris, 4) = rsInfo![nama]
.Cells(baris, 5) = rsInfo![Alamat]
.Cells(baris, 6) = rsInfo![IdLurah]
.Cells(baris, 7) = rsInfo![Telpon]
.Cells(baris, 8) = rsInfo![HP1]
.Cells(baris, 9) = rsInfo![HP2]
.Cells(baris, 10) = rsInfo![keterangan]
.Cells(baris, 11) = rsInfo![Status]
.Cells(baris, 12) = rsInfo![Cabang]
baris = baris + 1
rsInfo.MoveNext
Wend
End If
'agar kolom fleksibel mengikuti panjang data yang ada di cell tersebut
.Columns("A:A").EntireColumn.AutoFit
.Columns("B:B").EntireColumn.AutoFit
.Columns("C:C").EntireColumn.AutoFit
End With
rsInfo.Close
'menyimpan dan memberi nama file agar nama filenya ada tanggal bulan dan tahun dalam contoh ini nama filenya menjadi "Info_040615"
Tgl = format(Date, "DD")
Bln = format(Date, "mm")
Tahun = format(Date, "yy")
NamaFile = "Info_" & Tgl & Bln & Tahun & ".xlsx"
LokasiFile = "C:\TransferData\Dropbox\crm\" & NamaFile
excelsheetku.SaveAs LokasiFile
'#############################
On Error GoTo 0
Set excelsheetku = Nothing
Set excelbookku = Nothing
'setelah disimpan excel langsung tertutup. Jika ingin ditampilkan bisa hilangkan saja coding EXCELAPPKU.Quit
EXCELAPPKU.Quit
MsgBox "Export data selesai, mohon datanya diperiksa kembali..!", vbInformation, "Informasi"
Unload Me
end sub
Selanjutnya adalah tambahkan sebuah tombol untuk tombol exportnya. Apabila sudah dibuatkan tombolnya klik 2x pada tombol tersebut kemudian panggil prosedur koneksi dan export yang sudah kita buat tadi.
Private Sub Command1_Click() koneksi export End Sub
Sekian postingan untuk kali ini. Semoba bisa membantu.
