overwrite), menimpa file lama dengan yang baru.
System.IO.File.Delete(Application.StartupPath + NewDB)
Menghapus file database backup.
Coba jalankan project dengan menekan F5, untuk mengetahui berhasil atau tidak program
ini. Coba cari file access yang size sudah besar, lalu copy kedalam folder bin pada
program ini. Lalu tekan tombol Compact, sesudah selesai cek kembali apakah size dari file
ini berkurang. Jangan dicoba jika file Access sedang dijalankan oleh program lain.
Fungsi ini dapat berjalan ketika koneksi pada file access ini lagi tidak ada.
Dengan adanya fasilitas ini pada program kita, secara tidak langsung kita telah membuat
program yang berkualitas, sebab pada program kita telah ada fasilitas untuk memaintain
database pada program. Hal-hal seperti ini masih sering dilupakan oleh kita. Mudah-
mudahan artikel ini membantu para pembaca untuk meningkatkan kualitas program.
Untuk informasi pada para pembaca, untuk seluruh artikel penulis kecuali Step 10, source
code (project) dapat di download di http://junindar.blog.com . Penulis sadar artikel-artikel
ini tanpa contoh sangat susah untuk di implementasikan.
jika kita mau membuat grapik pada program kita (vb.net) dengan mengambil data
dari database yang ada. Sangat-sangat banyak sekali third party program
(component) yang menyediakan hal ini. Tapi untuk waktu seperti ini dolar lagi
tinggi untuk beli sesuatu sangat sulit. (No purchase for IT), ya itulah yang di bilang
ama bos J.. Tapi sebenarnya ada component yang jarang di gunakan, buku-
bukunya nya pun susah dicari. Apakah nama nya? OWC = Office Web
Components. Mudah-mudahan dengan artikel ini dapat membantu temen-temen
yang mau belajar dalam membuat grapik pada aplikasi nya. Untuk mengetahui apa
itu OCW silahkan klik link berikut
http://en.wikipedia.org/wiki/Office_Web_Components . Untuk mendapatkan
component ini kita harus melakukan beberapa langkah, silahkan ikuti pada link
berikut http://support.microsoft.com/kb/823982 . Bagi yang buru-buru (males J )
bisa memakai file AxOWC11.dll, file disertakan pada folder bin berbentuk zip
file didalam project. Artikel ini memakai Vb.Net 2003, dan juga sudah di
implementasikan di Vb 2005 express. Dan project dari artikel ini tersedia pada
http://junindar.blogspot.com So mari ikuti step-step dibawah ini.............
II. Desain Form
Terlebih dahulu penulis berasumsi kita semua telah mengerti dalam membuat DB
dengan access, jadi copy file Database pada folder Bin project yang didownload dan
paste ke folder Bin pada project anda.
Sebelum kita mendesain form extract file zip pada folder bin, dan simpan ke local
drive. (Lebih baik sebelumnya buat folder C:\owc11, biar gampang diingat).
Buatlah Project Baru dengan nama Chart, lalu klik Tools>Add/Remove ToolBox
items, maka muncul jendela seperti dibawah.
Masih pada tab .Net Framework Components, klik browse dan cari file
AxOWC11.dll yang telah di extract dan klik OK. Sekang pada Toolbox akan
bertambah 3 komponen (AxChartSpace, AxPivotTable dan AxSpreadSheet).
Dan pada form yang tersedia tambahkan 1 Combobox, 1 data grid dan 1 buah
AxChartSpace1. Lalu susun komponen-komponen ini seperti gambar di bawah
ini. Ubah name ComboBox Menjadi “CbChart”. Ubah DropdownStyle =
DropDownList. Dan tambahkan Items ComboBox dengan kata 2D dan 3D.
Sekarang saat nya kita masuk ke coding.
III. Coding
Buka jendela code pada form dan ketik sintaks dibawah ini. Pada baris awal jendela
code.
Dan untuk deklarasi ketik sintaks dibawah
Sintaks dibawah ini untuk menampilkan data pada data grid.
Sedangkan untuk membuat chart sintaks seperti dibawah ini. Penjelasan sintaks
pada tulisan yang berwarna hijau.
Imports System.Data
Imports System.Data.OleDb
Imports System.io
Imports owc11 = Microsoft.Office.Interop.Owc11
#Region "Declaration"
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataAdapter As OleDbDataAdapter
Dim strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Dim MyConnection As New AccessData.DatabaseConnection
#End Region
#Region "Declaration"
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataAdapter As OleDbDataAdapter
Dim strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Dim MyConnection As New AccessData.DatabaseConnection
#End Region
Sub View_Data()
objDataTable.Clear()
strSQL = "select * from [Cat]"
objCommand = New OleDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "Mdt_Cat")
MyConnection.close()
objDataTable = objDataSet.Tables("Mdt_Cat")
DataGrid1.DataSource = objDataTable
End Sub
Sub RefreshChart()
View_Data()
Dim a As String
Dim categories(11)
For i As Integer = 0 To 11
categories(i) = objDataTable.Columns(i + 1).Tostring
a = objDataTable.Columns(i + 1).tostring
Next
Dim values(11)
Dim chConstants
'Menghapus isi dari chart, seluruh chart yang lama dan
exist menjadi empty
'buat 1 chart yang baru
AxChartSpace1.Clear()
AxChartSpace1.Charts.Add()
chConstants = AxChartSpace1.Constants
'tambahkan series, secara dinamis
For i As Integer = 0 To objDataTable.Rows.Count - 1
AxChartSpace1.Charts(0).SeriesCollection.Add()
Next
Dim MaxTotal As Integer = 0
'membuat warna dasar chart menjadi putih
AxChartSpace1.Charts(0).PlotArea.Interior.Color = "White"
For j As Integer = 0 To objDataTable.Rows.Count - 1
'mengeset categories series
AxChartSpace1.Charts(0).SeriesCollection(j).SetData(chConstants.chDimC
ategories, chConstants.chDataLiteral, categories)
For i As Integer = 1 To objDataTable.Columns.Count - 1
values(i - 1) =
Val(objDataTable.Rows(j).Item(i).tostring)
If values(i - 1) > MaxTotal Then
MaxTotal = values(i - 1)
End If
Next
'mengeset series value
AxChartSpace1.Charts(0).SeriesCollection(j).SetData(chConstants.chDimV
alues, chConstants.chDataLiteral, values)
'membuat caption
AxChartSpace1.Charts(0).SeriesCollection(j).Caption =
objDataTable.Rows(j).Item(0).ToString
Next
For i As Integer = 0 To objDataTable.Rows.Count - 1
Dim colors As String
Select Case i
Case 0
colors = "Red"
Case 1
colors = "DarkOrange"
Case 2
colors = "Cyan"
Case 3
colors = "Yellow"
Case 4
colors = "Red"
Case 5
colors = "Black"
Case 6
colors = "Navy"
Case 7
colors = "SkyBlue"
Case 8
colors = "SlateGray"
'selanjutnya tambah sendiri ya
End Select
Kita telah selesai membuat sintaks untuk menampilkan data pada data grid dan
membuat chart. Sekarang sintaks diatas dapat kita panggil pada event form load dan
selected index change pada combo box. Double click form1 dan ketikkan sintaks
dibawah.
Maksud dari form ini yaitu pertama kali program aktif CbChart akan
menampilkan index dengan bernilai 0 yaitu 2D.
AxChartSpace1.Charts(0).SeriesCollection(i).Interior.Color = colors
Next
If CbChart.Text = "3D" Then
AxChartSpace1.Charts(0).Type =
owc11.ChartChartTypeEnum.chChartTypeColumn3D
End If
'Mengaktifkan Legend pada chart
AxChartSpace1.Charts(0).HasLegend = True
AxChartSpace1.Charts(0).Axes(1).Scaling.Maximum = MaxTotal
AxChartSpace1.Charts(0).Axes(1).MajorUnit = MaxTotal / 10
AxChartSpace1.Charts(0).Axes(1).Scaling.Minimum = 0
AxChartSpace1.Charts(0).Axes(0).HasTitle = True
AxChartSpace1.Charts(0).Axes(0).Title.Caption = "Month"
AxChartSpace1.Charts(0).Axes(0).Title.Font.Name = "Arial"
AxChartSpace1.Charts(0).Axes(0).Title.Font.Size = 9
AxChartSpace1.Charts(0).Axes(1).HasTitle = True
AxChartSpace1.Charts(0).Axes(1).Title.Caption = "Category"
AxChartSpace1.Charts(0).Axes(1).Title.Font.Name = "Arial"
AxChartSpace1.Charts(0).Axes(1).Title.Font.Size = 9
End Sub
Try
CbChart.SelectedIndex = 0
Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
End Try
Lalu double klik CbChart, dan ketik sintaks dibawah ini
Sedangkan pada sintaks diatas, setiap kali user memilih item pada ComboBox maka
program akan memanggil fungsi RefreshChart, yaitu untuk membuat chart apakah
2D atau 3D. Gambar dibawah yaitu hasil dari program yang telah di running.
Try
RefreshChart()
Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
End Try
Mengeksport Chart Ke Excel File
Dengan Vb.Net
Pada artikel sebelumnya saya membahas bagaimana membuat chart pada form
dengan memakai OWC 11. Dan jika pembaca semua sudah berhasil kini
saatnya untuk menerusi ker artikel ini. Bagaimana kita membuat chart pada excel
file dengan vb.net (mengeksport data dari table ke excel file dan membuat chart
Lisensi Dokumen:
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
dengan data ini . Artikel ini memakai Vb.Net 2003, dan juga sudah di
implementasikan di Vb 2005 express. Dan project dari artikel ini tersedia pada
http://junindar.blogspot.com So mari ikuti step-step dibawah ini.............
II. Desain Form
Untuk artikel ini kita bisa memakai project dari artikel sebelumnya, ataupun
bisa dengan membuat baru. Jika membuat baru tambahkan 1 buah datagrid dan 1
buah button pada form dan design seperti ini. Ubah properties button seperti
berikut.
Name : btnExport
Text :Export
Sebelumnya kita akan menambahkan Ms Excel interop pada project kita dengan
cara sebagai berikut. Klik kanan project dan pilih Add Reference, maka jendela
Add Refence akan tampil seperti dibawah.
Lalu klik tab COM dan pada component name cari dan select MS Excel 11.0 Object
Library. Dan klik OK.
Sekarang saat nya kita masuk ke coding.
III. Coding
Buka jendela code pada form dan ketik sintaks dibawah ini. Pada baris awal jendela
code.
Dan untuk deklarasi ketik sintaks dibawah
Sintaks dibawah ini untuk menampilkan data pada data grid.
Imports System.Data
Imports System.Data.OleDb
Imports System.io
Imports Microsoft.Office.Interop
#Region "Declaration"
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataAdapter As OleDbDataAdapter
Dim strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Dim MyConnection As New AccessData.DatabaseConnection
Dim AlphaNum As Integer
Dim Filename, Alphabets As String
Dim chkexcel As Boolean
Dim oexcel As Excel.Application
Dim obook As Excel.Workbook
Dim osheet As Excel.Worksheet
#End Region
Sub View_Data()
objDataTable.Clear()
strSQL = "select * from [Cat]"
objCommand = New OleDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "Mdt_Cat")
MyConnection.close()
objDataTable = objDataSet.Tables("Mdt_Cat")
DataGrid1.DataSource = objDataTable
End Sub
Sintaks diatas berfungsi untuk mengkonvert number ke string (kolom pada excel)
Sub Alphabet()
Select Case AlphaNum
Case 1
Alphabets = "A"
Case 2
Alphabets = "B"
Case 3
Alphabets = "C"
Case 4
Alphabets = "D"
Case 5
Alphabets = "E"
Case 6
Alphabets = "F"
Case 7
Alphabets = "G"
Case 8
Alphabets = "H"
Case 9
Alphabets = "I"
Case 10
Alphabets = "J"
Case 11
Alphabets = "K"
Case 12
Alphabets = "L"
Case 13
Alphabets = "M"
Case 14
Alphabets = "N"
Case 15
Alphabets = "O"
Case 16
Alphabets = "P"
Case 17
Alphabets = "Q"
Case 18
Alphabets = "R"
Case 19
Alphabets = "S"
Case 20
Alphabets = "T"
Case 21
Alphabets = "U"
'bisa disambung sendiri
End Select
Sub Dbclose()
'mengecek dan tutup excel application
If chkexcel = True Then
osheet = Nothing
oexcel.Application.DisplayAlerts = False
obook.Close()
oexcel.Application.DisplayAlerts = True
obook = Nothing
oexcel.Quit()
oexcel = Nothing
End If
' End
End Sub
Sub Generate_Sheet()
View_Data()
osheet = oexcel.Worksheets(1)
'Menganti nama Sheet
osheet.Name = "Excel Charts"
osheet.Range("A1:AZ400").Interior.ColorIndex = 2
osheet.Range("A1").Font.Size = 12
osheet.Range("A1").Font.Bold = True
osheet.Range("A1:I1").Merge()
osheet.Range("A1").Value = "Excel Automation With Charts"
osheet.Range("A1").EntireColumn.AutoFit()
'columns heading
For i As Integer = 0 To objDataTable.Columns.Count - 1
AlphaNum = i + 1
Alphabet()
osheet.Range(Alphabets & "3").Value =
objDataTable.Columns.Item(i).ToString
osheet.Range(Alphabets & "3").BorderAround(8)
osheet.Range(Alphabets & "3").EntireColumn.AutoFit()
Next
'format headings
osheet.Range("A3:" & Alphabets & "3").Font.Color = RGB(255,
255, 255)
osheet.Range("A3:" & Alphabets & "3").Interior.ColorIndex = 5
osheet.Range("A3:" & Alphabets & "3").Font.Bold = True
osheet.Range("A3:" & Alphabets & "3").Font.Size = 10
'memasukkan data dari DB
Dim R As Integer = 3
Dim x As Integer
Dim a, b, c As String
For Each row As DataRow In objDataTable.Rows
R = R + 1
For i As Integer = 0 To objDataTable.Columns.Count - 1
AlphaNum = i + 1
Alphabet()
osheet.Range(Alphabets & R).Value = row(i).ToString
osheet.Range(Alphabets & R).BorderAround(8)
Next i
Next
'Membuat object chart
Dim oChart As Excel.Chart
Dim MyCharts As Excel.ChartObjects
Dim MyCharts1 As Excel.ChartObject
MyCharts = osheet.ChartObjects
'mensetting lokasi chart
MyCharts1 = MyCharts.Add(150, 100, 400, 250)
oChart = MyCharts1.Chart
'membuat chart pada default location
oChart.Location(Excel.XlChartLocation.xlLocationAsObject, osheet.Name)
With oChart
'mengeset range untuk chart
Dim chartRange As Excel.Range
chartRange = osheet.Range("A3", Alphabets & R)
.SetSourceData(chartRange)
'fungsi ini untuk mengeset bentuk dari plot, apakh kolom atau baris
.PlotBy = Excel.XlRowCol.xlRows
'mensetting data label
.ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowNone)
'mensetting apakah legend tampil atau tidak
.HasLegend = True
'mensetting lokasi legend
.Legend.Position = Excel.XlLegendPosition.xlLegendPositionRight
'Pilih tipe chart
.ChartType = Excel.XlChartType.xlColumnClustered
'chart title
.HasTitle = True
.ChartTitle.Text = "Bar Chart"
Dim xlAxisCategory, xlAxisValue As Excel.Axes
xlAxisCategory = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary),
Excel.Axes)
xlAxisCategory.Item(Excel.XlAxisType.xlCategory).HasTitle = True
xlAxisCategory.Item(Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text = "Month"
xlAxisValue = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary),
Excel.Axes)
xlAxisValue.Item(Excel.XlAxisType.xlValue).HasTitle = True
xlAxisValue.Item(Excel.XlAxisType.xlValue).AxisTitle.Characters.Text =
"Category"
End With
End Sub
Double click form1 dan ketikkan sintaks dibawah.
Dan double click button export dan ketik sintaks dibawah ini
Try
'Nama File dan path. file akan disimpan di mana file
exe brada
Filename = Application.StartupPath & "\abc.xls"
'cek apakah file exist jika iya kemudian delete
untuk membuat file baru.
If File.Exists(Filename) Then
File.Delete(Filename)
End If
If Not File.Exists(Filename) Then
chkexcel = False
'Membuat excel aplikasi yang baru
oexcel = CreateObject("Excel.Application")
'tambahkan worbook yang baru
obook = oexcel.Workbooks.Add
'mensetting application alert
oexcel.Application.DisplayAlerts = True
'mengecek total sheet pada workbook
Dim S As Integer =
oexcel.Application.Sheets.Count()
'delete seluruh sheet kecuali sheet pertama
If S > 1 Then
oexcel.Application.DisplayAlerts = False
Dim J As Integer = S
Do While J > 1
oexcel.Application.Sheets(J).delete()
J = oexcel.Application.Sheets.Count()
Loop
End If
'untuk mengecek session dari excel application
chkexcel = True
oexcel.Visible = True
'ini procedure untuk mengisi data pada excel
file
Generate_Sheet()
'simapn excel file
obook.SaveAs(Filename)
'menutup excel object dan session
osheet = Nothing
oexcel.Application.DisplayAlerts = False
Try
View_Data()
Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
End Try
sesudah selesai dengan coding diatas, jalankan program. Maka tampilan program
seperti pada gambar diatas. Untuk mengexport ke excel file klik button export.
Maka file excel akan tersimpan di mana tempat exe file berada, dengan nama
abc.xls.
oexcel.Application.DisplayAlerts = False
obook.Close()
oexcel.Application.DisplayAlerts = True
obook = Nothing
oexcel.Quit()
oexcel = Nothing
chkexcel = False
MsgBox("Export Finished")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
MyConnection.close()
Dbclose()
End Try
sesudah mengetahui apa itu Microsoft.NET Framework, Microsoft
Visual Basic.NET, ADO.NET, Database dan Microsoft Access,
dan fungsi-fungsi serta dasar penggunaannya, ternyata menjadi
programmer VB.NET itu mudah! Sebab, dari dasar pengetahuan
tesebut, kita sudah bisa membuat suatu program yang kita
inginkan. Misalnya, membuat aplikasi toko, seperti form penjualan
dan pembelian. Visual Basic.NET (VB.NET) merupakan program
generasi selanjutnya dari Visual Basic. VB.NET memungkinkan
kita untuk membangun aplikasi database client atau server dengan performa tinggi.
Umumnya, para programmer banyak memakai VB.NET untuk membuat aplikasi
atau program yang mereka butuhkan. Pasalnya, program ini memiliki kelebihan dan
kemudahan tertentu dibandingkan dengan program-program lainnya yang sejenis.
Selanjutnya, langkah apa saja yang mesti diketahui dan dilakukan agar kita bisa menjadi
programmer VB.NET? Mediakita menerbitkan buku Panduan Lengkap Menjadi
Programmer yang ditulis oleh Junindar. Buku ini berisi tutorial pembuatan program,
pembuatan laporan, sampai dengan melakukan deployment program. Melalui buku ini,
Anda bisa menjadi seorang programmer VB.NET yang handal. Sebab, buku ini
merupakan buku yang komplit untuk mengantar seseorang dari tidak tahu apa-apa
tentang VB.NET menjadi seorang programmer.
Memang, saat ini, banyak sekali buku-buku tentang pemrograman VB.NET, tetapi sangat
jarang yang menjelaskan secara detail tentang fungsi-fungsi dan pemrograman di dalam
VB.NET. Di buku ini, secara terperinci Anda akan dibimbing bagaimana membuat
database, membuat program (create program), tampilan login, menu, form, laporan,
sampai dengan membuat file setup (installer).
Selain itu, buku ini juga dilengkapi CD berisikan source code pembuatan program
sehingga lebih memudahkan Anda dalam berlatih.
