DASAR PEMROGRAMAN DATA BASE
BERBASIS WINDOW
banyak menghabiskan kertas hanya dengan menjelaskan teori dari .Net.
Framework. Sehingga kita sebagai pembaca lebih cepat bosan dengan membaca
buku seperti itu (Sebelumnya mohon maaf kepada para penulis buku .Net, tapi
itulah kenyataan yang saya alami). Oleh sebab itu saya ingin membagikan ilmu
yang saya miliki kepada para pembaca. Artikel ini saya buat berseri, belum tau lagi
sampai berapa seri, doain aja biar tetap bisa nulis. Insya Allah dengan berjalannya
waktu mudah-mudahan ilmu yang saya miliki juga bertambah, sehingga isi dari
artikel-artikel yang akan saya tulis semakin bagus dan bermanfaat.
Artikel ini berisi tentang contoh-contoh program dan fungsi yang ada pada source
code. Dan program yang saya berikan berstandar basis data. Jadi para pemula yang
belum sama sekali kenal VB.Net hendaknya membaca teorinya di buku-buku
tentang pemrograman Vb.Net. Jika program yang diberikan tidak jalan, silahkan
hubungi ke email saya.
II. Pada saat ini sudah sangat dipastikan bahwa pemrograman database memang lagi
marak-maraknya. sebab sesuai dengan kebutuhan, setiap informasi yang akan
diproses sebaiknya disimpan di sebuah basis data (Database). Pada artikel yang
saya buat ini, untuk tingkat awal kita memakai Access sebagai penampung
data. Dalam artikel yang saya buat ini, saya tidak membuat program untuk kasus
yang besar, tetapi program-program itu saya pecah, sehingga pembaca juga dapat
merasa puas akan artikel ini. Yang jelas isi dari materi yang ada pada artikel ini
semua hampir berkaitan dengan pemrograman Database.
Gambar Form Login
Untuk membuat program seperti diatas, mari ikuti langkah-langkah dibawah ini.
Sebelum kita masuk dalam pembuatan program, terlebih dahulu kita buat database
pada Access. Diasumsikan bahwa pembaca sudah mengetahui pembuatan database
dan table pada access 2003. Buatlah database dengan nama “Coba.mdb” & buat table
pada file Coba.mdb dengan nama “Users” dan “TbUsaha”. Seperti gambar dibawah
ini.
Gambar Desain Table Users
Gambar Desain Table TbUsaha
sesudah selesai dalam pembuatan database, sekarang kita masuk dalam pembuatan
program.
Buka Aplikasi Visual Studio.Net, dan pilih New Project. Ketikan nama project sesuai
dengan keinginan anda. Simpan di drive pada PC anda (Untuk drive bebas juga,
sekarang jamannya hak asasi manusia, tidak ada pemaksaan). sesudah itu copy file
Coba.mdb ke dalam Folder “Bin” dimana aplikasi anda disimpan. Contoh, anda
menyimpan aplikasi di “D:\NamaAplikasi”. Perluas folder NamaAplikasi, dan
letakkan file Coba.mdb ke dalam folder Bin yang ada di dalam folder NamaAplikasi.
Ngerti ga
3.1.1 Membuat StartUp Form.
Untuk pertama kali, .Net akan memberikan Default sebuah form, dengan nama
Form1. Sekarang tugas kita yaitu merubah tampilan Form1 ini menjadi seperti
tampilan Flash Form seperti diatas.
Ubah properties Form1 seperti dibawah ini.
BackColor White
FormBorderStyle FixedToolWindow
Text (Kosongkan)
Name StartUp
StartPosition CenterScreen
ControlBox False
ShowInTaskbar False
sesudah selesai melakukan perubahan Form1 seperti diatas. Sekarang kita tambah
aksesoris pada form StartUp. Tambahkan dua (2) buah label, 1 ProgressBar dan 1
buah PictureBox. Sehingga tampilan seperti pada gambar dibawah ini.
Desain Splash Form
Untuk gambar diatas silahkan ganti dengan gambar yang anda suka dan jika anda
tidak suka dengan tampilan ini, anda dapat merubah sesuai dengan keinginan anda.
sesudah selesai mendesain form, tambahkan sebuah timer dan beri nama
Splash_Timer.
3.1.2 Membuat Login Form.
Tambahkan sebuah Form ke dalam aplikasi. Caranya Klik Kanan Pada Project anda
Pilih Add>Add Windows Form. Ganti properties Form baru ini seperti dibawah
ini.
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
FormBorderStyle Fixed3D
Text Login
Name FrmLogin
StartPosition CenterScreen
ControlBox False
ShowInTaskbar False
Tambahkan 2 buah label, 2 buah TextBox dan 2 buah Button Ubah properties dari
masing-masing component seperti dibawah ini.
Label 1
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Text Username
Label 2
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Text Password
Textbox 1
BorderStyle Fixed3D
Name txtUser
Textbox 2
BorderStyle Fixed3D
Name txtPassword
PasswordChar *
Button1
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Flatstyle Flat
Text Login
Name btnlogin
Button2
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Flatstyle Flat
Text Cancel
Name btnbatal
sesudah selesai merubah properties seperti di atas, susun dan disain form seperti
dibawah ini.
Gambar Desain Form Login
3.1.3 Membuat Menu Utama
Sekarang kita akan membuat Form Utama, tapi untuk sementara jangan di modifikasi.
Untuk saat ini kita ganti Form Name menjadi MainMenu
3.2 Source Code
3.2.1 Source Code Form Splash
sesudah kita selesai mendesain 2 buah form, sekarang waktunya kita bermain dengan
source code. Pada Form splash, klik 2 kali (Double Click) component Splash_Timer .
Dan ketikkan listing seperti dibawah ini.
Note : anda dapat mencoba mengubah nilai value pada progressbar. Dengan menaikkan
atau mengurangi nilai value maka anda melihat perubahan progessbar berjalan, apakah
semakin cepat atau lambat. Itu semua tergantung pada anda.
Coba jalankan program, gmana? apakah sudah sesuai dengan yang anda inginkan
3.2.2 Source Code Form Login
Sebelum kita mulai membuat listing pada form login, terlebih dahulu kita membuat
koneksi pada database. Sekarang kita akan membuat koneksi dengan memanggil
Class lain untuk koneksi ke database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New
Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder ini tambahkan
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Private Sub Splash_Timer_Tick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Splash_Timer.Tick
Dim cur As New frmLogin
ProgressBar1.Value += 4
If ProgressBar1.Value = 100 Then
Splash_Timer.Dispose()
Me.Visible = False
cur.Show()
End If
End Sub
Note :Dengan membuat koneksi memakai Class, untuk setiap proses yang
berhubungan dengan database anda cukup dengan memanggil nama Class ini ,
dengan mendeklarasikan Class ini .
Contoh : Dim MyConnection As New AccessData.DatabaseConnection
sesudah selesai membuat Class, selanjutnya kita akan membuat module untuk menyimpan
Variable global yang sering kita gunakan dalam pembuatan program. Buat satu module
caranya sama dengan membuat Class, dan beri nama “module.vb”. (Klik kanan Folder
“AccessData”>Add>Add Module). Ketikan listing di bawah ini pada module yang baru
anda buat.
Imports System.Data
Imports System.Data.OleDb
Namespace AccessData
Public Class DatabaseConnection
Dim conect As New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=Coba_Data.mdb;Jet OLEDB:Database Password=90210; ")
Public Function open() As OleDbConnection
conect.Open()
Return conect
End Function
Public Function close() As OleDbConnection
conect.Close()
Return conect
End Function
End Class
End Namespace
Imports System.Data.OleDb
Module _Module
Public cur As New Form
Public Msg As Integer
Public intResponse As Integer
Public objCommand As OleDbCommand
Public objDataAdapter As OleDbDataAdapter
Public objDataReader As OleDbDataReader
Public StrSQL as String
Public Username, Password, mProcess As String
Public objDataSet As New DataSet
Public objDataTable As New DataTable
End Module
sesudah selesai sekarang kita kembali pada Form Login. Untuk pertama kali ketikkan
listing dibawah ini pada baris paling atas.
Note : Fungsi dari listing diatas yaitu mengambil (imports) fungsi yang ada pada
.Net. jika anda memakai SQL Server sebagai database anda tinggal menganti
“OleDb” menjadi “SqlClient”. Fungsi diatas wajib kita ketik untuk form yang
memakai OleDb. Dan buat variable global untuk form Login ini, seperti dibawah
ini.
Ketikkan listing ini dibawah
Selanjutnya kita buat listing untuk mencari apakah Username ada pada table Users
Fungsi dari listing yaitu , mencari Username apakah ada pada table Users. Syntax
SQL ("SELECT * FROM [Users] WHERE [UserName] = '" &
Trim(txtuser.Text) & "' "), Maksudnya yaitu menampilkan data user dengan
criteria Username. Dan jumlah banyaknya data akan disimpan pada ObjDataTable.
Kemudian ketikkan listing untuk menampilkan data users (Username,Password).
Imports System.Data
Imports System.Data.OleDb
Sub CheckUsers()
objDataTable.Clear()
StrSQL = ("SELECT * FROM [Users] WHERE [UserName] = '" &
Trim(txtuser.Text) & "' ")
objCommand = New OleDbCommand
objCommand.Connection = Connect
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_user")
objDataTable = objDataSet.Tables("MDT_user")
Connect.Close()
End Sub
Dim f_utama As New MainMenu
Dim MyConnection As New AccessData.DatabaseConnection
Inherits System.Windows.Forms.Form
Untuk sekilas sepertinya listing antara Sub CheckUser sama dengan Sub
Find_User. Tapi pada kenyataannya fungsi dari kedua listing ini berbeda. Untuk Sub
Find_User disini kita menampilkan value dari username & Password. Mungkin
anda pasti merasa bingung, dari mana ObjCommand, ObjDatareader, username,
password. Mungkin kalau anda teliti, variable ini telah kita letakkan pada
Module.vb. Kita tidak perlu membuat variable pada setiap form, sebab variable
global yang kita buat pada Modul dapat diakses oleh setiap Form. Bayangkan jika
kita mempunyai 100 Form, maka pada setiap Form kita harus mendeklarasikan
variable yang sering kita gunakan seperti diatas.
Jika anda sudah mengerti dengan yang saya maksud, mari lanjutkan pelajaran kita.
Sekarang Double Click Button Login. Ketikan Listing seperti dibawah ini.
Sub Find_User()
objCommand = MyConnection.open.CreateCommand
objCommand.CommandText = ("Select [UserName],[Password] from
[Users] where [UserName]='" & Trim(txtuser.Text) + "' ")
objDataReader = objCommand.ExecuteReader
objDataReader.Read
Username = objDataReader.Item("Username")
Password = objDataReader.Item("Password")
MyConnection.close()
End Sub
.
sesudah ini Double Click button Cancel, dan ketikkan listing seperti berikut
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnLogin.Click
‘untuk mengaktifkan fungsi CheckUsers
CheckUsers
‘mengharuskan user memasukkan username dan password
If txtuser.Text.Trim() = "" And _
txtpassword.Text.Trim() = "" Then
Msg = MsgBox("Masukan Username dan Password", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
ElseIf txtuser.Text = "" Then
Msg = MsgBox("Masukan Username ", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
ElseIf txtpassword.Text = "" Then
Msg = MsgBox("Masukan password ", MsgBoxStyle.OKOnly, "Pesan")
txtpassword.Focus()
Else
Try
‘Menghitung jumlah baris yang ada pada ObjDataTable
If objDataTable.Rows.Count <= 0 Then
‘Jika jumlah baris = 0 / username tidak ada pada table
Msg = MsgBox("Username tidak ada ", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
Else
‘Jika username ada pada table / jumlah baris ObjdataTable > 0
‘Mengaktifkan fungsi mencari nilai value Username & Password
Find_User()
‘Jika Password yang diketik pada TextBox tidak sama pada Database
If Password <> Trim(txtPassword.Text) Then
Msg = MsgBox("Password salah!", MsgBoxStyle.OKOnly, "Pesan")
txtPassword.Focus()
Exit Sub
Else
‘Jika Sama
Me.Hide()
f_utama.ShowDialog()
txtuser.Text = ""
txtPassword.Text = ""
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses" _
& vbCrLf & Err.Description)
End Try
End If
End Sub
Sekarang anda telah selesai membuat aplikasi yang sangat sederhana. Kalau berhasil
jangan senang dulu, sebab masih banyak sekali rintangan yang akan kita hadapi untuk
kasus-kasus berikutnya. Bagi yang gagal jangan berkecil hati, jangan ragu dan sungkan
silahkan E-Mail ke saya.
Jika program yang anda buat tidak ada masalah, kita lanjutkan pelajaran kita.
Sekarang mari kita modif form utama kita yang masih polos, menjadi seperti berikut :
Ubah Properties pada form utama seperti di bawah ini.
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnBatal.Click
intResponse = MessageBox.Show("Are you sure want to quit ?", Me.Text, MessageBoxButtons.YesNo,
MessageBoxIcon.Exclamation)
If intResponse = MsgBoxResult.Yes Then
End
Else
Exit Sub
End If
End Sub
BackColor White
FormBorderStyle Fixed3D
BackGroundImage Bebas mau gambar apa
Text MainMenu
Name MainMenu
StartPosition CenterScreen
Icon Bebas juga
Anda dapat memodif form sesuai dengan keinginan anda. Dan kita tambah komponen
MainMenu1 dan StatusBar1 pada Form MainMenu. Buat seperti dibawah ini.
File>>Exit
Inputan>>Input Usaha
Ketik listing seperti dibawah ini.
Double_Click Form Utama
Public Sub BuatPanelStatusBar()
'Membuat panel dan mengatur properti teks.
StatusBar1.Panels.Add("Ready..")
StatusBar1.Panels.Add("")
StatusBar1.Panels.Add("")
'Mengatur properti panel StatusBar.
'Mengatur properti panel AutoSize.
StatusBar1.Panels(0).AutoSize = _
StatusBarPanelAutoSize.Spring
StatusBar1.Panels(1).Width = 200
StatusBar1.Panels(2).Width = 200
' Mengatur properti panel BorderStyle.
StatusBar1.Panels(0).BorderStyle = _
StatusBarPanelBorderStyle.Raised
StatusBar1.Panels(1).BorderStyle = _
StatusBarPanelBorderStyle.Sunken
StatusBar1.Panels(2).BorderStyle = _
StatusBarPanelBorderStyle.Sunken
' Mengatur perataan panel
StatusBar1.Panels(0).Alignment = _
HorizontalAlignment.Left
StatusBar1.Panels(1).Alignment = _
HorizontalAlignment.Center
StatusBar1.Panels(2).Alignment = _
HorizontalAlignment.Center
'Menambahkan properti teks pada panel ketiga dengan
'tanggal(sekarang)
StatusBar1.Panels(1).Text = "Selamat Datang" & " " & Username
StatusBar1.Panels(2).Text = _
System.DateTime.Today.ToLongDateString()
'Mengatur properti icon pada panel ketiga
StatusBar1.ShowPanels = True
End Sub
BuatPanelStatusBar()
sesudah itu Double Click menu item Exit dan ketik listing seperti dibawah ini :
Lalu Double Click menu item Inputan dan ketikan listing seperti dibawah ini :
sesudah selesai kita mendesain Form Utama (MainMenu), sekarang kita akan membuat
Form Untuk Penginputan Usaha.
Sekarang tambahkan sebuah form baru pada project yang kita buat. Ubah properties form
seperti dibawah ini.
BackColor LightBlue
FormBorderStyle Fixed3D
Text Form Usaha
Name Frm_usaha
StartPosition CenterScreen
ControlBox False
ShowInTaksbar False
Dan tambahkan 11 Button, 1 GroupBox dan 2 TextBox. Susun semua komponen seperti
dibawah ini.
End
Dim f_usaha As New Frm_Usaha
f_usaha.ShowDialog()
f_usaha.Dispose()
1
2 3
4
11
19 8 7 6
5
13
12
14
15
16
Dan ubah properties masing-masing komponen seperti dibawah ini :
1.
BackColor Transparent
FlatStyle Flat
ForeColor Black
Text <<
TextAlign MiddleCenter
Name btnAwal
ShowInTaksbar False
Untuk menghemat waktu dan tempat, properties setiap button hamper sama yang beda
Cuma di nama dan text.
2.
Text <
Name btnMundur
3.
Text >
Name btnMaju
4.
Text >>
Name btnAkhir
5.
Text F1 Add
Name btnAdd
6.
Text F2 Delete
Name btnDelete
7.
Text F3 Edit
Name btnEdit
8.
Text F4 Find
Name btnCari
9.
Text Save (Ctrl+S)
Name btnSave
10.
Text F5 Cancel
Name BtnCancel
11.
Text F6 Close
Name btnClose
12.
BorderStyle Fixed3D
Name txtID
Text “” (Kosong)
13.
BorderStyle Fixed3D
Name txtNama
Text “”(Kosong)
Untuk Nomor 14-16 ganti Text pada properties sesuai pada gambar.
Jika sudah selesai mendesain form ini , kita akan lanjutkan membuat class untuk
pemrosesan data. Buat satu class didalam folder AccessData dengan nama AccessUsaha.
Dan ketikkan listing seperti dibawah ini.
Jika sudah selesai, mari kita lanjutkan membuat program di dalam Form Usaha.
Dan buat variable global form seperti dibawah ini.
Dim MyConnection As New AccessData.DatabaseConnection
Dim mPosition As Integer
Imports System.Data
Imports System.Data.OleDb
Namespace AccessData
Public Class AccessUsaha
Public Function AccessUsahaInsert(ByVal IDUsaha As String, ByVal NamaUsaha As String)
Dim myCmd As New OleDbCommand
Dim myconnection As New AccessData.DatabaseConnection
myCmd.CommandText = "Insert Into [TbUsaha]" _
& " (IDUsaha,NamaUsaha) Values (" _
& "'" & IDUsaha & "', '" & NamaUsaha & "');"
myCmd.Connection = myconnection.open
myCmd.ExecuteNonQuery()
myconnection.close()
End Function
Public Function AccessUsahaUpdate(ByVal IDUsaha As String, ByVal NamaUsaha As String)
Dim myCmd As New OleDbCommand
Dim myconnection As New AccessData.DatabaseConnection
myCmd.CommandText = "Update [TbUsaha] Set " _
& " NamaUsaha='" & NamaUsaha & "'" _
& " Where IDUsaha='" & IDUsaha & "' ; "
myCmd.Connection = myconnection.open
myCmd.ExecuteNonQuery()
myconnection.close()
End Function
Public Function AccessUsahaDelete(ByVal IDUsaha As String)
Dim myCmd As New OleDbCommand
Dim myconnection As New AccessData.DatabaseConnection
myCmd.CommandText = "Delete From [TbUsaha] where IDUsaha='" & IDUsaha & "' "
myCmd.Connection = myconnection.open
myCmd.ExecuteNonQuery()
myconnection.close()
End Function
End Class
End Namespace
Lalu ketikan fungsi-fungsi berikut :
Private Sub clear()
'Mengkosongkan isi TextBox
txtID.Text = ""
txtNama.Text = ""
End Sub
Private Sub enabled_off()
'Menonaktifkan Textbox
txtID.Enabled = False
txtNama.Enabled = False
End Sub
Private Sub enabled_on()
'Mengaktifkan TextBox
txtID.Enabled = True
txtNama.Enabled = True
End Sub
Private Sub ViewData()
Try
'Menampilkan Data IDUsaha dan Nama Usaha dengan Criteria “IDUsaha” pada masing-masing
Textbox
objCommand = MyConnection.open.CreateCommand
objCommand.CommandText = "select * from TbUsaha Where IDUsaha = '" & Trim(txtID.Text) & "';"
objDataReader = objCommand.ExecuteReader
objDataReader.Read()
txtID.Text = objDataReader.Item("IDUsaha")
txtNama.Text = objDataReader.Item("NamaUsaha")
MyConnection.close()
Catch ex As Exception
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
Private Sub Displaydata()
Try
'Menyimpan jumlah baris Tabel “TbUsaha” pada Objdatatable
objDataTable.Clear()
StrSQL = "select * from TbUsaha"
objCommand = New OleDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch ex As Exception
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
Double Click “btnclose” dan ketik seperti dibawah ini :
Double Click “btncancel” dan ketik seperti dibawah ini :
Sub displaydata2()
Try
'Menampilkan Data “IDUsaha” dan “NamaUsaha” berdasarkan posisi Baris yang dicari
StrSQL = "select * from TbUsaha"
objCommand = New OleDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
mPosition = BindingContext(objDataTable).Position
With objDataTable.Rows(mPosition)
txtID.Text = .Item("IDUsaha")
txtNama.Text = .Item("NamaUsaha")
End With
Catch When Err.Number <> 0
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
Sub cari()
Try
'untuk mengecek apakah IDUsaha yang diinputkan ada pada Tabel “TbUsaha”
objDataTable.Clear()
StrSQL = "select * from [TbUsaha] where IDUsaha = '" & Trim(txtID.Text) + "'"
MyConnection.open()
objCommand.CommandText = StrSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses simpan" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
objDataTable.Clear()
Me.Close()
enabled_off()
clear()
mProcess = ""
btnsave.Enabled = False
btnsave.Text = "Save"
Double Click “btnadd” dan ketik seperti dibawah ini :
Double Click “btnEdit” dan ketik seperti dibawah ini :
Pilih ClassName = txtNama, Seperti dibawah ini
mProcess = "ADD"
btnsave.Text = "Save Add"
enabled_on()
btnsave.Enabled = True
txtID.Focus()
clear()
If mProcess <> "View" Or txtNama.Text = "" Then
MsgBox("Lakukan pencarian terlebih dahulu, sebelum proses edit")
Else
enabled_on()
txtNama.Focus()
mProcess = "EDIT"
btnsave.Text = "Save Edit"
btnsave.Enabled = True
End If
Dan Pilih Method Name = Leave. Untuk selanjutnya penulis hanya menyebutkan
ClassName dan MethodName saja, untuk visual tidak akan diberikan.
Lalu ketik seperti dibawah ini.
Double Click Form Usaha, dan ketik seperti berikut :
Double Click btncari, dan ketik seperti berikut :
btnsave.Focus()
Try
StrSQL = "Select * From TbUsaha"
objCommand = New OleDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch When Err.Number <> 0
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
End Try
clear()
enabled_off()
mProcess = "View"
txtID.Enabled = True
txtID.Focus()
Double Click btnSave, dan ketik seperti berikut :
If btnsave.Text = "Save Add" Then
Try
cari()
If objDataTable.Rows.Count >= 1 Then
MsgBox(" Kode " & "" & txtID.Text & "" & " sudah ada")
txtID.Focus()
ElseIf txtID.Text = "" Or txtNama.Text = "" Then
MsgBox("Isikan data yang mau di Input terlebih dahulu")
txtID.Focus()
Else
Dim mYes_No As String = MsgBox("Anda yakin data mau disimpan ?", vbYesNo)
If mYes_No = vbYes Then
myconnectionUsaha.AccessUsahaInsert(txtID.Text, txtNama.Text)
enabled_off()
btnsave.Enabled = False
btnsave.Text = "Save"
btnadd.Focus()
Displaydata()
clear()
Else
enabled_off()
clear()
btnadd.Focus()
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses simpan" _
& vbCrLf & Err.Description)
End Try
Else
Try
cari()
If objDataTable.Rows.Count = 0 Then
MsgBox(" Kode : " & "" & txtID.Text & "" & " tidak ada pada table")
Else
Dim mYes_No As String = MsgBox("Anda yakin data mau diupdate ?", vbYesNo)
If mYes_No = vbYes Then
myconnectionUsaha.AccessUsahaUpdate(txtID.Text, txtNama.Text)
enabled_off()
btnsave.Text = "Save"
btnsave.Enabled = False
btnadd.Focus()
clear()
Else
enabled_off()
clear()
btnadd.Focus()
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses update" _
& vbCrLf & Err.Description)
End Try
End If
objDataTable.Clear()
Pilih ClassName = txtNama
Dan Pilih Method Name = KeyUp
Pilih ClassName = txtNama, Seperti dibawah ini
Dan Pilih Method Name = KeyUp
Double_Click btnakhir
Double_Click btnmaju
Double_Click btnmundur
Double_Click btnawal
If e.KeyCode = Keys.Enter Then
btnsave.PerformClick()
ElseIf e.KeyCode = Keys.Escape Then
btncancel.PerformClick()
End If
If mProcess = "View" Then
Try
cari()
If objDataTable.Rows.Count = 0 Then
MsgBox("Data yang dicari tidak ada")
Else
ViewData()
btndelete.Focus()
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses pencarian" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End If
BindingContext(objDataTable).Position = objDataTable.Rows.Count - 1
displaydata2()
BindingContext(objDataTable).Position += 1
displaydata2()
BindingContext(objDataTable).Position -= 1
displaydata2()
BindingContext(objDataTable).Position -= 1
displaydata2()
Sekarang coba anda jalankan program, apakah program sudah berjalan dengan
semestinya, jika belum bisa seperti biasa……
Tentu anda akan merasa heran, kenapa pada button Add, Edit dll ada semacam shortcut.
Tetapi jika digunakan shortcut-shortcut ini tidak bekerja. Mungkin merupaka suatu
kelemahan pada VB.Net tidak menyediakan shortcut untuk component button, tidak
seperti Delphi yang menyediakan shortcut untuk button . Tapi jika anda seorang
programmer yang memanfaatkan kelebihan dari bahasa pemrograman, masalah itu semua
akan bisa diatasi. Ok, sekarang penulis akan memberikan solusi gimana cara membuat
shortcut untuk menjalankan perintah pada suatu button.
Tambahkan komponen MainMenu pada Form Usaha. Lalu buat seperti berikut :
Pada masing-masing Properties MenuItem, buat Visible=False. Dan shortcut sesuai
dengan button. Contoh : Untuk Button dengan Text : F1 Add, pada menu item add
properties>Shortcut = F1. Dan selanjutnya..Buat sendiri ya…… ???????. Lalu coba
Double_Click menu item add, dan ketik listing seperti dibawah.
Untuk semua menu item buat listing seperti diatas, hanya ubah button apa yang akan
diperoses. Coba jalankan program dan gunakan shortcut. Apa sudah jalan ??????
Kalau berhasil, berarti anda sudah bisa proses dasar dari database (Select, Insert, Delete
& Update). Dengan begitu anda dapat mengembangkan program ini sesuai dengan
keinginan anda.
btnadd.PerformClick()
Penutup
Sebagai penutup dari artikel ini saya akan memberitahukan, kelebihan-kelebihan dengan
memakai metode ini.
1. Pemrograman ini memakai metode 3 Layer, ”User Interface, Business Logic
dan Connect to DB” (Maintenance lebih gampang, akses data lebih cepat)
2. Banyak memakai variable global sehingga, jika kita membuat program yang
besar, ini akan membantu dalam menghemat waktu. Kita tidak perlu mengetikkan
variable pada setiap form.
3. Program yang dibuat memakai shortcut sehingga lebih cepat dalam
memakai program.
4. Dibalik itu semua saya yakin masih banyak kekurangan.
Untuk artikel selanjutnya, kita akan membuat report dengan memakai Crystal
Report. Convert Report menjadi PDF dan RTF, untuk ASP.NET.
akhir dari data yang telah di olah (informasi). Oleh sebab itu semakin baik suatu
program, maka program ini akan menyediakan banyak laporan yang
dibutuhkan oleh pengguna.
Salah satu tool yang mendukung untuk membuat laporan memakai VB.Net ada
Crystal Report. Crystal Report yaitu tool untuk membuat laporan yang handal,
sebab di dalamnya banyak sekali fitur-fitur untuk memudahkan kita dalam
membuat laporan. Dan Crystal Report akan otomatis terinstal saat kita menginstall
VS.NET.
II. MEMBUAT DATABASE (TABLE DAN QUERY)
Buat database baru dan letakkan di C:\Inetpub\wwwroot\namaproject\bin
Dan beri nama “tes.mdb“. Buat dua buah table, table pertama bernama ”Customers”
dengan desain table sebagai berikut :
Dan table kedua bernama “CustomerNames”, dengan desain sebagai berikut :
sesudah selesai membuat kedua table diatas, sekarang buat sebuah Query. Dengan desain
sebagai berikut :
Dan simpan dengan nama “Q_Customers”. Sekarang isikan data sesuai dengan
keinginan anda pada kedua table diatas. Sekarang anda telah memiliki sebuah database
yang datanya akan dibutuhkan untuk laporan yang akan kita buat.
III. Sebelum kita memulai untuk mendesain Report, kita akan mendesain form untuk
memanggil report yang akan kita gunakan. Untuk pertama silahkan desain form
menurut keinginan anda.
Tambahkan dua buah datagrid , jika anda ingin mengubah tampilan dari data grid. Klik
Auto Format dibawah jendela Properties. Dan akan muncul tampilan sebagai berikut :
Anda dapat memilih desain data grid sesuai dengan kesukaan anda. sesudah itu ganti
nama datagrid pada properties name seperti berikut DG1 untuk Datagrid1 dan DG2 untuk
Datagrid2. Lalu klik Dg1 dan klik Property Builder dibawah jendela Properties dan
kllik Tab Paging.
Dan checklist allow paging dan OK. Lakukan hal yang sama pada Dg2.
Tambahkan sebuah Button, Dropdownlist, RadioButtonList dan CrystalReportViewer.
Dan susun seperti gambar dibawah ini :
Ubah properties masing-masing komponen sebagai berikut :
Button:
Text Report File Text
Name btnReport
DropDownList
ID ddlReport
Klik Collection pada properties Item, dan buat dua buah members.
1. Selected = True
Text =PDF
Value =.pdf
2. Selected = False
Text = RTF
Value = .rtf
RadioButtonList
ID RBL_Alpha
AutoPostBack True
RepeatLayout Table
Klik Collection pada properties Item, dan buat members dari A-Z ditambah satu ALL
Selected = False
Text =A
Value =A
.
.
.
.
Selected = False
Text = Z
Value =Z
Dan ditambah ALL
Selected = True
Text = ALL
Value = *
Seperti gambar dibawah ini.
IV. DESAIN REPORT
Buat sebuah folder di project anda dan beri nama “Report” . Lalu buat sebuat report di
dalam Folder Report
Click kanan folder report >Add>Pilih Add New Item
Lalu akan muncul dialog box seperti berikut :
Pilih Crystal Report, Dan ganti nama file menjadi ”CrCustomers.rpt“. Dan akan muncul
dialog box seperti berikut . Lalu pilih “As a Blank Report”, dan click OK.
Click kanan pada Report Header (Section 1), dan click “Fit Section”
Click kanan pada Page Header (Section 3), dan click “Format Section”. Lalu akan
muncul tampilan seperti berikut :
Click Page Header dan click button Insert . Maka Page Header akan bertambah menjadi
Page Header a dan Page Header b. Dan klik button OK.
sesudah muncul Page Header a dan b pada tampilan Crystal Report, klik kanan Page
Header b dan pilih dan klik Suppress (No Drill-Down).
Membuat hubungan ke DataBase.
Click kanan pada Database Fileds>Add/Remove Database
Lalu akan muncul tampilan seperti berikut :
Click tanda + pada OLE DB (ADO)
Akan muncul tampilan seperti di atas, lalu pilih “Microsoft Jet 4.0 OLE DB Provider”,
dan click Next.
Click tanda …pada Database Name dan cari alamat Database anda. Dan click next.
Dan click Finish. Dan akan muncul tampilan seperti berikut :
Click tanda + (Views), maka akan terbuka root yang didalamnya terdapat
“Q_Customers”. Dan click button “>”. Maka “Q_Customers” pindah ke “Selected
Tables” List. Seperti gambar dibawah ini :
Dan click OK.
Tampilan Database Fields akan berubah seperti gambar diatas (Terdapat Q_Customers
beserta field-fieldnya).
Desain Page Header a (Section2) seperti gambar di bawah ini.
Lalu masukkan field-field pada Database field ke Detail (Section 3). Seperti gambar di
bawah ini .
Klik kanan pada Report Footer (Section4), klik Fit Section.
Dan terakhir desain Report (Section5) seperti gambar di bawah ini.
Untuk membuat field PrintDate dan PageNumber klik kanan pada area Page Footer
(Section5).
V. A TIME TO MAKE SOURCE CODE
Sebelum kita mulai membuat listing pada form, terlebih dahulu kita membuat
koneksi pada database. Sekarang kita akan membuat koneksi dengan memanggil
Class lain untuk koneksi ke database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New
Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder ini tambahkan
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Imports System.Data
Imports System.Data.OleDb
Namespace AccessData
Public Class DatabaseConnection
Dim conect As New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=\Inetpub\wwwroot\Ilkom\bin\tes.mdb; ")
Public Function open() As OleDbConnection
conect.Open()
Return conect
End Function
Public Function close() As OleDbConnection
conect.Close()
Return conect
End Function
End Class
End Namespace
Pada WebForm1 untuk pertama kali ketikkan listing dibawah ini pada baris paling
atas.
Dan ketikkan listing-listing seperti di bawah ini.
Imports System.Data
Imports System.Data.OleDb
#Region "Declaration"
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataAdapter As OleDbDataAdapter
Dim objdatareader As OleDbDataReader
Dim strConn, strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Dim myconnection As New AccessData.DatabaseConnection
#End Region
Sub binddatagrid()
objDataTable.Clear()
strSQL = "SELECT Customers.CompanyName , CustomerNames.ContactName , " _
& " iif(CustomerNames.Phone='NA','',CustomerNames.Phone)AS Phone
,IIF(CustomerNames.Fax='NA','',CustomerNames.Fax) As Fax " _
& " FROM CustomerNames INNER JOIN Customers ON CustomerNames.CustomerID =
Customers.CustomerID " _
& " ORDER BY Customers.CompanyName;"
objCommand = New OleDbCommand
objCommand.Connection = myconnection.open()
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "mdt_customers")
objDataTable = objDataSet.Tables("mdt_customers")
myconnection.close()
DG1.DataSource = objDataTable
DG1.DataBind()
End Sub
Sub view()
objDataTable.Clear()
strSQL = "SELECT Customers.CompanyName , CustomerNames.ContactName , " _
& " iif(CustomerNames.Phone='NA','',CustomerNames.Phone) AS Phone
,IIF(CustomerNames.Fax='NA','',CustomerNames.Fax) As Fax " _
& " FROM CustomerNames INNER JOIN Customers ON CustomerNames.CustomerID =
Customers.CustomerID " _
& " WHERE Customers.CompanyName Like '" & RBL_Alpa.SelectedValue & "%'
ORDER BY Customers.CompanyName;"
objCommand = New OleDbCommand
objCommand.Connection = myconnection.open()
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New OleDbDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "mdt_View8D")
objDataTable = objDataSet.Tables("mdt_View8D")
myconnection.close()
DG2.DataSource = objDataTable
DG2.DataBind()
End Sub
Sub paginggrid(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
DG1.CurrentPageIndex = e.NewPageIndex
CrystalReportViewer1.Visible = False
End Sub
Sub paginggrid2(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
DG2.CurrentPageIndex = e.NewPageIndex
view()
CrystalReportViewer1.Visible = False
End Sub
Sub report_Alpa()
Dim rdContacts As New CrCustomers
Dim ext As String
Dim format As Integer
view()
Select Case ddlReport.SelectedValue
Case ".rtf"
ext = ddlReport.SelectedValue
Case ".pdf"
ext = ddlReport.SelectedValue
End Select
rdContacts.SetDataSource(objDataTable)
CrystalReportViewer1.ReportSource = rdContacts
rdContacts.Refresh()
Try
Dim t As Integer
Dim nomorrandom As String
Dim Filename As String
Dim diskOpts As New DiskFileDestinationOptions
Filename = "\reports2\" & RBL_Alpa.SelectedValue & "" & ext & ""
diskOpts.DiskFileName = Filename
With rdContacts
.ExportOptions.ExportDestinationType =
ExportDestinationType.DiskFile
If ext = ".rtf" Then
.ExportOptions.ExportFormatType = ExportFormatType.RichText
ElseIf ext = ".pdf" Then
.ExportOptions.ExportFormatType =
ExportFormatType.PortableDocFormat
End If
.ExportOptions.DestinationOptions = diskOpts
.PrintOptions.PaperOrientation = PaperOrientation.Portrait
.PrintOptions.PaperSize = PaperSize.PaperA4
.Export()
.Refresh()
End With
CrystalReportViewer1.Visible = False
Response.Redirect("http://pcbt1151/Reports2/" & RBL_Alpa.SelectedValue
& "" & ext & "")
Exit Try
Catch ex As Exception
CvError.ErrorMessage = ex.Message
CvError.IsValid = False
myconnection.close()
End Try
CrystalReportViewer1.Visible = False
End Sub
Sub report_ALL()
Dim rdContacts As New CrCustomers
Dim ext As String
Dim format As Integer
binddatagrid()
Select Case ddlReport.SelectedValue
Case ".rtf"
ext = ddlReport.SelectedValue
Case ".pdf"
ext = ddlReport.SelectedValue
End Select
rdContacts.SetDataSource(objDataTable)
rdContacts.SetDatabaseLogon("", "A2B")
CrystalReportViewer1.ReportSource = rdContacts
rdContacts.Refresh()
Try
Dim t As Integer
Dim nomorrandom As String
Dim Filename As String
Dim diskOpts As New DiskFileDestinationOptions
Filename = "\reports2\ALL" & "" & ext & ""
diskOpts.DiskFileName = Filename
With rdContacts
.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
If ext = ".rtf" Then
.ExportOptions.ExportFormatType = ExportFormatType.RichText
ElseIf ext = ".pdf" Then
.ExportOptions.ExportFormatType =
ExportFormatType.PortableDocFormat
End If
.ExportOptions.DestinationOptions = diskOpts
.PrintOptions.PaperOrientation = PaperOrientation.Portrait
.PrintOptions.PaperSize = PaperSize.PaperA4
.Export()
.Refresh()
End With
CrystalReportViewer1.Visible = True
Response.Redirect("http://pcbt1151/Reports2/ALL" & "" & ext & "")
Exit Try
Catch ex As Exception
CvError.ErrorMessage = ex.Message
CvError.IsValid = False
myconnection.close()
End Try
CrystalReportViewer1.Visible = False
End Sub
Ketikkan listing berikut pada Private Sub Page_Load.
Double Click Rbl_Alpha, dan ketikkan listing seperti di bawah ini :
Try
If Not IsPostBack Then
binddatagrid()
CrystalReportViewer1.Visible = False
DG1.Visible = True
DG2.Visible = False
End If
Catch ex As Exception
CvError.ErrorMessage = ex.Message
CvError.IsValid = False
CrystalReportViewer1.Visible = False
End Try
Try
If RBL_Alpa.SelectedValue = "*" Then
binddatagrid()
DG1.Visible = True
DG2.Visible = False
Else
view()
If objDataTable.Rows.Count = 0 Then
CvError.ErrorMessage = "There are no records for that letters"
CvError.IsValid = False
DG1.Visible = False
DG2.Visible = True
Else
DG1.Visible = False
DG2.Visible = True
End If
End If
Catch ex As Exception
CvError.ErrorMessage = ex.Message
CvError.IsValid = False
CrystalReportViewer1.Visible = False
End Try
CrystalReportViewer1.Visible = False
Double Click Btn_Report, dan ketikkan listing sebagai berikut :
sesudah selesai membuat listing seperti diatas, langkah selanjutnya yaitu membuat
folder untuk menyimpan report yang kita buat. Pertama buat folede pada Drive C:\, dan
beri nama Report2. Click kanan Folder ini Pilih Sharing and Security. sesudah
muncul tampilan sebagai berikut :
Try
If RBL_Alpa.SelectedValue = "*" Then
report_ALL()
Else
view()
If objDataTable.Rows.Count = 0 Then
CvError.ErrorMessage = "There are no records for that letters"
CvError.IsValid = False
Exit Try
Else
report_Alpa()
End If
End If
Catch ex As Exception
CvError.ErrorMessage = ex.Message
CvError.IsValid = False
CrystalReportViewer1.Visible = False
End Try
CrystalReportViewer1.Visible = False
Pilih Tabs WebSharing, dan pilih Share this folder, dan muncul tampilan seperti dibawah
ini.
Klik OK, dan Klik OK pada Properties Form.
VI. PENGGUNAAN PROGRAM
Jalan kan program dengan menekan F5, dan muncul tampilan program seperti berikut :
Untuk menampilkan Report, tekan Button Report File Text, dan kita dapat memilih
laporan kita berbentuk PDF atau RTF (dengan memilih Drop Down List yang di sebelah
Button).
Sedangkan Abjad dari A-Z untuk menampilkan nama Perusahaan berdasarkan Abjad
ini .
VII. PENUTUP
sesudah membuat dan menjalankan program ini, mungkin pembaca dapat mengerti
kegunaan dari Crystal Report. Contoh program ini masih sangat sederhana, tetapi
akan sangat mungkin sekali di kembangkan menjadi laporan yang handal. sebab
basic pemrograman Crystal Report sudah ada pada program ini.
Saya yakin masih banyak kekurangan di dalam program ini, dan saya harap artikel
ini dapat membantu para pembaca untuk menambah ilmu dalam pemrograman .Net
khusus nya VB.Net.
Semoga Artikel-artikel tentang VB.Net ini masih tetap saya tulis, seiring dengan
berkembangnya ilmu yang saya miliki. Aminnnnnnnnnnnnnnnn
Buat Project baru, dan beri nama project dan simpan aplikasi sesuai dengan
keinginan anda. Eg. Nama Project : Make DB
Lokasi : C:\ProgramKu\
3.2 Adox.dll
Pada artikel ini saya sertakan juga file Interop.ADOX.dll. Copy file ini ke
“\Namaprogram\Bin\” . eg,C: \Make DB\Bin\.
Masukkan file ini kedalam program anda, dengan cara seperti di bawah ini :
Click kanan pada Reference dan click Add Reference.
Lalu akan muncul tampilan seperti berikut.
Dan pilih Tab Project. Dan click browse, dan cari file interop yang anda simpan
di dalam folder Bin. Dan klik OK.
Maka pada references anda akan bertambah seperti gambar dibawah ini.
3.3 Design Form
Ubah properties Form Seperti Dibawah ini :
BackColor 224, 224, 224
FormBorderStyle Fixed3D
Text Create DB
StartPosition CenterScreen
MaximizeBox False
Tambahkan 5 buah button, 2 TextBox, 3 ListBox, 1 ComboBox pada form. Dan
desain seperti gambar dibawah ini, jika selera and berbeda bisa design sendiri
kok.. tidak ada pemaksaan dari penulis..
Button 1
BackColor 255, 255, 192
FlatStyle Flat
ForeColor Navy
Text Field Name
Enabled False
Button 2
BackColor 255, 255, 192
FlatStyle Flat
ForeColor Navy
Text Data Type
Enabled False
Button 3
BackColor 255, 255, 192
FlatStyle Flat
ForeColor Navy
Text Size
Enabled False
Button 4
Name btnInsert
FlatStyle Flat
Text Insert to Field List
Button 5
Name BtnCreate
FlatStyle Flat
Text Create Database
TextBox 1
Name txtField
Text “” (Kosongkan)
TextBox 2
Name txtSize
Text “” (Kosongkan)
ComboBox 1
Dropdownstyle DropDownList
Name cmbType
Text “” (Kosongkan)
Pada Properties item buat seperti pada gambar berikut ini :
ListBox 1
Name lstFieldName
ListBox 2
Name lstType
ListBox 3
Name lstSize
3.4 Source Code
Ketikkan listing berikut di baris pertama ..
Dan ketikkan listing di bawah ini pada even Form_Load
Fungsi dari listing ini yaitu untuk membuat form yang transparan.. Pembaca
dapat mengatur transparansi form. Dengan mengubah nilai 0.7 pada listing diatas..
Semakin kecil nilainya semakin transparan form yang kita buat. Saya rasa para
pembaca dapat mencoba nya sendiri, mana yang menurut anda yang lebih bagus.
Double click pada ComboBox (cmbType). Dan ketikan listing berikut :
Listing diatas berfungsi pada saat user memilih DataType, jika Type nya yaitu
Text maka textbox size akan aktif, jika selain dari pada itu maka textbox tidak
aktif. Mungkin para pembaca ada yang merasa kenapa demikian. Seperti yang
kita ketahui pada Ms Access hanya Type Text yang memiliki size. Selebihnya
tidak. Jika tidak kita buat demikian, mungkin saja bisa terjadi error.
Lalu pada txtSize_KeyPress ketikan listing seperti di bawah ini :
Listing ini merupakan suatu fungsi agar tidak terjadi Human Error dalam
mengcreate size, sebab tidak mungkin size berupa huruf jadi jika yang
dimasukkan/di inputkan selain 0-9 maka tidak akan bisa.
Imports ADOX
Me.Opacity = Math.Abs(0.7)
If Trim(cmbType.Text) = "Text" Then
txtSize.Enabled = True
Else
txtSize.Enabled = False
End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then
e.Handled() = True
End If
Double click btnInsert, dan ketikan listing berikut . BntInsert yaitu proses untuk
memasukkan data dari TextBox dan ComboBox kedalam ListBox.
If txtField.Text = "" Or cmbType.SelectedIndex = -1 Then
MsgBox("Masukkan Field Name atau Pilih Data Type",
MsgBoxStyle.Information, "Informasi")
Listing berfungsi untuk memvalidasi proses , jika txt field tidak di isi dan ComboBox
pada posisi default (tidak dalam keadaan di pilih). Maka program akan menampilkan
informasi agar mengisi textbox text dan memilih size pada ComboBox.
lstFieldName.Items.Add(txtField.Text)
lstType.Items.Add(cmbType.Text)
lstSize.Items.Add(txtSize.Text)
fungsi nya yaitu memasukkan data dari TextBox atau Combobox kedalam Listbox.
Dengan memakai fungsi Items.Add
txtField.Text = ""
cmbType.SelectedIndex = -1
txtSize.Text = ""
sesudah data sudah masuk kedalam ListBox, maka textbox dan ComboBox kembali pada
keadaan default.
Try
If txtField.Text = "" Or cmbType.SelectedIndex = -1 Then
MsgBox("Masukkan Field Name atau Pilih Data Type", MsgBoxStyle.Information, "Informasi")
Else
lstFieldName.Items.Add(txtField.Text)
lstType.Items.Add(cmbType.Text)
lstSize.Items.Add(txtSize.Text)
txtField.Text = ""
cmbType.SelectedIndex = -1
txtSize.Text = ""
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
BtnCreate yaitu proses dimana kita melakukan proses Create DataBase dan
Tabel.
Try
Dim i As Integer
Dim DataType As Integer
Dim ADOXcatalog As New ADOX.Catalog
Dim ADOXtable As New Table
ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
"c:\Coba.mdb")
ADOXtable.Name = "Employees"
For i = 0 To (lstFieldName.Items.Count - 1)
If lstType.Items.Item(i).ToString = "Text" Then
DataType = 202
ElseIf lstType.Items.Item(i).ToString = "Memo" Then
DataType = 203
ElseIf lstType.Items.Item(i).ToString = "Number" Then
DataType = 3
ElseIf lstType.Items.Item(i).ToString = "Date/Time" Then
DataType = 7
ElseIf lstType.Items.Item(i).ToString = "Currency" Then
DataType = 6
ElseIf lstType.Items.Item(i).ToString = "Yes/No" Then
DataType = 11
End If
If lstType.Items.Item(i).ToString = "Text" Then
ADOXtable.Columns.Append(lstFieldName.Items.Item(i).ToString, DataType,
lstSize.Items.Item(i).ToString)
Else
ADOXtable.Columns.Append(lstFieldName.Items.Item(i).ToString, DataType)
End If
Next i
ADOXcatalog.Tables.Append(ADOXtable)
ADOXtable = Nothing
ADOXcatalog = Nothing
Catch ex As Exception
MsgBox(ex.Message)
End Try
ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
"c:\Coba.mdb")
Ini yaitu fungsi untuk membuat database, dimana kita menentukan nama dan lokasi dari
DataBase. Seperti pada program ini lokasi Database pada Drive C:\, sedangkan nama
Database nya “Coba.mdb”
ADOXtable.Name = "Employees”
Untuk membuat nama Tabel.
Penutup
Sangat banyak kekurangan yang ada pada artikel ini, untuk itu saya butuh kritik dan saran
dari pembaca. Kekurangan di dalam program ini yaitu .
1. Belum mampu membuat Index, Primary Key dan Relation ship.. Mungkin itu semua
menjadi PR buat saya dan para penggemar Vb.Net.
2. Untuk lokasi dan nama Database masih bersifat statis (Kaku), artinya pembuatan
lokasi dan nama dari Database masih di lakukan pada listing. Tidak bersifat dinamis,
sehingga dilakukan oleh program sesudah running.
Tetapi tujuan dari artikel ini yaitu supaya kita dapat terus berlatih dalam membuat
program, dan menemui suatu masalah lalu dapat kita selesaikan masalah ini . Itu
akan menjadi wawasan baru buat kita. Dan pengalaman kita di dalam dunia
pemrograman. Aminnnnnn
program yang memberikan hak kepada user untuk dapat mengakses database secara
langsung dan atau database nya di password.
Dan ini sebenarnya merupakan tugas dari para programer yang membuat program.
Bagaimana membuat program yang memudahkan pekerjaan para user. Jadi di
dalam artikel ini bagaimana kita membuat simple program / fasilitas untuk
mengimport data dari excel ke access. Dan di dalam artikel ini kita akan membuat
bagaimana melakukan koneksi ke Excel file dan data nya kita tampilkan ke dalam
Datagrid.
sebab ini merupakan artikel ke emapat dari penulis, jadi penulis mengasumsikan
para pembaca sudah familiar dengan Vb.Net dan Access. Jadi cara membuat project
baru tidak akan dijelaskan secara detail. Jadi bila para pembaca ng
