Step by step best practice belajar Visual Basic 6 PART 3, Membuat Form CRUD

Ini adalah part terakhir dari best practice belajar visual basic, mari kita membuat sebuah form untuk menampilkan data dan operasi Buat, Simpan, Edit dan Hapus Data, berikut langkah-langkahnya:


  1. Buat database Mahasiswa, sebagai contohnya saya akan memakai database Microsoft Access, mengapa  Microsoft Access? karena hampir semua komputer pasti ada Microsoft Accessnya. Saya akan membagi cara koneksi dengan database lain di postingan saya yang lain.
  •       Buat Tabel Fakultas
Nama Field Type Field
IdFakultasAutoNumber
NamaFakultasText(255)
  •     Buat Tabel Mahasiswa, komposisi fieldnya seperti dibawah ini:              
Nama Field Type Field
NIMText(10)
NamaText(50)
Tempat LahirText(30)
TglLahirDate/Time
AlamatText(50)
KotaText(30)
IdFakultasNumber


    2. Buat Form Mahasiswa, objectnya  seperti berikut ini:


Type Object                     Nama Object

                                                   TextBox                           txtNim
                                                   Textbox                            txtNama
                                                   Textbox                            txtAlamat
                                                   Textbox                            txtTempatLahir
                                                   DTPicker                          dtpTglLahir                                    
                                                   Textbox                            txtKota
                                                   Data Combo                    dcFakultas
                                                   TextBox                           txtCariNama
                                                   Datagrid                           DataGrid1
                                                   TextBox                           txtCariAlamat
3. Tampilannya sebagai berikut:

4. Buat modul untuk menyimpan variable global, beri nama modVar, kemudian buat modul untuk menyimpan  procedure yang sering kita pakai, beri nama modUtil, susunan folder projectnya akan terlihat seperti berikut:

5. Berikut ini contoh isi modVar
    Public dbconn As ADODB.Connection
    Public rs As ADODB.Recordset
    Public dbCmd As ADODB.Command
    Public strSQL As String
6. dan ini isi ModUtil
 'Fungsi untuk membuka koneksi
   Public Function OpenConnection()
     Set dbconn = New ADODB.Connection
     dbconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\mahasiswa.mdb;Persist Security Info=False"
    dbconn.CursorLocation = adUseClient
    dbconn.Open
 End Function
'Fungsi untuk membuat query yang menghasilkan recordset
Public Function bukaRs(Query As String, Record As Recordset)
    Set Record = New ADODB.Recordset
    Record.Open Query, dbconn, adOpenStatic, adLockReadOnly
End Function
'Procedure untuk mengisi Data Combo
Public Sub IsiDataSource(dcName As DataCombo, rsTemp As ADODB.Recordset, Query As String)
    Set rs = New ADODB.Recordset
    Set rs = dbconn.Execute(Query)
    Set dcName.RowSource = rsTemp
    dcName.BoundColumn = rsTemp.Fields(0).Name
    dcName.ListField = rsTemp.Fields(1).Name
End Sub
'Procedure untuk menjalankan perintah query untuk simpan, update dan delete
Public Sub execCmd(Cmd As ADODB.Command, Query As String)
    Dim num_Affected As Integer
    Set Cmd = New ADODB.Command
    Cmd.ActiveConnection = dbconn
    Cmd.CommandText = Query
    Cmd.CommandType = adCmdText
    Cmd.CommandTimeout = 60
    Cmd.Execute num_Affected
    If num_Affected = 0 Then
        Call MsgBox("Transaksi Gagal")
    Else
        Call MsgBox("Transaksi Berhasil")
    End If
End Sub
7. Sekarang saatnya mengkoding Form1. berikut ini langsung saya copykan disini:

Private Sub cmdBatal_Click()
    Call BersihForm
End Sub

Private Sub cmdHapus_Click()
    strSQL = "Delete from Mahasiswa where NIM = '" & txtNIM.Text & "'"
    Call execCmd(dbCmd, strSQL)
    Call BersihForm
    FillGrid
