Selasa, 23 Februari 2016

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

    0 komentar:

    Posting Komentar