• Tidak ada hasil yang ditemukan

Pemrograman VB 6 + MS Access (3)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman VB 6 + MS Access (3)"

Copied!
12
0
0

Teks penuh

(1)

Pemrograman VB 6 + MS Access (3)

Pemrograman VB 6 + MS Access (3)

Selanjutnya kita akan melihat hasil jadi dari aplikasi yang akan kita buat. Aplikasi yang akan dibuat, terdiri Selanjutnya kita akan melihat hasil jadi dari aplikasi yang akan kita buat. Aplikasi yang akan dibuat, terdiri dari beberapa form SDI (Single Document Interface).

dari beberapa form SDI (Single Document Interface).

• Spash screen Form, yang menunjukkan judul dari aplikasiSpash screen Form, yang menunjukkan judul dari aplikasi

kita. kita.

• Form utama, disini kita langsung dihadapkan dengan form isian data ebook yang kita miliki.Form utama, disini kita langsung dihadapkan dengan form isian data ebook yang kita miliki.

(2)

• Form Edit Data, form ini diakses dengan cara men-double klik item pada listview control

• Oke, saya rasa kita cukup menggunakan 4 form tersebut pada aplikasi ebook kita.

Untuk mempercantik tampilan form, kita memerlukan beberapa activeX control yang bisa kita dapatkan secara gratis pada http://www.sevillaonline.com/ActiveXyaitu ARButton.ocx . Tetapi untuk mempermudah, kita gunakan saja ActiveX control bawaan VB6 kita.

(3)

Pemrograman VB 6 + Ms Access (4)

Oke, untuk kali ini kita akan memulai proses selanjutnya. Pada tutorial ini ada beberapa asumsi yang harus diingat :

• Komponen Control yang digunakan adalah standar VB6, seperti : Command Button, Label, TextBox,

Listview, Image, Timer dan ProgressBar.

• Koneksi database menggunakan ActiveX Data Object/ADO (disini saya menggunakan ADO 2.7).

Kita akan melakukan koneksi melalui kode program, sehingga pada Project References-nya jangan lupa di tambahkan ADO 2.7 Library, caranya dengan mengklik Project →References →Microsoft

ActiveX Data Objects 2.7 Library →Kasih centang dan OK

• Pada Project →Component →tambahkan Control Microsoft Windows Common Control 6.0 ( SP6 ).

Ini diperlukan, karena kita akan menggunakan Listview dan ProgressBar.

• Letakkan database yang telah dibuat pada folder yang sama dengan tempat kita menyimpan file

project Visual Basic kita. Pembuatan Aplikasi

Kita mulai pembuatan aplikasi kita dengan mengkoneksikan database kita dengan ADO. Seperti yang sudah kita singgung sebelumnya, bahwa kita akan melakukan koneksi melalui kode program. Supaya mudah dan efisien, kita akan meletakkan kode program koneksi tersebut pada Modules. Klik pada Project →Add

Module, kemudian akan terbentuk satu module kosong. Pada Properties-nya beri nama ” Modul1 ” ( atau nama lain juga boleh). Kemudian ketikkan kode program seperti berikut :

view plaincopy to clipboardprint? 1. option explicit

2. Global strCon As New ADODB.Connection 3. Public Sub bukaDatabase()

4. Dim strString As String 5.

6. strString = "provider = Microsoft.Jet.OLEDB.4.0;" & _ 7. "Data Source=" & App.Path & "Ebook.mdb;" & _ 8. "Persist Security Info=False; "

9.

10. Set strCon = New ADODB.Connection 11. strCon.Open strString

12. strCon.CursorLocation = adUseClient 13.

14. End Sub 15.

16. Public Sub ClearAll(frmName As Form) 17. Dim i As Long

(4)

19. Set objObject = frmName.Controls(i) 20. If TypeOf objObject Is TextBox Then 21. objObject.Text = ""

22. ElseIf TypeOf objObject Is ComboBox Then 23. objObject.Text = ""

24. End If  25. Next i 26. End Sub 27.

28. Public Sub aturListView(myForm As Form, ParamArray lstView()) 29. Dim i, lebar 30. myForm.ListView1.View = lvwReport 31. lebar = myForm.ListView1.Width - 80 32. 33. With myForm.ListView1.ColumnHeaders 34. .Clear 35.

36. For i = 0 To UBound(lstView) - 1 Step 2

37. .Add , , lstView(i), (lstView(i + 1) * lebar) / 100 38. Next i

39. End With 40. Exit Sub 41. End Sub

Sekarang akan coba saya jelaskan maksud dari kode program diatas ;

• Global strCon As New ADODB.Connection ,

Kita gunakan keyword Global supaya strCon tidak perlu lagi di inisialisasi jika kita ingin melakukan koneksi. Maksud dari kode diatas adalah kita mendeklarasikan variabel koneksi ADO Library ( yaitu ADODB.Connection) yang direpresentasikan pada variable strCon ( anda bisa memakai nama lain )

• Kemudian pada ,

Set strCon = New ADODB.Connection strCon.Open strString

Kode diatas adalah cara untuk mengeset variabel koneksi yang telah kita deklarasikan. Selanjutnya variabel koneksi strCon akan membuka database yang telah dideklarasikan pada variabel strString. Jadi, pada

dasarnya strString ini bertindak sebagai connection string pada ADODC Control.

Setelah Koneksi dengan database terjadi, kita bisa memanipulasi data-data pada recordsetnya dengan menggunakan object Recordset pada ADO Library. Cara mengakses sumber data/ record source dapat

dengan penyataan SQL maupun tabel. Jadi pada dasarnya, melakukan koneksi dengan database melalui ADO cukup mudah.

(5)

• Untuk subRoutine ClearAll() tidak saya bahas disini. Routine ini berfungsi untuk membersihkan

object TextBox maupun ComboBox yang kita pakai pada form.

• Routine aturListView() kita gunakan untuk menginisialisasi header kolom, jumlah kolom dan juga

lebar masing-masing kolom.

Untuk mengakses record source pada database yang telah terkoneksi cukup mudah. Pada dasarnya cara yang digunakan mirip, hanya object Recordset pada ADO Library yang digunakan. Nanti akan saya tunjukkan cara pemakaiannya.

Perlu diperhatikan pada strString, strString ini menentukan Path dimana kita menyimpan file database kita. Untuk contoh diatas letakkan database pada folder yang sama dengan file project. Kita juga bisa menentukan Path file database kita dengan menuliskan Path-nya secara absolut, misal ” C:Program FilesGMEBook.mdb “ Berikut adalah tampilan gambarnya :

Gambar 1

Gambar 2

Pembuatan FormUtama

FormUtama merupakan form utama kita, silahkan anda meletakkan komponen kontrol sesuai dengan gambar pada artikel saya sebelumnya. Sesuaikan saja properti name -nya dengan Caption pada masing-masing

komponen kontrol. Misalnya untuk Command Button “Simpan” kita beri property name -nya dengan commandSimpan, begitu juga untuk lainnya. Untuk properties name-nya beri nama FormUtama Berikut ini adalah listing kodenya :

view plaincopy to clipboardprint? 1. Option explicit

(6)

2. ' Mendeklarasikan variable recordset ADO 3. Dim rsDataEbook As New ADODB.Recordset 4.

5. Private Sub CommandSimpan_Click() 6. ' Validasi 1 untuk mengecek no isbn 7. If TextIsbn = " " Then

8. MsgBox "Nomor ISBN belum diisi !!", vbOKOnly, "ISBN" 9. Exit Sub

10. End If  11.

12. ' Validasi 2 untuk verifikasi data

13. If MsgBox("Data sudah benar ?", vbQuestion + _

14. vbYesNo + vbDefaultButton2, "Simpan data") = vbNo Then Exit Sub 15. bukaDatabase 'Routine untuk koneksi dengan

