Tutorial VBA di ACCESS (4)-Membuat form Barang

Hari ini kita akan membuat sebuah form yang dgunakan untuk memanajemen data barang.

Mula-mula desain sebiah from dengan tampilan seperti dibawah ini:

Setelah kita membuat form dengan benar maka saatnya kita akan memulai mengkoding form barang tersebut.

Apakah itu Recordset?

Sebelum mengkoding maka akan saya jelaskan secara singkat apakah yang disebut dengan recordset.

Recordset adalah sebuah variabel bertype object yang digunakan untuk menampung data yang dibaca pada tabel. Isi data pada recordset akan sama dengan data yang ada pada tabel yang dibuka. Misalkan jika di tabel ada 10 data maka di variabel recordset ini juga akan ada 10 data. Jika pada tabel ada sebuah data dengan kode “B0001″ maka pada recordset juga akan ada.

Bagaimana cara mendefinisikan ?

Pendefinisian sebuah variabel recordset biasanya menggunakan nama “RS”. Cara pendefinisian bisa ditaruh pada modul atau bisa juga pada form yang bersangkutan dengan letak di paling atas supaya RS bisa dikenali pada seluruh bagian program yang ada pada form tersebut.

cara pendefinisian cukup dengan mengetikkan :

Dim RS as object

Bagaimana cara men-set atau menghubungkan ke tabel?

Pada sub form load ketikkan kode dibawah ini:

me.RecordSource = “Tbarang”
Set RS = Me.RecordsetClone

keterangan:

Baris pertama digunakan untuk membuka dan menghubungkan form (me) dengan tabel barang (tbarang). Kemudian pada baris yang kedua hasil dari data yang sudah diambil akan dimasukkan (set) ke variabel RS (recordset). Dengan menggunakan cara ini maka sekarang RS sudah berisi seluruh data pada tabel barang (Tbarang).

Gampang kan sampai disini? :)

Langkah berikutnya sebelum menyimpan data adalah bahwa setiap data yang dumasukkan ke tabel akan selalu memiliki kode barang yang bersifat unik. Karena kode barang disini dipakai sebagai primary key tabel barang.

Adapun cara membuat kode sederhana adalah sebagai berikut.

Buat sebuah sub dengan nama sub buatkode. Caranya ketikkan langsung tulisan “sub buatkode“pada daerah diluar sub yang ada. Berikutnya ketikkan kode berikut ini:

dim kd as string

If Not rs.EOF Then
rs.MoveLast
kd = Val(Right(rs(0), 4)) + 1

Select Case Len(kd)
Case 1
txtkd.Value = “BR000″ + Trim(Str(kd))
Case 2
txtkd.Value = “BR00″ + Trim(Str(kd))
Case 3
txtkd.Value = “BR0″ + Trim(Str(kd))
Case 4
txtkd.Value = “BR” + Trim(Str(kd))
End Select

Else
txtkd.Value = “BR0001″
End If

Setelah kode dibuat maka langkah selanjutnya adalah melakukan penginputan data dengan cara sebagai berikut:

Ketikkan kode berikut pada sub cmdsave_Click()

If cmdsave.Caption = “&New” Then
cmdsave.Caption = “&Save”
bersih
buatkode
txtnama.SetFocus

ElseIf cmdsave.Caption = “&Save” Then

rs.AddNew
rs(0) = txtkd.Value
rs(1) = txtnama.Value
rs(2) = txthrg.Value
rs(3) = txtstock
rs.Update
cmdsave.Caption = “&New”
cmdcancel_Click
End If

Untuk melakukan pencarian:

Private Sub cmdfind_Click()
If txtcari.Value <> “” Then
If Not rs.EOF Then
rs.MoveFirst
rs.findfirst “kd_brg=’” & txtcari.Value & “‘”
If rs.nomatch Then
MsgBox “Data dengan kode ” + txtcari.Value + ” tidak ditemukan dalam tabel.”, vbInformation

Exit Sub
Else
txtkd.Value = rs(0)
txtnama.Value = rs(1)
txthrg.Value = rs(2)
txtstock.Value = rs(3)
cmdsave.Enabled = False
cmdupdate.Enabled = True
cmddel.Enabled = True
txtkd.SetFocus
End If
End If
Else
MsgBox “ISikan kode pencarian terlebih dahulu”, vbInformation
End If
End Sub

Sebemum mengedit maka data harus dicari dahulu dengan cara diatas, setelah itu baru bisa diedit atau dihapus.

Untuk mengedit data:

