Coding Jenis Barang

Dim RsBarang As New ADODB.Recordset
Private Sub CmdAdd_Click()
'saat menekan tombol add
'txtkode diisi kode jenis barang otomatis
TxtKode = Trim(KodeAuto)

'menghapus semua isian pada field
TxtNama = ""
TxtAktif = "Y"
End Sub

Private Sub CmdCancel_Click()
'saat ditekan tombol cancel maka
'1. ambil data dari db -> grid
refreshData

'2. membersihkan semua field isian
bersih
TxtKode.SetFocus
End Sub


Sub bersih()
'prosedur berishkan field isian
TxtKode = ""
TxtNama = ""
TxtAktif = "Y"
End Sub

Private Sub CmdHapus_Click()
'saat ditekan tombol hapus
'1. muncul pertanyaan yakin dihapus?
If MsgBox("Yakin dihapus?", vbOKCancel) = vbOK Then

'2. tandai jenis barang pada db
    SQL = "update jenisbarang set aktif='N',tgledit='" & FormatTgl(Date) & "' where kodejenis='" & Trim(TxtKode) & "'"
    DbCon.Execute SQL

'3. lakukan prosedur tombol cancel
    CmdCancel_Click
End If

End Sub

Private Sub CmdSave_Click()
'saat ditekan tombol save
'1. periksa txtkode kosong? ulangi isian kalau kosong
If Trim(TxtKode) = "" Then
    MsgBox "Kode Jenis masih kosong"
    TxtKode.SetFocus
    Exit Sub

'2. periksa txtnama kosong? ulangi isian kalau kosong
ElseIf Trim(TxtNama) = "" Then
    MsgBox "Nama Jenis Masih Kosong"
    TxtNama.SetFocus
    Exit Sub
End If

'3. cari data barang yang diinputkan di db
SQL = "select * from jenisBarang where kodejenis='" & Trim(TxtKode) & "'"
Set RSFind = DbCon.Execute(SQL)

If Not RSFind.EOF Then
    '4. klo ada lakukan update data
    SQL = "update jenisbarang set namajenis='" & Trim(TxtNama) & "',aktif='" & Trim(TxtAktif) & _
            "', tgledit='" & FormatTgl(Date) & "' where kodejenis='" & Trim(TxtKode) & "'"
Else
    '5. klo tidak ada lakukan insert data
    SQL = "insert into jenisbarang(kodejenis,namaJenis,aktif,flag1,tglBuat,tglEdit) values ('" & _
            Trim(TxtKode) & "','" & Trim(TxtNama) & "','" & Trim(TxtAktif) & "','','" & _
            FormatTgl(Date) & "','" & FormatTgl(Date) & "')"
End If

DbCon.Execute SQL

'6 muncul pesan
MsgBox "Data Tersimpan"

'7. lakukan prosedur tombol cancel
CmdCancel_Click
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'saat ditekan tombol
'tombol Esc maka akan keluar dari menu jenis barang
If KeyCode = 27 Then Unload Me

'tombol F3 akan menyimpan data jenis barang
If KeyCode = vbKeyF3 Then CmdSave_Click

'tombol F8 untuk membatalkan input data jenis barang
If KeyCode = vbKeyF8 Then CmdCancel_Click

'tombol F2 untuk memulai input data jenis barang baru
If KeyCode = vbKeyF2 Then CmdAdd_Click
End Sub

Private Sub Form_Load()
'saat form diload yang dilakukan :
'1. memberishkan field isian
bersih

'2. isi data jenis barang dari db -> grid
refreshData

'3. isi kode otomatis jenis barang
TxtKode = Trim(KodeAuto)
End Sub

Sub refreshData()
'refresh data untuk ambil data dari db -> grid

' kosongkan grid
Set Grid.DataSource = Nothing

'string SQl
SQL = "select Kodejenis as 'Kode Jenis' ,namaJenis as 'Nama Jenis' from jenisBarang " & _
        "  order by NamaJenis"

'masukkan data dari db -> ado recordset
Set RsBarang = DbCon.Execute(SQL)

'isi datagrid dengan data dari ado recordset
Set Grid.DataSource = RsBarang
Grid.Refresh
End Sub


Private Sub Grid_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
TxtKode = Trim(Grid.Columns(0).Text)
TxtKode_LostFocus
End Sub

Private Sub TxtAktif_KeyPress(KeyAscii As MSForms.ReturnInteger)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub TxtKode_GotFocus()
'saat diklik maka blok isinya
SendKeys "{Home}+{End}"
End Sub

Private Sub TxtKode_KeyPress(KeyAscii As MSForms.ReturnInteger)
'ubah isian menjadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub TxtKode_LostFocus()
'saat pindah dari txtkode
'1. meminta data jenis barang berdasarkan kode jenis yang ada pada txtkode

SQL = "select * from jenisbarang where kodejenis='" & Trim(TxtKode) & "'"
Set RSFind = DbCon.Execute(SQL)

'2. menampilkan data di field isian
If Not RSFind.EOF Then
    TxtKode = RSFind!kodeJenis
    TxtNama = RSFind!namajenis
    TxtAktif = RSFind!Aktif
   
'3. menujuk ke data jenis barang di grid
    If TxtAktif = "Y" Then
        RsBarang.Find "[kode jenis]='" & Trim(TxtKode) & "'", , adSearchForward, 1
        'If RsBarang.EOF Then Exit Sub
    End If
   
End If
End Sub
Function KodeAuto()
'fungsi membuat kode otomatis pada kode jenis barang
'kode akan bertambah secara otomatis dari nomor kode terakhir
SQL = "Select kodeJenis from jenisbarang order by kodejenis Desc"
Set RSFind = DbCon.Execute(SQL)
If RSFind.BOF Then
    KodeAuto = "JNS-0001"
Else
    KodeAuto = "JNS-" & Format(CInt(Right(RSFind!kodeJenis, 4)) + 1, "0000")
End If
End Function

Private Sub TxtNama_KeyPress(KeyAscii As MSForms.ReturnInteger)
' mengubah isian menjadi huruf besar
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Comments

Popular posts from this blog

Flowchart Penjualan Grosir / Eceran

Flowchart Proses Pembelian Barang