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

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

  4. gan,, ane mau tanya,, gimana cara bikin form register nasabah di access -_- ane gk ngerti dasarnya gan ,, helep,, tutor buat pemulaa😀

    terima kasih sebelumnya

    • Caranya sama seperti membuat fasilitas input data.download dl aja trs ikuti code ku.insyaalloh bisa gan😉

    • baca di VBA ada cara searching.nah tinggal di modifikasi sedikit kok🙂
      sesuaikan dengan nama tabel dan nama fieldnya aja.

  5. pak, saya dapat bisakah saya dapat aplikasi yang sedang dibahas ini, saya agak kesulitan untuk melakukan pencarian berdasarkan range tanggal serta melakukan pencarian nama,

  6. pak tolg bantuannya….. utk recordset pada saat proses tambah data di form jika from nya ada sub form bagaimana mendifinisikan ke sub form (klo contoh kan cuma “tbbarang”), bagaimana jika tbbrang adalah table yg digunkan di main form dan ada juga sub form dengan tabel lain, bagaimana caranya… terimakasih…

    • pake koneksi manual.
      jangan menggunakan metode drag and drop.
      insyaalloh secepatnya akan saya upload🙂

  7. oya tambah lagi pak sekalian cara tambah data, cari, update(edit, hapus) utk hal di atas (recordset utk form dengan subform)… terimakasih… ditunggu banget pak jawabannya…

  8. pak vb, jika ada 2 tabel yang akan kita buka dalam satu form bagaimana menghubungkannya ya pak ? .Terima kasih

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

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

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: