Procedure dan function merupakan sekumpulan code dapat dipanggil (digunakan) berulang-ulang pada event (dan atau procedure/function lainnya). Perbedaan Procedure dan function yaitu:
- Procedure : Hanya sekumpulan code untuk dijalankan
- Function : Ada nilai yang dikembalikan
Buka jendela code dan buat procedure dan function berikut:
PanggilPesan -> Nama Procedure
StringUntukPesan -> Nama Function
Batas/Penulisan Procedure
Sub …
End Sub
Batas/Penulisan Function
Function … as TypeData
End Function
Jika kita tidak menuliskan type data untuk function maka otomatis type data adalah variant
Kita akan memanggil procedure pada event Command1_Click dan Function pada Command2_Click.
Private Sub Command1_Click()
PanggilPesan
End Sub
Private Sub Command2_Click()
MsgBox StringUntukPesan
End Sub
Perhatikan perbedaan antara keduanya dan coba jalankan aplikasi. Prosedure menjalanka code yang ada di dalamnya. Sementara Function mengembalikan nilai string yang di assign padanya.
Selain itu kita juga dapat menambahkan parameter. Pertama-tama tambahkan sebuah textbox:
Sub PanggilPesan(strPesan As String)
MsgBox strPesan
End Sub
Function StringUntukPesan(strPesan as String) as String
StringUntukPesan = strPesan
End Function
Private Sub Command1_Click()
PanggilPesan Text1.Text
End Sub
Private Sub Command2_Click()
MsgBox StringUntukPesan(Text1.Text)
End SubCoba jalankan aplikasi. Event Command akan menampilkan pesan yang kita inputkan di text1.
Selanjutnya kita akan mencoba membuat procedure untuk membuka koneksi database. Anda boleh menghapus pecobaan procedure pada event command diatas.
Pindahkan code untuk membuka koneksi ke sebuah procedure baru bernama Open_Connection.
Lalu panggil procedure tersebut di event Form_Load.
Deklarasikan 2 variable long untuk looping.
Dim l as Long
Dim k as LongKemudian kita akan membuat sebuah Function bernama Display_Data dengan type data ADODB Recordset dengan input parameter bertype MYSQL_RS (MySQL Recordset). Untuk membuat ADODB Recordset yang memuat data dari MySQL.
Hapus kode untuk menampilkan data di datagrid
Ubah code seperti berikut:
Procedure Open_Connection dan Function Display_Data dapat digunakan tidak hanya untuk form kategori saja tetapi juga dapat digunakan di form lain yang membutuhkan code koneksi ke database dan menampilkan data ke datagrid. Agar dapat dipanggil dari semua form aplikasi, pindahkan ke sebuah module dan ubah scope (cakupannya) menjadi Public.
Buat sebuah file module, klik kanan pada jendela Project Explorer -> Add -> Module
Kemudian akan muncul kotak dialog Add Module, pada tab New pilih Module dan klik tombol Open.
Beri nama modDatabase.
Kemudian save file module tersebut.
Code yang harus dipindahkan ke module adalah deklarasi variable untuk koneksi, deklarasi variable Long untuk looping, procedure Open_Connection, dan Function Display_Data.
Tambahkan Option Explicit dang anti scope seperti berikut:
Jika Anda coba lagi untuk Run aplikasi yang dibuat maka aplikasi akan tetap berjalan sebagaimana mestinya.
Click here if you like this article.
Artikel Sebelumnya:
Artikel Selanjutnya:
- Pengolahan Data --> Input Data Baru
- Pengolahan Data --> Edit Data
- Pengolahan Data --> Delete/Hapus Data
- Filter Data dengan Keyword
15 Comments
salam (mazry)
koneksi ke SQL Server ato ke MySQL ya?
klo untuk hosting biasa nya tergantung paket yg ditawarkan oleh hosting tersebut. Apakah ada fasilitas remote database nya ato ngga. Klo di MWN mah yg ada fasilitas remote nya mulai dari paket EKSEKUTIF.
Klo emang udah ada fasilitas nya trus masuk ke spanel nya buat buka port nya. Masukin IP Address PC kita yang akan remote kesana.
Selanjutnya di aplikasi VB kita tinggal ganti variable2(server,UserDB,password,
database)
Cara setting di hosting nya mungkin beda2 tergantung hostingnya, tanya ke support nya aja untuk detailnya...
CMIIW
btw thanks buat sharenya, kl bisa ditambah lagi....
Event : Form_Load
Err.No : 3367
Object is already in collection. Cannot Append.
(tlong dijelaskan,terimakasih)
Kemungkinan ada nama field yang sama di select 2 kali atau lebih. misalnya gini:
select kodenama, kodenama from tablenama