Menambahkan File Module
Pembahasan ini merupakan kelanjutan dari pokok bahasan "Membuat Aplikasi Inventory dan Lapoan Keuangan", baca terlebih dahulu pokok bahasan tersebut agar lebih jelas.
Untuk memudahkan kita dalam pengelolaan program Aplikasi Inventory dan Laporan keuangan terutama saat melakukan koneksi ke dalam database dan tabel MySQL, kita memerlukan file Module untuk mendeklarasikan beberapa perintah Procedure atau Function yang berfungsi sebagai koneksi dan perintah-perintah Function yang berkaitan dengan fungsi dari objek-objek dalam form.
Procedure dan Function ini berfungsi sebagai Library yang dapat kita gunakan secara terus menerus dalam sebuah project tanpa harus menuliskan perintahnya berulang-ulang, kita hanya memanggil nama dari dekalarasi Procedure atau Function tersebut saja. Karena di dalam Procedure dan Function tersebut sudah mewakili perintah yang terdapat di dalamnya. Procedure dan Function yang akan kita buat kita deklarasikan di dalam Module MoAkuntansi, MoCombo, dan ModuleAPI.
Membuat Module MoAkuntansi
Untuk membuat module MoAkuntansi.bas, kita tambahkan terlebih dahulu File Module ke dalam project kita melalui menu Project ⇛ Add Module. Kemudian Anda tuliskan kode program Module sebagai berikut.
KODE PROGRAM Module MoAkuntansi
|
Public rs As New ADODB.Recordset Public Connect As String Public sql As String Connect = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=DBSIARETAIL;Initial Catalog=dbsiaretail" If Conn.State = adStateOpen Then Conn.Close Set Conn = New ADODB.Connection Conn.Open Connect Else Conn.Open Connect End If End Sub |
Atur nama dari Module di atas melalui jendela properties baris Name dengan isian MoAkuntansi. Kemudian Anda simpan kembali projek Anda.
Penjelasan Kode Program :
Public Conn As New ADODB.Connection, deklarasi variable Conn secara Global akan digunakan untuk membuat koneksi ke dalam database. Dalam pembuatan deklarasi ini menggunakan Library ADODB dengan Class Connection.
Public rs As New ADODB.Recordset, deklarasi variable rs secara Global akan digunakan untuk membuat koneksi ke dalam table. Dalam pembuatan deklarasi ini menggunakan Library ADODB dengan Class Recordset.
Public Connect As String, dan Public sql As String, deklarasi variable Connect dan sql secara Global akan digunakan untuk membuat penampungan data yang berupa string yang berkaitan dengan String Koneksi dan string sql dalam pembuatan programnya.
Public Sub sambung()
Connect = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=DBSIARETAIL;Initial Catalog=dbsiaretail"
If Conn.State = adStateOpen Then
Conn.Close
Set Conn = New ADODB.Connection
Conn.Open Connect
Else
Conn.Open Connect
End If
End Sub
Pada baris perintah di atas merupakan baris perintah deklarasi Procedure Global yang digunakan untuk membuat koneksi ke dalam database MySQL melalui ODBC Data Source yang sebelumnya telah kita buat di pembahasan sebelumnya yaitu Aplikasi "Inventory dan Laporan Keuangan VB 6.0".
Baris perintah Connect = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=DBSIARETAIL;Initial Catalog=dbsiaretail" adalah memanggil Provider MSDASQL yang kemudian ditampung ke dalam variable Connect.
DataSource diisi dengan Nama DSN yang sebelumnya dibuat pada pembahasan sebelumnya. Pada pembahasan sebelumnya Nama DSN kita buat dengan nama DBSIARETAIL. Sedangkan pada Initial Catalog diisi dengan nama dari database yaitu dbsiaretail.
Membuat Module MoCombo
Untuk membuat module MoCombo.bas, kita tambahkan terlebih dahulu File Module ke dalam project kita melalui menu Project ⇛ Add Module. Kemudian Anda tuliskan kode program Module sebagai berikut.
KODE PROGRAM Module MoCombo.bas
|
Option Explicit 'Konstanta untuk membantu pencarian string Const CB_FINDSTRING = &H14C Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hwnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long 'Untuk membantu menentukan apakah terjadi perubahan '(Ubah)hasil string di combobox atau tidak (Asli). Public Enum EnumKarakter Asli = 0 Ubah = 1 End Enum Dim Karakter As EnumKarakter Public Function AutoComplete( _ cbCombo As ComboBox, _ sKeyAscii As Integer, _ Optional bUpperCase As Boolean = True, _ Optional cCharacter As EnumKarakter = Asli) _ As Integer Dim lngFind As Long, intPos As Integer Dim intLength As Integer, tStr As String With cbCombo If sKeyAscii = 8 Then If .SelStart = 0 Then Exit Function .SelStart = .SelStart - 1 .SelLength = 32000 .SelText = "" Else 'simpan posisi kursor intPos = .SelStart 'simpan data string tStr = .Text 'If bUpperCase = Asli Then ' .SelText = (Chr(sKeyAscii)) If bUpperCase = True Then 'ganti string. (hanya huruf besar) .SelText = UCase(Chr(sKeyAscii)) Else 'If bUpperCase = KecilSemua Then 'ganti string. (biarkan data apa adanya) .SelText = (Chr(sKeyAscii)) End If End If 'Cari string di combobox lngFind = SendMessage(.hwnd, CB_FINDSTRING, 0, _ ByVal .Text) If lngFind = -1 Then 'Jika string tidak ditemukan 'Set ke string yg lama (digunakan untuk data yang 'membutuhkan pengawasan karakter .Text = tStr 'Tentukan posisi kursor .SelStart = intPos 'Tentukan panjang yang terpilih .SelLength = (Len(.Text) - intPos) 'Kembalikan nilai 0 KeyAscii (tidak melakukan 'apapun) AutoComplete = 0 Exit Function Else 'Jika string ditemukan intPos = .SelStart 'Simpan posisi kursor 'Simpan panjang teks sisa yang disorot intLength = Len(.List(lngFind)) - Len(.Text) If cCharacter = Ubah Then 'Ganti teks baru dalam string (ubah seluruhnya) .SelText = .SelText & Right(.List(lngFind), _ intLength) Else 'Asli, huruf asli yang digunakan, tidak 'diganti .Text = .List(lngFind) End If 'Tentukan posisi kursor .SelStart = intPos 'Tentukan panjang yang terpilih .SelLength = intLength End If End With End Function |
Atur nama dari Module di atas melalui jendela properties baris Name dengan isian MoCombo. Kemudian Anda simpan kembali projek Anda.
No comments:
Post a Comment