Pemrograman Visual Basic & Free Download Source Code

Pemrograman Visual Basic dan Free Download Source Code

Wednesday, August 30, 2017

Membuat Menu Utama dan Login Sistem Aplikasi "Inventory dan Laporan Keuangan"

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 ProjectAdd Module. Kemudian Anda tuliskan kode program Module sebagai berikut.

KODE PROGRAM Module MoAkuntansi
Public Conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Connect As String
Public sql As String


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



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 ProjectAdd 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.

Module Combo ini digunakan utnuk membuat function Auto Complete yang ada di dalam Object Control Combo Box. Secara default objek form kontrol Combo Box di dalam visual basic 6.0 tidak dapat kita cari menggunakan model Auto Complete. Misalkan kiat menuliskan data di dalam Combo yang di dalamnya sudah terdapat data, kita harus menuliskan secara lengkap. Berbeda apabila sudah kita bikinkan Function Auto Complete ini, begitu kitaa menuliskan sebagian kata dari data yang terdapat di dalam Combo, maka combo box tersebut akan menampilkan kata-kata data secara penuh.

 

Membuat MENU UTAMA

Untuk membuat Menu Utama, kita tambahkan Form baru ke dalam projek Anda yaitu MDIForm. MDI Form adalah singkatan dari multiple document interface yang biasanya digunakan sebagai form utama atau form induk. Sehingga dalam pada saat kita membuat beberapa form yang menjadi bagian dari MDI Form ini akan selalu berada di dalam MDI Form selama form yang lain disetting menjadi MDI Child.

Berikut ini cara menambahkan MDI Form ke dalam projek Anda. Klik menu ProjectAdd MDI Form dan kemudian Anda klik Open. Maka di dalam project Anda akan muncul Form baru yaitu MDIForm1. Seperti gambar di bawah ini.

 

Selanjutnya Kita atur MDIForm1 tersebut di atas dengan pengaturan pembuatan Menu Bar. Untuk pembuatannya KLIK TOMBOL di bawah ini.

Klik disini untuk lanjut ke pembahasan berikutnya

 

No comments:

Post a Comment