Private Sub cmdupdate_Click()
If MsgBox(“Apakah update data akan disimpan?”, vbQuestion + vbYesNo) = vbYes Then
rs.edit
rs(0) = txtkd.Value
rs(1) = txtnama.Value
rs(2) = txthrg.Value
rs(3) = txtstock
rs.Update
MsgBox “Update data sukses.”, vbInformation
End If
End Sub

Untuk mendelete data:

Private Sub cmddel_Click()
If MsgBox(“Apakah yakin data akan dihapus?”, vbCritical + vbYesNo) = vbYes Then
rs.Delete
MsgBox “Delete data berhasil.”, vbInformation
Else
Cancel = 1

End If

Selebihnya silahkan dikembangkan sendiri.

Koding selengkapnya:

Option Compare Database
Dim rs As Object

Private Sub cmdcancel_Click()
bersih
cmdawal
End Sub

Private Sub cmddel_Click()
If MsgBox(“Apakah yakin data akan dihapus?”, vbCritical + vbYesNo) = vbYes Then
rs.Delete
MsgBox “Delete data berhasil.”, vbInformation
Else
Cancel = 1

End If
End Sub

Private Sub cmdfind_Click()
If txtcari.Value <> “” Then
If Not rs.EOF Then
rs.MoveFirst
rs.findfirst “kd_brg=’” & txtcari.Value & “‘”
If rs.nomatch Then
MsgBox “Data dengan kode ” + txtcari.Value + ” tidak ditemukan dalam tabel.”, vbInformation

Exit Sub
Else
txtkd.Value = rs(0)
txtnama.Value = rs(1)
txthrg.Value = rs(2)
txtstock.Value = rs(3)
cmdsave.Enabled = False
cmdupdate.Enabled = True
cmddel.Enabled = True
txtkd.SetFocus
End If
End If
Else
MsgBox “ISikan kode pencarian terlebih dahulu”, vbInformation
End If
End Sub
Sub tampildata()
txtkd.Value = rs(0)
txtnama.Value = rs(1)
txthrg.Value = rs(2)
txtstock.Value = rs(3)
End Sub
Private Sub cmdsave_Click()
If cmdsave.Caption = “&New” Then
cmdsave.Caption = “&Save”
bersih
buatkode
txtnama.SetFocus

ElseIf cmdsave.Caption = “&Save” Then

rs.AddNew
rs(0) = txtkd.Value
rs(1) = txtnama.Value
rs(2) = txthrg.Value
rs(3) = txtstock
rs.Update
cmdsave.Caption = “&New”
cmdcancel_Click
End If

End Sub
Sub buatkode()
rs.MoveLast
kd = Val(Right(rs(0), 4)) + 1

Select Case Len(kd)
Case 1
txtkd.Value = “BR000″ + Trim(Str(kd))
Case 2
txtkd.Value = “BR00″ + Trim(Str(kd))
Case 3
txtkd.Value = “BR0″ + Trim(Str(kd))
Case 4
txtkd.Value = “BR” + Trim(Str(kd))
End Select

End Sub
Sub bersih()
txtkd.Value = “”
txtnama.Value = “”
txthrg.Value = “”
txtstock.Value = “”
End Sub

Private Sub cmdupdate_Click()
If MsgBox(“Apakah update data akan disimpan?”, vbQuestion + vbYesNo) = vbYes Then
rs.edit
rs(0) = txtkd.Value
rs(1) = txtnama.Value
rs(2) = txthrg.Value
rs(3) = txtstock
rs.Update
MsgBox “Update data sukses.”, vbInformation
End If
End Sub

Private Sub Form_Load()
Set rs = Me.RecordsetClone
cmdawal
End Sub
Sub cmdawal()
cmdsave.Enabled = True
cmdupdate.Enabled = False
cmddel.Enabled = False
cmdsave.Caption = “&New”
End Sub

Selamat belajar….

7 Tanggapan

  1. trim ats tutorialnya. sangat membantu sekali

  2. pak Vibi…
    saya mau tanya, gmn caranya gunakan spinner? trus nama componen-nya apa? saya sudah nyari2 tapi g ketemu..
    thx…

    • di acces atau di VB ini ?

    • pake komponen namanya Updown. untuk memunculkan komponen ini bisa anda add lewat : Microsoft Windows Common Controls-2
      cara :
      1. tambahkan updown ke form
      2. tambahkan textbox disamping kiri mepet dengan updown.
      3. pada event onchane di updown ketikkan ” Text1.Text = UpDown1.Value ”

      semoga membantu.

  3. terima kasih atas masukannya…
    semoga Tuhan memberikan ilmu yang bermanfaat bagi anda.

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.