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 ObjectPrivate Sub cmdcancel_Click()
bersih
cmdawal
End SubPrivate Sub cmddel_Click()
If MsgBox(“Apakah yakin data akan dihapus?”, vbCritical + vbYesNo) = vbYes Then
rs.Delete
MsgBox “Delete data berhasil.”, vbInformation
Else
Cancel = 1End If
End SubPrivate 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.”, vbInformationExit 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.SetFocusElseIf 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 IfEnd Sub
Sub buatkode()
rs.MoveLast
kd = Val(Right(rs(0), 4)) + 1Select 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 SelectEnd Sub
Sub bersih()
txtkd.Value = “”
txtnama.Value = “”
txthrg.Value = “”
txtstock.Value = “”
End SubPrivate 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 SubPrivate 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….
Filed under: VBA
trim ats tutorialnya. sangat membantu sekali
semoga bermanfaat
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.
terima kasih atas masukannya…
semoga Tuhan memberikan ilmu yang bermanfaat bagi anda.
amin. terimakasih atas doa dan kunjungannya