Visual basic 1



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() 

 

2 3 

11 

19 8 7 6 

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

Lebih baru Lebih lama