16. 'database yang kita letakkan pada module 17.

18. On Error GoTo errorSimpan 19.

20. ' Membuat rsDataEbook baru untuk mengakses 21. ' record source pada tabel DataEbook 

22. Set rsDataEbook = New ADODB.Recordset 23. rsDataEbook.LockType = adLockOptimistic 24. rsDataEbook.Open "DataEbook", strCon 25.

26. ' Memasukkan data ke recordset DataEbook  27. rsDataEbook.AddNew 28. rsDataEbook!isbn = TextIsbn.Text 29. rsDataEbook!judul = TextJudul.Text 30. rsDataEbook!penerbit = TextPenerbit.Text 31. rsDataEbook!pengarang = TextPengarang.Text 32. rsDataEbook!tahunterbit = TextTahun.Text 33. rsDataEbook!kategori = ComboKategori.Text 34. rsDataEbook.Update 35.

36. ' Menutup koneksi database 37. Set rsDataEbook = Nothing 38. strCon.Close

39.

40. 'Perangkap kesalahan 41. Exit Sub

42. errorSimpan:

43. MsgBox "Buku sudah terdaftar ", vbInformation, Simpan 44. TextIsbn.SetFocus

45. End Sub 46.

(7)

48. FormCariData.Show vbModal, Me 49. End Sub

50.

51. Private Sub CommandBatal_Click() 52. Call ClearAll(Me)

53. TextIsbn.SetFocus 54. End Sub

55.

56. Private Sub CommandKeluar_Click() 57. 'If user clicks the No button, do not exit

58. If MsgBox("Do you really want to exit EBook Library ?", vbQuestion + _ 59. vbYesNo + vbDefaultButton2, "Keluar dari program") = vbNo Then Exit Sub 60. 'Unload, clear from memory & end program

61. Set FormUtama = Nothing 62. Unload Me

63. End 64. End Sub

Silahkan ketik sesuai listing diatas sambil dibaca keterangan yang saya lampirkan pada program tersebut. Dim rsDataEbook As New ADODB.Recordset

….

Set rsDataEbook = New ADODB.Recordset rsDataEbook.LockType = adLockOptimistic rsDataEbook.Open “DataEbook”, strCon ….

Potongan listing kode diatas adalah cara untuk mengakses record source pada database yang telah kita koneksikan. Langkahnya mirip dengan koneksi database. Disini kita mendeklarasikan variabel Recordset rsDataEbook sebagai ADODB.Recordset kemudian mengesetnya kemudian membuka tabel DataEbook pada koneksi strCon kita.

Saya akan teruskan pada artikel selanjutnya…

(8)

Kita akan lanjutkan dengan pembuatan form cariData. Form ini akan muncul ketika kita menekan command button “Cari” .

Silahkan anda membentuk form cari seperti gambar diatas. Perlu diingat bahwa komponen listview baru muncul bila kita menambahkan Microsoft Windows Common Control 6 pada Project →Components.

Berikut adalah listing kode program untuk FormCariData

view plaincopy to clipboardprint? 1. Option Explicit

2.

3. Dim rsCariData As New ADODB.Recordset 4. Private Sub CommandCariData_Click() 5.

6. Dim i,Item

7. Dim strSQL As String 8. Dim strSQL2 As String 9.

10. On Error Resume Next

11. ' Membersihkan listview, berguna pd pencarian berulang 12. ListView1.ListItems.Clear

13. aturListView Me, "Judul Buku", 55,"Pengarang", 24, _ 14. "Penerbit", 22, "ISBN", 0, "Tahun", 0, _ 15. "Kategori", 0, "Keterangan", 0

16.

17. ' Membuka koneksi dgn Database

18. bukaDatabase

19. Set rsCariData = New ADODB.Recordset 20.

21. ' Setting perintah SQL untuk Recordset

22. strSQL = " SELECT * FROM dataebook WHERE" & _

23. "(judul LIKE '" & Text1.Text & "%' AND kategori = '" & Combo1.Text & "')" 24.

25. strSQL2 = "SELECT * FROM dataebook" 26.

(9)

27. ' Percabangan untuk pencarian semua atau khusus 28.

29. If Text1.Text "" Or Combo1.Text "" Then

30. ' Membuka Recordset dgn perintah SQL

31. rsCariData.Open strSQL, strCon

32. Else

33. ' Membuka Recordset dgn perintah SQL2

34. rsCariData.Open strSQL2, strCon

35. End If

36.

37. i = 1

38. Do While Not rsCariData.EOF

39. Set Item = ListView1.ListItems.Add(, , rsCariData!judul)

40. 'ListView1.ListItems(rec + 1).Bold = True

41. 'ListView1.ForeColor = vbRed 42. Item.SubItems(1) = rsCariData!pengarang 43. Item.SubItems(2) = rsCariData!penerbit 44. Item.SubItems(3) = rsCariData!isbn 45. Item.SubItems(4) = rsCariData!tahunterbit 46. Item.SubItems(5) = rsCariData!kategori 47. Item.SubItems(6) = rsCariData!keterangan 48. rsCariData.MoveNext 49. i = i + 1 50. Loop

51. LabelTotalEbook.Caption="Total Ebook : " & ListView1.ListItems.Count 52.

53. ' Menutup koneksi

54. Set rsCariData = Nothing 55. strCon.Errors.Clear

56. strCon.Close

57.

58. End Sub 59.

60. Private Sub CommandKembali_Click()

61. Unload Me

62. End Sub 63.

64. Private Sub ListView1_Click()

65. Dim Index

66. If ListView1.ListItems.Count = 0 Then Exit Sub 67. Index = ListView1.SelectedItem.SubItems(2) 68. Label3.Caption = "Penerbit : " & Index 69. End Sub

70.

71. Private Sub ListView1_DblClick()

72. If ListView1.ListItems.Count = 0 Then Exit Sub 73. On Error GoTo err

74. 75. With FormEdit 76. .TextJudul = FormCariData.ListView1.SelectedItem.Text 77. .TextIsbn = FormCariData.ListView1.SelectedItem.SubItems(3) 78. .TextPenerbit = FormCariData.ListView1.SelectedItem.SubItems(2) 79. .TextPengarang = FormCariData.ListView1.SelectedItem.SubItems(1) 80. .TextTahun = FormCariData.ListView1.SelectedItem.SubItems(4) 81. .ComboKategori = FormCariData.ListView1.SelectedItem.SubItems(5) 82. .TextDummy = FormCariData.ListView1.SelectedItem.SubItems(3) 83. .Show vbModal

(10)

84. End With 85. 86. 'Perangkap kesalahan 87. 88. Exit Sub 89. 90. err: 91.

92. MsgBox "Ada Error", vbOKOnly + vbInformation, "Error" 93.

94. End Sub

Silahkan anda ketik listing kode diatas sambil memperhatikan keterangan yang ada. Saya akan bahas pada listing tentang CommandCariData_Click(), disini kita menggunakan dua perintah SQL . Tujuan saya adalah supaya kita bisa membrowse seluruh data maupun mencari data dengan keyword tertentu. Sebenarnya ada cara lain untuk melakukan hal ini, tetapi menurut saya ini adalah cara yang mudah dimengerti.

Pada bagian ListView1_DblClick() adalah listing kode dimana ketika kita mengeksekusi item ListView dengan double klik, akan muncul form Edit yang berguna bila kita ingin mengubah data-data pada ebook  kita. Berikut ini adalah tampilan ketika kita menjalankan aplikasi :

Kita lanjutkan pada artikel selanjutnya………..

Ini merupakan form terakhir untuk tutorial kita. Kita beri nama form ini FormEdit, form ini berfungsi bila kita ingin melakukan editing pada data ebook kita. Pada form ini terdapat TextBox dummy yang kita hidden.

