A3 ~ Mata Arjuna.pdf

21
3/20/15 A3 ~ Mata Arjuna 1/21 irembun.blogspot.com/2015/01/a3.html

Transcript of A3 ~ Mata Arjuna.pdf

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    0 ( 0 %8 $ 7 75 $ 1 6 $ . 6 , 3 ( 1 $ 0 %$ + $ 1 6 72 . ,7( 0

    * GCFGT RGPCO DCJ CP UVQM KVGP

    * GCFGT FKI WPCMCP UGDCI CK FCVC DCPVW WPVWM FCVCDCUGRGPCO DCJ CP UVQM KVGO RCFC HKGNF J GCFT RGPCO DCJ CPUVQM KVGO VGTFKTK FCTK0 1 / 1 4 64 # 0 5# - 5+6# 0 ) ) # . 64 # 0 5# - 5+- 1 & 57 2 2 . + 4 FCP 0 # / # 57 2 2 . + 4FCP ; # 0 ) 6 4 # - * +4 0 # / # 7 5 46KFCM CFC MQFKPI RCFC DCI KCP J GCFGT RGPCO DCJ CPUVQM KVGO KPK

    &CVCDCUG RGPCO DCJ CP UVQM KVGO

    &CVCDCUG RGPCO DCJ CP UVQM KVGO O GO WCV KPHQTO CUKFGPI CP O GPI CEW RCFC J GCFGT RGPCO DCJ CP UVQM KVGO RCFC HKGN FCVCDCUG RGPCO DCJ P UVQM KVGO VGTFKTK FCTK0 1 / 1 4 64 # 0 5# - 5+6# 0 ) ) # . 64 # 0 5# - 5+- 1 & 57 2 2 . + 4 FCP 0 # / # 57 2 2 . + 40 # / # 7 5 40 1 / 1 4 7 4 7 6 +6 /- 1 & +6 /0 # / # +6 /52 %+( +- # 5+ +6 // 4 - +6 /5# 67 # 0 +6 /FCP , 7 / . # * / # 57 - 561 - +6 /

    7 PVW NGDKJ LGNCUP[ C UKNCJ MCP DWMC ( QNFGT +2 # HKNG # 2 )

    $ WMC UJ GGV * GCFGT2 GO CUWMCP FCP&CVCDCUG2 GO CUWMCP/ CUWM MGLGPFGNC XKUWCN DCUKE GFKVQT VGO WMCP FGUKIWUGTHQTO ( QTO 2 GO CUWMCP

    C &GUKI P WUGTHQTO RGPCO DCJ CP UVQM KVGO

  • 3/20/15 A3 ~ Mata Arjuna

    2/21irembun.blogspot.com/2015/01/a3.html

    6.3 Ngoding userform penambahan stok item

    6.3.a Event userform aktif

    Pada bagian userform aktif ada beberapa syrata agar

    transaksi penambahan stok berjalan

    1. Sudah terdapat databse item

    2. Sudah ada database supplier

    Jika kedua database ini kosong atau salah satunya

    kosong maka transaksi penambahan stok item tidak

    akan berjalan.

    Private Sub UserForm_Activate()

    Set dtitem = Sheets("DatabaseItem")

    Set dsupplier = Sheets("DatabaseSupplier")

    If dtitem.Range("A3").Value = "" Then

    MsgBox " Tidak ada data dalam database

    item", _

    vbOKOnly, "Databse item kosong"

    Unload Me

    Exit Sub

    ElseIf dsupplier.Range("A3").Value = "" Then

    MsgBox " Tidak ada data dalam database

    supplier", _

    vbOKOnly, "Databse item supplier"

    Unload Me

  • 3/20/15 A3 ~ Mata Arjuna

    3/21irembun.blogspot.com/2015/01/a3.html

    Exit Sub

    End If

    Call iTemKode

    Call PelangganKode

    Call Headertransaksi

    tTanggal.Value = Format(Date, " dd mm yyyy ")

    End Sub

    6.3.b Pengisian combobox kode item

    Sub iTemKode()

    Set Iparengan = Sheets("DatabaseItem")

    For Each sIparengan In

    Iparengan.Range("KodeItem")

    With Me.cKode

    .ColumnCount = 2

    .AddItem sIparengan.Value

    .List(.ListCount - 1, 1) = sIparengan.Offset(0,

    1).Value

    End With

    Next sIparengan

    End Sub

    6.3.c Pengisian combobox kode supplier

    Sub PelangganKode()

    Set Iparengan = Sheets("DatabaseSupplier")

    For Each sIparengan In

    Iparengan.Range("KodeSupplier")

    With Me.cKodeSupplier

    .ColumnCount = 2

    .AddItem sIparengan.Value

    .List(.ListCount - 1, 1) = sIparengan.Offset(0,

    1).Value

    End With

    Next sIparengan

    End Sub

    6.3.d Event pembuatan header transaksi

    Sub Headertransaksi()

    ListPemasukan.Clear

  • 3/20/15 A3 ~ Mata Arjuna

    4/21irembun.blogspot.com/2015/01/a3.html

    With ListPemasukan

    .AddItem

    .ColumnCount = 7

    .BoundColumn = 7

    .List(.ListCount - 1, 0) = "NO"

    .List(.ListCount - 1, 1) = "KODE"

    .List(.ListCount - 1, 2) = "NAMA"

    .List(.ListCount - 1, 3) = "SPECIFIKASI"

    .List(.ListCount - 1, 4) = "MERK"

    .List(.ListCount - 1, 5) = "SATUAN"

    .List(.ListCount - 1, 6) = "QTY"

    .ColumnWidths = 35 & ";" & 55 & ";" & 80 & ";" &

    80 & ";" & 70 & ";" & 60 & ";" & 60

    End With

    End Sub

    6.3.e Kolom textbox QTY hany bisa diisi angka 0-9

    Private Sub tQty_KeyPress(ByVal KeyAscii _

    As MSForms.ReturnInteger)

    Select Case KeyAscii

    Case Asc("0") To Asc("9")

    Case Else

    KeyAscii = 0

    End Select

    End Sub

    6.3.f Event kolom textbox kode item, Membuat lookup

    database item kedalam kolom nama dan specifikasi

    Private Sub cKode_Change()

    Set dtitem = Sheets("DatabaseItem")

    Set KeyRangeA = dtitem.Range("KodeItem")

    Set c = KeyRangeA.Find(cKode.Value, _

    LookIn:=xlValues)

    tNama.Value = c.Offset(0, 1).Value

    Tspecifikasi.Value = c.Offset(0, 2).Value

    tQty.SetFocus

    End Sub

    6.3.g Event kolom textbox kode supplier, Membuat

  • 3/20/15 A3 ~ Mata Arjuna

    5/21irembun.blogspot.com/2015/01/a3.html

    lookup database supplier kedalam kolom nama

    supplier

    Private Sub cKodeSupplier_Change()

    Set dtSupplier = Sheets("DatabaseSupplier")

    Set KeyRangeA =

    dtSupplier.Range("KodeSupplier")

    Set c = KeyRangeA.Find(cKodeSupplier.Value, _

    LookIn:=xlValues)

    tNamaSupplier.Value = c.Offset(0, 1).Value

    End Sub

    6.3.h Event pada tombol tambah/input, membuat list

    pada listbox dengan list database item yang masuk

    Private Sub cmTambah_Click()

    Set tItemData = Sheets("DatabaseItem")

    Set rgKodeBrg = tItemData.Range("KodeItem")

    If tItemData.Range("A3").Value = "" Then

    Exit Sub

    End If

    For CekItem = 1 To ListPemasukan.ListCount -

    1

    If ListPemasukan.List(CekItem, 1) =

    cKode.Value Then

    MsgBox " Item " & ListPemasukan.List(CekItem,

    2) & _

    " sudah ada", vbOKOnly, "Item Barang Sudah

    Masuk"

    ListPemasukan.SetFocus

    ListPemasukan.ListIndex = CekItem

    Exit Sub

    End If

    Next CekItem

    Set c = rgKodeBrg.Find(cKode.Value,

    LookIn:=xlValues)

    With ListPemasukan

    .AddItem

    .List(.ListCount - 1, 0) =

    ListPemasukan.ListCount - 1

    .List(.ListCount - 1, 1) = cKode.Value

    .List(.ListCount - 1, 2) = tNama.Value

    .List(.ListCount - 1, 3) = Tspecifikasi.Value

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    .List(.ListCount - 1, 4) = c.Offset(0, 3).Value

    .List(.ListCount - 1, 5) = c.Offset(0, 4).Value

    .List(.ListCount - 1, 6) = tQty.Value

    End With

    tQty.Value = ""

    End Sub

    . HWHUDQJ DQ

    For CekItem = 1 To ListPemasukan.ListCount -

    1

    If ListPemasukan.List(CekItem, 1) =

    cKode.Value Then

    ........

    Exit Sub

    End If

    Next CekItem

    Kode macro ini berfungsi mencari data yang sama,

    pada kasus ini mencari data kembar pada listbox pada

    kolom nomor 1 " kode item " ( ingat kolom pada listbox

    dimulai dari 0 ), dengan kode ini pula bisa merubah

    data yang ada pada listbox, contohnya

    For CekItem = 1 To ListPemasukan.ListCount -

    1

    If ListPemasukan.List(CekItem, 1) =

    Textbox1.Value Then

    ListPemasukan.List(.ListCount - 1, 2) =

    Textbox2.Value

    ListPemasukan.List(.ListCount - 1, 3) =

    Textbox3.Value

    End If

    Next CekItem

    Merubah nilai listbox dengan primer key pada kolom 2,

    logikanya

    " Jika nilai pada listbox kolom nomor 2 bernilai sama

    dengan nilai textbox1, maka nilai listbox kolom nomor

    3 diganti dengan nilai textbox2, dan nilai pada listbox

    kolom nomor 4 diganti dengan nilai textbox3 "

    6.3.i Event pada tombol hapus list pada listbox dengan

  • 3/20/15 A3 ~ Mata Arjuna

    7/21irembun.blogspot.com/2015/01/a3.html

    list database item yang masuk

    Private Sub cmHapus_Click()

    If ListPemasukan.ListIndex < 1 Then

    MsgBox "Pilih nomor item yang akan dihapus",

    _

    vbOKOnly, "Pilih Nomor Item"

    ListPemasukan.SetFocus

    Exit Sub

    Else

    ListPemasukan.RemoveItem

    (ListPemasukan.ListIndex)

    End If

    For NoItem = 1 To ListPemasukan.ListCount - 1

    ListPemasukan.List(NoItem, 0) = NoItem

    Next NoItem

    End Sub

    6.3.j Event pada tombol simpan transaksi penambahan

    stok item

    Private Sub cSimpan_Click()

    Set tItemData = Sheets("DatabaseItem")

    Set hPmskn = Sheets("HeaderPemasukan")

    Set dPmskn = Sheets("DatabasePemasukan")

    If cKodeSupplier.Value = "" Then

    cKodeSupplier.SetFocus

    Exit Sub

    ElseIf tNomor.Value = "" Then

    tNomor.SetFocus

    Exit Sub

    End If

    If ListPemasukan.ListCount < 2 Then

    MsgBox "Tidak ada transaksi penambahan

    stok item", _

    vbOKOnly + vbCritical, "Belum Ada Transaksi"

    Exit Sub

    End If

    Set KdItnm = tItemData.Range("KodeItem")

    SelHdrKsg =

    hPmskn.Cells(hPmskn.Rows.Count, "A"). _

    End(xlUp).Offset(0, 0).Row

    SelDtbsKsg =

    dPmskn.Cells(dPmskn.Rows.Count, "A"). _

  • 3/20/15 A3 ~ Mata Arjuna

    8/21irembun.blogspot.com/2015/01/a3.html

    End(xlUp).Offset(0, 0).Row

    hPmskn.Cells(SelHdrKsg + 1, 1).Value = tNomor

    hPmskn.Cells(SelHdrKsg + 1, 2).Value =

    tTanggal.Value

    hPmskn.Cells(SelHdrKsg + 1, 3).Value =

    cKodeSupplier.Value

    hPmskn.Cells(SelHdrKsg + 1, 4).Value =

    tNamaSupplier.Value

    hPmskn.Cells(SelHdrKsg + 1, 5).Value =

    Sheets("DatabaseUser").Range("E3").Value

    For No = 1 To ListPemasukan.ListCount - 1

    Set c = KdItnm.Find(ListPemasukan.List(No, 1),

    _

    LookIn:=xlValues)

    c.Offset(0, 5).Value = c.Offset(0, 5).Value + _

    ListPemasukan.List(No, 6)

    dPmskn.Cells(SelDtbsKsg + No, 1).Value =

    tNomor

    dPmskn.Cells(SelDtbsKsg + No, 2).Value =

    tTanggal.Value

    dPmskn.Cells(SelDtbsKsg + No, 3).Value =

    cKodeSupplier.Value

    dPmskn.Cells(SelDtbsKsg + No, 4).Value =

    tNamaSupplier.Value

    dPmskn.Cells(SelDtbsKsg + No, 5).Value = _

    Sheets("DatabaseUser").Range("E3").Value

    dPmskn.Cells(SelDtbsKsg + No, 6).Value = _

    ListPemasukan.List(No, 0)

    dPmskn.Cells(SelDtbsKsg + No, 7).Value = _

    ListPemasukan.List(No, 1)

    dPmskn.Cells(SelDtbsKsg + No, 8).Value = _

    ListPemasukan.List(No, 2)

    dPmskn.Cells(SelDtbsKsg + No, 9).Value = _

    ListPemasukan.List(No, 3)

    dPmskn.Cells(SelDtbsKsg + No, 10).Value = _

    ListPemasukan.List(No, 4)

    dPmskn.Cells(SelDtbsKsg + No, 11).Value = _

    ListPemasukan.List(No, 5)

    dPmskn.Cells(SelDtbsKsg + No, 12).Value = _

    ListPemasukan.List(No, 6)

    Next No

    ThisWorkbook.Save

    Call UserForm_Activate

    End Sub

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    . HWHUDQJ DQ FKV FCVC O CUCN & DGTKMWV KPK ECTC GFKV FCVC O CUCNFGPI CP RTKO GT MG[ RCFC TCPI G - QFG+VGO 5GV V+VGO &CVC 5J GGVU &CVCDCUG+VGO 5GV - F+VPO V+VGO &CVC 4 CPI G - QFG+VGO 5GV E - F+VPO ( KPF . KUV2 GO CUWMCP . KUV 0 Q A. QQM+P ZN8 CNWGUE 1 HHUGV 8 CNWG E 1 HHUGV 8 CNWG A. KUV2 GO CUWMCP . KUV 0 Q . QI KMCP[ C , KMC PKNCK RCFC MQNQO NKUVDQZ PQO QT UCO C FGPI CPPKNCK RCFC UJ GGV FCVCDCUGKVGO TCPI G - QFG+VGO O CMC PKNCK RCFC MQNQO ( E 1 HHUGV 8 CNWG FKVCO DCJ PKNCK RCFC NKUVDQM MQNQO PQO QT . KUV2 GO CUWMCP . KUV 0 Q 5GWORCO C PKNCK RCFC MQNQO ( FCP MQNQO NKUVDQZ PQO T CFCNCJ DKNCPI CP FGUKO CN O CMC MQFKPI P[ C UGFKMKVDGTWDCJ O GPLCFKE 1 HHUGV 8 CNWG %FDN E 1 HHUGV 8 CNWG %FDN . KUV2 GO CUWMCP . KUV 0 Q

    M XGPV RCFC VQO DQN DCTW

    2 TKXCVG 5WD E$ CTWA%NKEM %CNN 7 UGT( QTO A# EVKXCVG PF 5WD

    M XGPV RCFC VQO DQN MGNWCT

    2 TKXCVG 5WD EO - GNWCTA%NKEM 7 PNQCF / G PF 5WD

    7 PVWM MGVGTCPI CP MQFG O CETQ [ CPI DGNWO RGTPCJFKDCJ CU CMCP FKVGTCPI MCP RCFC DCI KCP CMJ KT UGVCNCJUGNGUCK RGO DWCVCP VTCPUCMUK RGPI WTCPI CP UVQM KVGO 2 GPI GNWCTCP

    / / $ 7 # 6 64 # 0 5# - 5+ 2 0 ) 7 4 # 0 ) # 0 561 - +6 / 2 0 ) . 7 # 4 # 0

    * GCFGT RGPI WTCPI CP UVQM KVGP

  • 3/20/15 A3 ~ Mata Arjuna

    10/21irembun.blogspot.com/2015/01/a3.html

    Header digunakan sebagai data bantu untuk database

    pengurangan stok item, pada field headr pengurangan

    stok item terdiri dari

    NOMOR TRANSAKSI

    TANGGAL TRANSAKSI

    KODE PELANGGAN dan NAMA PELANGGAN

    dan YANG TERAKHIR NAMA USER

    Tidak ada koding pada bagian header pengurangan

    stok item ini.

    7.2 Database pengurangan stok item

    Database pengurangan stok item memuat informasi

    dengan mengacu pada header pengurangan stok item,

    pada fiel database penambahn stok item terdiri dari

    NOMOR TRANSAKSI

    TANGGAL TRANSAKSI

    KODE PELANGGAN dan NAMA PELANGGAN

    NAMA USER

    NOMOR URUT ITEM

    KODE ITEM

    NAMA ITEM

    SPECIFIKASI ITEM

    MERK ITEM

    SATUAN ITEM

    dan JUMLAH keluar STOK ITEM

    Untu lebih jelasnya silahkan buka Folder IPA-2 file APG-

    6

    Buka sheet HeaderPengeluaran dan

    DatabasePengeluaran

    keluar kejendela visual basic editor, temukan desig

    userform "FormPengeluaran"

    7.2.a Design userform pengurangan stok item

  • 3/20/15 A3 ~ Mata Arjuna

    11/21irembun.blogspot.com/2015/01/a3.html

    7.3 Ngoding userform pengurangan stok item

    7.3.a Event userform aktif

    Pada bagian userform aktif ada beberapa syrata agar

    transaksi pengurangan stok berjalan

    1. Sudah terdapat databse item

    2. Sudah ada database Pelanggan

    Jika kedua database ini kosong atau salah satunya

    kosong maka transaksi pengurangan stok item tidak

    akan berjalan.

    Private Sub UserForm_Activate()

    Set dtitem = Sheets("DatabaseItem")

    Set dPelanggan =

    Sheets("DatabasePelanggan")

    If dtitem.Range("A3").Value = "" Then

    MsgBox " Tidak ada data dalam database

    item", _

    vbOKOnly, "Databse item kosong"

    Unload Me

    Exit Sub

    ElseIf dPelanggan.Range("A3").Value = "" Then

    MsgBox " Tidak ada data dalam database

    Pelanggan", _

    vbOKOnly, "Databse item Pelanggan"

  • 3/20/15 A3 ~ Mata Arjuna

    12/21irembun.blogspot.com/2015/01/a3.html

    Unload Me

    Exit Sub

    End If

    Call iTemKode

    Call PelangganKode

    Call Headertransaksi

    tTanggal.Value = Format(Date, " dd mm yyyy ")

    End Sub

    7.3.b Pengisian combobox kode item

    Sub iTemKode()

    Set Iparengan = Sheets("DatabaseItem")

    For Each sIparengan In

    Iparengan.Range("KodeItem")

    With Me.cKode

    .ColumnCount = 2

    .AddItem sIparengan.Value

    .List(.ListCount - 1, 1) = sIparengan.Offset(0,

    1).Value

    End With

    Next sIparengan

    End Sub

    7.3.c Pengisian combobox kode Pelanggan

    Sub PelangganKode()

    Set Iparengan = Sheets("DatabasePelanggan")

    For Each sIparengan In

    Iparengan.Range("KodePelanggan")

    With Me.cKodePelanggan

    .ColumnCount = 2

    .AddItem sIparengan.Value

    .List(.ListCount - 1, 1) = sIparengan.Offset(0,

    1).Value

    End With

    Next sIparengan

    End Sub

    7.3.d Event pembuatan header transaksi

    Sub Headertransaksi()

  • 3/20/15 A3 ~ Mata Arjuna

    13/21irembun.blogspot.com/2015/01/a3.html

    ListPengeluaran.Clear

    With ListPengeluaran

    .AddItem

    .ColumnCount = 7

    .BoundColumn = 7

    .List(.ListCount - 1, 0) = "NO"

    .List(.ListCount - 1, 1) = "KODE"

    .List(.ListCount - 1, 2) = "NAMA"

    .List(.ListCount - 1, 3) = "SPECIFIKASI"

    .List(.ListCount - 1, 4) = "MERK"

    .List(.ListCount - 1, 5) = "SATUAN"

    .List(.ListCount - 1, 6) = "QTY"

    .ColumnWidths = 35 & ";" & 55 & ";" & 80 & ";" &

    80 & ";" & 70 & ";" & 60 & ";" & 60

    End With

    End Sub

    7.3.e Kolom textbox QTY hany bisa diisi angka 0-9

    Private Sub tQty_KeyPress(ByVal KeyAscii _

    As MSForms.ReturnInteger)

    Select Case KeyAscii

    Case Asc("0") To Asc("9")

    Case Else

    KeyAscii = 0

    End Select

    End Sub

    7.3.f Event kolom textbox kode item, Membuat lookup

    database item kedalam kolom nama dan specifikasi

    Private Sub cKode_Change()

    Set dtitem = Sheets("DatabaseItem")

    Set KeyRangeA = dtitem.Range("KodeItem")

    Set c = KeyRangeA.Find(cKode.Value, _

    LookIn:=xlValues)

    tNama.Value = c.Offset(0, 1).Value

    Tspecifikasi.Value = c.Offset(0, 2).Value

    tQty.SetFocus

    End Sub

    7.3.g Event kolom textbox kode Pelanggan, Membuat

  • 3/20/15 A3 ~ Mata Arjuna

    14/21irembun.blogspot.com/2015/01/a3.html

    lookup database Pelanggan kedalam kolom nama

    Pelanggan

    Private Sub cKodePelanggan_Change()

    Set dtPelanggan =

    Sheets("DatabasePelanggan")

    Set KeyRangeA =

    dtPelanggan.Range("KodePelanggan")

    Set c =

    KeyRangeA.Find(cKodePelanggan.Value, _

    LookIn:=xlValues)

    tNamaPelanggan.Value = c.Offset(0, 1).Value

    End Sub

    7.3.h Event pada tombol tambah/input, membuat list

    pada listbox dengan list database item yang keluar

    Private Sub cmTambah_Click()

    Set tItemData = Sheets("DatabaseItem")

    Set rgKodeBrg = tItemData.Range("KodeItem")

    If tItemData.Range("A3").Value = "" Then

    Exit Sub

    End If

    For CekItem = 1 To ListPengeluaran.ListCount -

    1

    If ListPengeluaran.List(CekItem, 1) =

    cKode.Value Then

    MsgBox " Item " &

    ListPengeluaran.List(CekItem, 2) & _

    " sudah ada", vbOKOnly, "Item Barang Sudah

    Masuk"

    ListPengeluaran.SetFocus

    ListPengeluaran.ListIndex = CekItem

    Exit Sub

    End If

    Next CekItem

    Set c = rgKodeBrg.Find(cKode.Value,

    LookIn:=xlValues)

    CekStok = c.Offset(0, 5).Value - tQty.Value

    If CekStok < 0 Then

    MsgBox "Stok " & tNama.Value & " yang

    tersedia " _

    & c.Offset(0, 5).Value, vbOKOnly, "Stok Barang

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    Tidak Ada"

    tQty.Value = ""

    tQty.SetFocus

    Exit Sub

    End If

    With ListPengeluaran

    .AddItem

    .List(.ListCount - 1, 0) =

    ListPengeluaran.ListCount - 1

    .List(.ListCount - 1, 1) = cKode.Value

    .List(.ListCount - 1, 2) = tNama.Value

    .List(.ListCount - 1, 3) = Tspecifikasi.Value

    .List(.ListCount - 1, 4) = c.Offset(0, 3).Value

    .List(.ListCount - 1, 5) = c.Offset(0, 4).Value

    .List(.ListCount - 1, 6) = tQty.Value

    End With

    tQty.Value = ""

    End Sub

    . HWHUDQJ DQSedikit perbedaan pada event pengeluaran item

    dengan pemasukan item, jika pada pemasukan item

    tidak terdapat cek stok item, maka pada pengeluaran

    item terdapat cek item stok. Cek item stok dilakukan

    agar tidak terjadi minus stok item dalam database

    item.

    Set tItemData = Sheets("DatabaseItem")

    'Primare key pada range "kodeItem"

    Set rgKodeBrg = tItemData.Range("KodeItem")

    'Pencarian nilai primer key pada range "KodeItem" yang

    sesuai dengan nilai textbox "cKode"

    Set c = rgKodeBrg.Find(cKode.Value, LookIn:=xlValues)

    'Cekstok adalah nilai pada sheet "DatabaseItem" kolom

    F dikurangi nilai textbox "tQty"

    CekStok = c.Offset(0, 5).Value - tQty.Value

    'Cekstok tidak boleh bernilai kurag dari "0", jika nilai

    kurang dari "0" maka keluar dari prosedur

    If CekStok < 0 Then

    MsgBox "Stok " & tNama.Value & " yang tersedia " _

    & c.Offset(0, 5).Value, vbOKOnly, "Stok Barang Tidak

    Ada"

    tQty.Value = ""

  • 3/20/15 A3 ~ Mata Arjuna

    16/21irembun.blogspot.com/2015/01/a3.html

    tQty.SetFocus

    Exit Sub

    End If

    7.3.i Event pada tombol hapus list pada listbox dengan

    list database item yang keluar

    Private Sub cmHapus_Click()

    If ListPengeluaran.ListIndex < 1 Then

    MsgBox "Pilih nomor item yang akan dihapus",

    _

    vbOKOnly, "Pilih Nomor Item"

    ListPengeluaran.SetFocus

    Exit Sub

    Else

    ListPengeluaran.RemoveItem

    (ListPengeluaran.ListIndex)

    End If

    For NoItem = 1 To ListPengeluaran.ListCount -

    1

    ListPengeluaran.List(NoItem, 0) = NoItem

    Next NoItem

    End Sub

    7.3.j Event pada tombol simpan transaksi

    pengurangan stok item

    Private Sub cSimpan_Click()

    Set tItemData = Sheets("DatabaseItem")

    Set hPmskn = Sheets("HeaderPengeluaran")

    Set dPmskn = Sheets("DatabasePengeluaran")

    If cKodePelanggan.Value = "" Then

    cKodePelanggan.SetFocus

    Exit Sub

    ElseIf tNomor.Value = "" Then

    tNomor.SetFocus

    Exit Sub

    End If

    If ListPengeluaran.ListCount < 2 Then

    MsgBox "Tidak ada transaksi pengurangan

    stok item", _

    vbOKOnly + vbCritical, "Belum Ada Transaksi"

  • 3/20/15 A3 ~ Mata Arjuna

    17/21irembun.blogspot.com/2015/01/a3.html

    Exit Sub

    End If

    Set KdItnm = tItemData.Range("KodeItem")

    SelHdrKsg =

    hPmskn.Cells(hPmskn.Rows.Count, "A"). _

    End(xlUp).Offset(0, 0).Row

    SelDtbsKsg =

    dPmskn.Cells(dPmskn.Rows.Count, "A"). _

    End(xlUp).Offset(0, 0).Row

    hPmskn.Cells(SelHdrKsg + 1, 1).Value = tNomor

    hPmskn.Cells(SelHdrKsg + 1, 2).Value =

    tTanggal.Value

    hPmskn.Cells(SelHdrKsg + 1, 3).Value =

    cKodePelanggan.Value

    hPmskn.Cells(SelHdrKsg + 1, 4).Value =

    tNamaPelanggan.Value

    hPmskn.Cells(SelHdrKsg + 1, 5).Value =

    Sheets("DatabaseUser").Range("E3").Value

    For No = 1 To ListPengeluaran.ListCount - 1

    Set c = KdItnm.Find(ListPengeluaran.List(No, 1),

    _

    LookIn:=xlValues)

    c.Offset(0, 5).Value = c.Offset(0, 5).Value - _

    ListPengeluaran.List(No, 6)

    dPmskn.Cells(SelDtbsKsg + No, 1).Value =

    tNomor

    dPmskn.Cells(SelDtbsKsg + No, 2).Value =

    tTanggal.Value

    dPmskn.Cells(SelDtbsKsg + No, 3).Value =

    cKodePelanggan.Value

    dPmskn.Cells(SelDtbsKsg + No, 4).Value =

    tNamaPelanggan.Value

    dPmskn.Cells(SelDtbsKsg + No, 5).Value = _

    Sheets("DatabaseUser").Range("E3").Value

    dPmskn.Cells(SelDtbsKsg + No, 6).Value = _

    ListPengeluaran.List(No, 0)

    dPmskn.Cells(SelDtbsKsg + No, 7).Value = _

    ListPengeluaran.List(No, 1)

    dPmskn.Cells(SelDtbsKsg + No, 8).Value = _

    ListPengeluaran.List(No, 2)

    dPmskn.Cells(SelDtbsKsg + No, 9).Value = _

    ListPengeluaran.List(No, 3)

    dPmskn.Cells(SelDtbsKsg + No, 10).Value = _

    ListPengeluaran.List(No, 4)

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    dPmskn.Cells(SelDtbsKsg + No, 11).Value = _

    ListPengeluaran.List(No, 5)

    dPmskn.Cells(SelDtbsKsg + No, 12).Value = _

    ListPengeluaran.List(No, 6)

    Next No

    ThisWorkbook.Save

    Call UserForm_Activate

    End Sub

    7.3.k Event pada tombol baru

    Private Sub cBaru_Click()

    Call UserForm_Activate

    End Sub

    7.3.k Event pada tombol keluar

    Private Sub cmKeluar_Click()

    Unload Me

    End Sub

    0 HP EXDW I RUP FHWDN

    Membuat form cetak untuk membuat cetakan pada

    masing masing database

    8.1 Membuat form cetak database item

    Buka File APG-7

    Cetak databse item mempunyai dua opsi, opsi pertama

    cetak seluruh databse item, opsi kedua cetak databse

    item yang mempunyai stok dibawah item dibawah 5 .

    Berikut ini adalah koding yang dipakai dalam membuat

    form cetak database item

  • 3/20/15 A3 ~ Mata Arjuna

    19/21irembun.blogspot.com/2015/01/a3.html

    8.1.a Koding tombol cetak

    Private Sub cmdCetak_Click()

    Set sDtbnt = Sheets("DatabaseUser")

    Set sDtiTem = Sheets("DatabaseItem")

    Set dCtk = Sheets("Cetak")

    Set fltrKrt = sDtiTem.Range("O2:Q3")

    dCtk.PageSetup.Orientation = xlLandscape

    dCtk.PageSetup.PrintArea = "$A:$F"

    dCtk.Cells.Clear

    dCtk.Columns("A:A").ColumnWidth = 10

    dCtk.Rows("7:7").RowHeight = 5

    dCtk.Range("A1").Value =

    sDtbnt.Range("J3").Value

    dCtk.Range("A2").Value =

    sDtbnt.Range("K3").Value _

    & " " & sDtbnt.Range("L3").Value & " " &

    sDtbnt.Range("M3").Value

    dCtk.Range("A4").Value = "DATABASE ITEM"

    If Oall.Value = True Then

    dCtk.Range("A5").Value = "Cetak : Seluruh

    databse"

    sDtiTem.Range("O3:Q3").ClearContents

    ElseIf oMin.Value = True Then

    dCtk.Range("A5").Value = "Cetak : Stok

    minimal"

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    sDtiTem.Range("O3:Q3").ClearContents

    sDtiTem.Range("Q3").Value = "

  • 3/20/15 A3 ~ Mata Arjuna

    21/21irembun.blogspot.com/2015/01/a3.html

    Private Sub cmdKeluar_Click()

    Unload Me

    End Sub