End Sub

Private Sub cmdSimpan_Click()
    strSQL = "select Nim from mahasiswa where Nim = '" & txtNIM.Text & "';"
    Call bukaRs(strSQL, rs)
    If rs.EOF = True Or rs.BOF = True Then
        strSQL = "Insert into Mahasiswa (Nim, Nama, Alamat, TempatLahir, TglLahir, Kota, IdFakultas) values " & _
                 "('" & txtNIM.Text & "', '" & txtNama.Text & "', '" & txtAlamat.Text & "', '" & txtTempatLahir.Text & "', '" & dtpTglLahir.Value & "', '" & txtKota.Text & "', '" & dcFakultas.BoundText & "')"
        Call execCmd(dbCmd, strSQL)
    Else
        strSQL = "Update Mahasiswa set Nama = '" & txtNama.Text & "', Alamat = '" & txtAlamat.Text & "', TempatLahir = '" & txtTempatLahir & "', TglLahir = '" & dtpTglLahir.Value & "', Kota = '" & txtKota.Text & "', IdFakultas = '" & dcFakultas.BoundText & "' Where Nim = '" & txtNIM.Text & "'"
        Call execCmd(dbCmd, strSQL)
    End If
    Call BersihForm
    FillGrid
End Sub

Private Sub DataGrid1_Click()
    If DataGrid1.ApproxCount < 1 Then Exit Sub
    With DataGrid1
        
        txtNIM.Text = .Columns("Nim").Value
        txtNama.Text = .Columns("Nama").Value
        txtAlamat.Text = .Columns("Alamat").Value
        txtTempatLahir.Text = .Columns("TempatLahir").Text
        dtpTglLahir.Value = .Columns("TglLahir").Value
        txtKota.Text = .Columns("Kota").Text
        dcFakultas.BoundText = .Columns("IdFakultas").Value
    End With
    cmdHapus.Enabled = True
    
End Sub

Private Sub dtpTglLahir_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then txtKota.SetFocus
End Sub
Private Sub Form_Load()
    Call OpenConnection
    Call BersihForm
    Call IsiDataSource(dcFakultas, rs, "Select IdFakultas, NamaFakultas from Fakultas")
    FillGrid
End Sub

Private Sub BersihForm()
    txtNIM.Text = ""
    txtNama.Text = ""
    txtAlamat.Text = ""
    txtKota.Text = ""
    txtTempatLahir.Text = ""
    dtpTglLahir.Value = Now
    dcFakultas.BoundColumn = ""
    cmdHapus.Enabled = False
    FillGrid
End Sub

Private Sub txtAlamat_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then txtTempatLahir.SetFocus
End Sub

Private Sub txtCariAlamat_Change()
    FillGrid
End Sub

Private Sub txtCariNama_Change()
    FillGrid
End Sub

Private Sub txtKota_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then dcFakultas.SetFocus
End Sub

Private Sub txtNama_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then txtAlamat.SetFocus
End Sub

Private Sub txtTempatLahir_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then dtpTglLahir.SetFocus
End Sub
Public Sub FillGrid()
 strSQL = "select a.Nim, a.Nama, a.TempatLahir, a.TglLahir, a.Alamat, a.Kota, b.NamaFakultas, a.IdFakultas from Mahasiswa as a inner join Fakultas as b on a.IdFakultas = b.IdFakultas where a.Nama like '%" & txtCariNama.Text & "%' and a.Alamat like '%" & txtCariAlamat.Text & "%'"
    Call bukaRs(strSQL, rs)
    Set DataGrid1.DataSource = rs
    
End Sub


Selesai sudah tutorial Step by step best practice belajar Visual Basic 6.
kalau anda malas mengkopas artikel ini, silahkan download source codenya di sini

No comments for "Step by step best practice belajar Visual Basic 6 PART 3, Membuat Form CRUD"