Tugas dari TextBox ini adalah untuk menyimpan primary key record pada database ebook. Silahkan anda sesuaikan tampilan form seperti gambar dibawah ini.

(11)

berikut ini adalah listing kode untuk FormEdit : view plaincopy to clipboardprint?

1. Option Explicit

2. Dim rsEdit As New ADODB.Recordset 3. Private Sub CommandBatal_Click() 4. Call ClearAll(Me)

5. Unload Me

6. End Sub

7. Private Sub CommandUpdate_Click() 8. Dim strSQL As String

9.

10. 'jika user mengklik no,maka tidak disimpan

11. If MsgBox("Data Ebook akan diperbarui ?", vbQuestion + vbYesNo _ 12. + vbDefaultButton2, "Edit data") = vbNo Then Exit Sub

13.

14. strSQL = " SELECT * FROM dataebook WHERE" & _ 15. "(isbn = '" & TextDummy.Text & "' )" 16.

17. bukaDatabase

18.

19. Set rsEdit = New ADODB.Recordset 20. rsEdit.LockType = adLockOptimistic 21.

22. 'membuka koneksi

23. rsEdit.Open strSQL, strCon

24.

25. 'memasukkan data baru

26. If rsEdit.RecordCount = 1 Then 27. With rsEdit 28. !isbn = TextIsbn.Text 29. !judul = TextJudul.Text 30. !penerbit = TextPenerbit.Text 31. !pengarang = TextPengarang.Text 32. !tahunterbit = TextTahun.Text 33. !kategori = ComboKategori.Text 34. .Update 35. End With 36. Else

37. MsgBox "Data tidak ditemukan", vbOKOnly

38. End If

(12)

40. Set rsEdit = Nothing 41. strCon.Close 42. Call ClearAll(Me) 43. FormCariData.ListView1.ListItems.Clear 44. Unload Me 45. End Sub

Oke saya rasa cukup sekian tutorial ini. Sebagai pelengkap aplikasi ini, anda bisa menambahkan form Login maupun form splash screen sehingga aplikasi anda akan makin terlihat profesional. Untuk pertanyaan

Referensi

Dokumen terkait

Sedangkan psikologi bisa diartikan sebagai ilmu mengenai jiwa, dalam hal ini kaitan atau peran AI yang paling dekat adalah psikologi kognitif, psikologi kognitif

diterapkan dan sebaiknya harus benar- benar dikaji dan dipelajari secara mendalam, sehingga didapatkan kemudahan dalam menggunakan sistem baru dan waktu penyesuaian

Jika setelah proses mediasi berjalan, mediator memahami bahwa dalam sengketa yang sedang dimediasi melibatkan aset atau harta kekayaan atau kepentingan yang nyata-nyata

Dalam merencakan terapi kenali terlebih dahulu gejala yang dominan pada pasien anda, asas manfaat dan resiko terapi yang akan anda berikan, trias (gejala sasaran,

Penguatan nilai tukar dollar Amerika yang terbatas membuka peluang nilai tukar rupiah mengalami penguatan pada perdagangan kemarin yang mendorong penurunan imbal

Ketiga tokoh wanita ini benar-benar menjadi korban yang sia-sia dari kehidupan jaman feodal, kehidupan yang menjunjung tinggi tradisi ideologi tradisional dan

201 Seorang anak usia 10 tahun datang ke dokter dengan keluhan bengkak seluruh tubuh sejak 2 hari yang lalu, keluhan juga diserta urin yang berwarna keruh dengan jumlah

Anif, M.Kom Windarto, M.Kom Yesi Puspita Dewi, M.Kom Grace Gata, M.Kom Dani Anggoro, M.Kom Lusi Fajarita, M.Kom Dian Anubhakti, M.Kom Dian Anubhakti, M.Kom Yesi Puspita Dewi, M.Kom