Minggu, 05 Januari 2020

EXPORT DATA DARI DATABASE KE EXCEL VB6 DENGAN MSFlexGrid

Ok Fren Langsung aja ke pokok bahasan ya... Setelah sebelumnya bahas Cara Input Data Ke Database Dengan VB6 .

Langkah pertama silahkan buka VB6 di komputer anda, lalu pilih "Standar EXE".



Maka tamplannya kira-kira seperti ini :


Langkah selanjutnya adalah Klik "Project" ---->> "Pereference" :


Kemudian ceklis component sehingga jadi seperti berikut :



Kemudian Tekan OK, Langkah selanjutnya adalah Tekan "CTRL + T" pada keyborad lalu ceklis pada "Microsoft FlexGrid Control" seperti Berikut :


Lalu Tekan Ok, Kemudian tambahkan 1 buah "MSFlexGrid" dan 2 buah "CommandButton", lalu susun seperti ini :




Untuk CommandButton "Export" Ganti nama menjadi "CmdEksport" dan untuk CommandButton "Close" Ganti dengan "CmdClose", lalu klik double klik pada form dan paste kan kode berikut :

' Author : HARLEY AFANDI DAULAY
' Date : 25-09-2019
' Purpose : https://technoindustri.blogspot.com
' Email : harly.afandi@gmail.com
'-------------------------------------------------
Dim DataKu As New ADODB.Recordset
Dim Baris As Integer

'Untuk Mengatur Tampilan MSFlexGrid1
Sub AktifMSFlexGrid1()
MSFlexGrid1.Cols = 3
MSFlexGrid1.RowHeightMin = 300
'-------------------------------------------------
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "NO"
MSFlexGrid1.CellFontBold = True
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.AllowUserResizing = flexResizeColumns
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
'-------------------------------------------------
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "NAMA"
MSFlexGrid1.CellFontBold = True
MSFlexGrid1.ColWidth(1) = 2000
MSFlexGrid1.AllowUserResizing = flexResizeColumns
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
'-------------------------------------------------
MSFlexGrid1.Col = 2
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "ALAMAT"
MSFlexGrid1.CellFontBold = True
MSFlexGrid1.ColWidth(2) = 2500
MSFlexGrid1.AllowUserResizing = flexResizeColumns
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
End Sub

Private Sub CmdClose_Click()
Unload Me
End Sub
Private Sub CmdEksport_Click()
FlexGrid_To_Excel MSFlexGrid1, MSFlexGrid1.Rows, MSFlexGrid1.Cols, 1, "Data Anggota"
DoEvents
End Sub
Private Sub Form_Load()
MSFlexGrid1.Clear
Call AktifMSFlexGrid1

MSFlexGrid1.Rows = 2
Baris = 0
Call KoneksiKu
Set DataKu = New ADODB.Recordset
DataKu.Open "SELECT * FROM anggota ORDER BY nama ASC", _
ConKu, adOpenDynamic, adLockOptimistic

If DataKu.BOF Then
Exit Sub
Else
With DataKu
.MoveFirst
Do While Not .EOF
On Error Resume Next
Baris = Baris + 1
MSFlexGrid1.Rows = Baris + 1
MSFlexGrid1.TextMatrix(Baris, 0) = Baris
MSFlexGrid1.TextMatrix(Baris, 1) = !nama
MSFlexGrid1.TextMatrix(Baris, 2) = !alamat
.MoveNext
Loop
End With
End If
End Sub

Langkah berikutnya buat sebuah module dan pastekan kode berikut :

' Author : HARLEY AFANDI DAULAY
' Date : 25-09-2019
' Purpose : https://technoindustri.blogspot.com
' Email : harly.afandi@gmail.com
'--------------------------------------------------------------
Public ConKu As New ADODB.ConKuection
'Untuk koneksi database ms access pd waktu memasukan data ke dlm database
Public Sub KoneksiKu()
Set ConKu = New ADODB.ConKuection
'Jika menggunakan ms access 2007 keatas pakailah koding berikut:
'ConKu.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & App.Path & "\Database.accdb;"
'ConKu.CursorLocation = adUseClient
ConKu.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database.mdb"
ConKu.CursorLocation = adUseClient
End Sub

'Prosedur Untuk Eksport
Public Sub FlexGrid_To_Excel(TheFlexgrid As MSFlexGrid, _
TheRows As Integer, TheCols As Integer, _
Optional GridStyle As Integer = 1, _
Optional WorkSheetName As String)

Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet
Dim intRow As Integer ' counter
Dim intCol As Integer ' counter

If Not IsObject(objXL) Then
MsgBox "You need Microsoft Excel to use this function", _
vbExclamation, "Print to Excel"
Exit Sub
End If

On Error Resume Next

' Membuka Excel
objXL.Visible = True
Set wbXL = objXL.Workbooks.Add
Set wsXL = objXL.ActiveSheet

' Nama worksheet
With wsXL
If Not WorkSheetName = "" Then
.Name = WorkSheetName
End If
End With

' Fill worksheet
For intRow = 1 To TheRows
For intCol = 1 To TheCols
With TheFlexgrid
wsXL.Cells(intRow, intCol).Value = _
.TextMatrix(intRow - 1, intCol - 1) & " "
End With
Next
Next

' Format Tampilan Excel
For intCol = 1 To TheCols
wsXL.Columns(intCol).AutoFit
wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, _
1) & TheRows).AutoFormat GridStyle
Next
End Sub


Ok... Sampai tahap ini kita sudah selesai untuk aplikasi VB6 nya, Langkah berikut nya adalah membuat sebuah database "Microsoft Acces", Buka MS Acces di PC anda lalu buat sebuah database dan pilih "Create blank database" format ".mdb", selanjutnya buat sebuah tabel dengan nama "anggota" dengan nama field seperti berikut :


silahkan isi data sesuai keinginan sobat, atau klik link berikut untuk tutorial sebelumnya Cara Input Data Ke database Acces Dengan VB6, ok langkah selanjutnya adalah simpan dan Tutup Database, lalu kembali ke project VB6 sobat, lalu tekan F5 untuk Run Project, maka Hasilnya kira-kira seperti ini :



Nah silhkan klik tombol export...Bagaimana sobat Blogger? Mudah Bukan? Ok deh kalo begitu untuk kali ini sampai disini dl ya, untuk pertanyaan mengenai TItorial ini silahkan berkomentar! 
Buat temen-temen yang mau copas silahkan aja ya, tapi mohon sertakan link sumber .... :)

Terima Kasih 
Harley Daulay

0 Comments:

Posting Komentar

Silahkan Berkomentar..!