A2 ~ Mata Arjuna.pdf

Embed Size (px)

Citation preview

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    0 ( 0 %8 $ 7 $ 3 / ,. $ 6 , * 8 $ 1 * 0 ( 1 < ,$ 3 . $ 1 : 2 5 . %2 2 .

    2 CFC WO WOP[ C CRNKMCUK I WFCPI VGTFKTK FCTK DGDGTCRCFCVCDCUG UGRGTVK FCVCDCUG KVGO FCVCDCUG RGNCPI I CPFCVCDCUG UWRRNKGT FCVCDCUG RGPCO DCJ CP UVQM KVGO FCVCDCUG RGPI WTCPI CP KVGO FCVCDCUG WUGT UGMCNKI WUFCVC CFO KP FCVCDCUG TGVWTP RGPCO DCJ CP KVGO FCVCDCUG TGVWTP RGPI WTCPI CP KVGO FKVCO DCJ VGO RCVWPVWM EGVCM NCRQTCP FCP VGO RCV CMUGU O GPW WVCO CQJ [ C UCVW NCI K FCVC DCPVW$ WMC ( QNFGT +2 # HKNG # 2 )

    0 ( 0 %8 $ 7 $ 7$ %$ 6 ( ,7( 0

    $ 7 - # ( +. # 2 )

    &CVCDCUG KVGO DGTKUK GPVTK FCVC PCO C PCO C KVGO[ CPI CFC RCFC I WFCPI

    6GO RCV HKGNF GPVTK PCO C PCO C KVGO VGTFCRCV RCFCTCPI G # UCO RCK ( UGFCPI MCP VGO RCV HKNVGT VGTFCRCVRCFC TCPI G 1 FCP 2 VGO RCV HKNVGT O GTWRCMCPVGO RCV FKO CPC RGP[ CTKPI CP FCVC DGTFCUTMCP MQFGDCTCPI FCP PCO C DCTCPI

    C &GHKPG PCO G CVCW PCO C TCPI G

    0 CO C TCPI G WPVWM MQFG CVCW TCPI G # - QFG+VGO 1 ( ( 5 6 &CVCDCUG+VGO # %1 7 0 6# &CVCDCUG+VGO # # PCO C TCPI G WPVWM PCO C CVCW TCPI G $ 0 CO C+VGO

  • 3/20/15 A2 ~ Mata Arjuna

    2/34irembun.blogspot.com/2015/01/a2.html

    =OFFSET(DatabaseItem!$B$2;1;0;COUNTA(DatabaseItem!$B:$B)-1;1)

    nama range untuk seluruh database item "

    DatabaseItem " :

    =OFFSET(DatabaseItem!$A$2;0;0;COUNTA(DatabaseItem!$A:$A)-1;6)

    2.2 Membuat design userform entri nama nama item

    2.2.a Ngoding userform

    2.2.b Ngoding event Userform aktif

    Private Sub UserForm_Activate()

    Set dtitem = Sheets("DatabaseItem")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

    If dtitem.FilterMode Then

    'Tampilkan seluruh data dalam worksheet

    databse item

    dtitem.ShowAllData

    End If

    cSatuan.AddItem "Pcs"

    cSatuan.AddItem "Kaleng"

    cSatuan.AddItem "Kotak"

    cSatuan.AddItem "Pak"

    cSatuan.AddItem "Lusin"

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

    MsgBox "Database item kosong"

    Exit Sub

    End If

    Call tampilitem

    End Sub

    2.2.c Ngoding event database kosong

  • 3/20/15 A2 ~ Mata Arjuna

    3/34irembun.blogspot.com/2015/01/a2.html

    Sub DataKosong()

    Set dtitem = Sheets("DatabaseItem")

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

    MsgBox "Database item kosong"

    Exit Sub

    End If

    End Sub

    2.2.e Ngoding event tombol tambah item

    Private Sub cmTambah_Click()

    Set dtitem = Sheets("DatabaseItem")

    SelKosong = dtitem.Cells(dtitem.Rows.Count,

    "A"). _

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

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf tSpecifikasi.Value = "" Then

    MsgBox "Kolom kosong"

    tSpecifikasi.SetFocus

    Exit Sub

    ElseIf tMerk.Value = "" Then

    MsgBox "Kolom kosong"

    tMerk.SetFocus

    Exit Sub

    ElseIf cSatuan.Value = "" Then

    MsgBox "Kolom kosong"

    cSatuan.SetFocus

    Exit Sub

    End If

    With dtitem.Range("KodeItem")

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

    If c Is Nothing Then

    Else

    MsgBox "Maaf kode item " & tKode.Value & "

    sudah ada", _

    vbOKOnly + vbCritical, "Kode item ganda"

  • 3/20/15 A2 ~ Mata Arjuna

    4/34irembun.blogspot.com/2015/01/a2.html

    Exit Sub

    End If

    End With

    With dtitem

    .Cells(SelKosong + 1, 1).Value = tKode.Value

    .Cells(SelKosong + 1, 2).Value = tNama.Value

    .Cells(SelKosong + 1, 3).Value =

    tSpecifikasi.Value

    .Cells(SelKosong + 1, 4).Value = tMerk.Value

    .Cells(SelKosong + 1, 5).Value = cSatuan.Value

    .Cells(SelKosong + 1, 6).Value = 0

    End With

    ThisWorkbook.Save

    Call tampilitem

    End Sub

    2.2.f Ngoding event tombol edit item

    Private Sub cmEdit_Click()

    Set dtitem = Sheets("DatabaseItem")

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf tSpecifikasi.Value = "" Then

    MsgBox "Kolom kosong"

    tSpecifikasi.SetFocus

    Exit Sub

    ElseIf tMerk.Value = "" Then

    MsgBox "Kolom kosong"

    tMerk.SetFocus

    Exit Sub

    ElseIf cSatuan.Value = "" Then

    MsgBox "Kolom kosong"

    cSatuan.SetFocus

    Exit Sub

    End If

    Set KeyRangeA = dtitem.Range("KodeItem")

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

  • 3/20/15 A2 ~ Mata Arjuna

    5/34irembun.blogspot.com/2015/01/a2.html

    LookIn:=xlValues) 'primer key

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

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

    c.Offset(0, 3).Value = tMerk.Value

    c.Offset(0, 4).Value = cSatuan.Value

    c.Offset(0, 0).Value = tKode.Value

    ThisWorkbook.Save

    Call tampilitem

    End Sub

    2.2.g Ngoding event tombol hapus item

    Private Sub cmHapus_Click()

    Set dtitem = Sheets("DatabaseItem")

    Set KeyRangeA = dtitem.Range("KodeItem")

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

    LookIn:=xlValues) 'primer key

    c.Offset(0, 1).Delete Shift:=xlUp

    c.Offset(0, 2).Delete Shift:=xlUp

    c.Offset(0, 3).Delete Shift:=xlUp

    c.Offset(0, 4).Delete Shift:=xlUp

    c.Offset(0, 5).Delete Shift:=xlUp

    c.Offset(0, 0).Delete Shift:=xlUp

    ThisWorkbook.Save

    Call tampilitem

    End Sub

    2.2.h Ngoding event tombol pencarian data

    berdasarkan kode item

    Private Sub cmCkode_Click()

    'dtitem adalah worksheet DatabaseItem

    Set dtitem = Sheets("DatabaseItem")

    'iPaData adalah range DatabaseItem

    Set iPaData = dtitem.Range("DatabaseItem")

    'TmptFltr adalah range L2:N3 worksheet

    DatabaseItem

    Set TmptFltr = dtitem.Range("O2:P3")

    'Pencarian pada range Range B

    With dtitem.Range("KodeItem")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

  • 3/20/15 A2 ~ Mata Arjuna

    6/34irembun.blogspot.com/2015/01/a2.html

    If c Is Nothing Then

    lCari.Clear

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

    Else

    dtitem.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtitem.Range("O3").Value = "*" & tKode.Value &

    "*"

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

    'Memanggil Sub Procedure tampilitem

    Call tampilitem

    End If

    End With

    End Sub

    2.2.i Ngoding event tombol pencarian data

    berdasarkan nama item

    Private Sub cmCnama_Click()

    'dtitem adalah worksheet DatabaseItem

    Set dtitem = Sheets("DatabaseItem")

    'iPaData adalah range DatabaseItem

    Set iPaData = dtitem.Range("DatabaseItem")

    'TmptFltr adalah range L2:N3 worksheet

    DatabaseItem

    Set TmptFltr = dtitem.Range("O2:P3")

    'Pencarian pada range Range B

    With dtitem.Range("NamaItem")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

    If c Is Nothing Then

    lCari.Clear

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

    Else

  • 3/20/15 A2 ~ Mata Arjuna

    7/34irembun.blogspot.com/2015/01/a2.html

    dtitem.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtitem.Range("P3").Value = "*" & tNama.Value &

    "*"

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

    'Memanggil Sub Procedure tampilitem

    Call tampilitem

    End If

    End With

    End Sub

    2.2.j Ngoding event lookup pada tetbox kode item

    Private Sub tKode_Change()

    Set dtitem = Sheets("DatabaseItem")

    On Error Resume Next

    Set KeyRangeA = dtitem.Range("KodeItem")

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

    LookIn:=xlValues) 'primer key

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

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

    tMerk.Value = c.Offset(0, 3).Value

    cSatuan.Value = c.Offset(0, 4).Value

    TStok.Value = c.Offset(0, 5).Value

    End Sub

    2.2.k ngoding event menampilkan data item pada

    listbox

    Sub tampilitem()

    'dtitem adalah worksheet databse item

    Set dtitem = Sheets("DatabaseItem")

    'Menghapus ListBox

    lCari.Clear

    With lCari

    'Menambahkan judul kolom ListBox

    .AddItem

    ' 3 kolom

    .ColumnCount = 3

  • 3/20/15 A2 ~ Mata Arjuna

    8/34irembun.blogspot.com/2015/01/a2.html

    ' 3 apa au ah

    .BoundColumn = 3

    'Judul ListBox kolom pertama

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

    'Judul ListBox kolom kedua

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

    'Judul ListBox kolom ketiga

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

    'Lebar masing-masing kolom dalam ListBox

    .ColumnWidths = 55 & ";" & 60 & ";" & 90

    End With

    With dtitem

    'rgTampil adalah range kode barang yang

    ditampilkan

    Set rgTampil = dtitem.Range("KodeItem"). _

    SpecialCells(xlCellTypeVisible)

    'sTampil merupakan pengulangan setiap sel

    dalam rgTampil

    For Each sTampil In rgTampil

    With lCari

    'Memasukkan item ke dalam ListBox

    .AddItem sTampil.Value

    'No record berdasarkan no baris sTampil

    dikurangi 2

    .List(.ListCount - 1, 0) = sTampil.Row - 2

    'Kode barang berdasarkan nilai dalam sTampil

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

    'Nama barang 1 kolom di sebelah kanan

    sTampil

    .List(.ListCount - 1, 2) = sTampil.Offset(0,

    1).Value

    End With

    Next sTampil

    End With

    'ListBox menjadi fokus

    lCari.SetFocus

    End Sub

    2.2.l Ngoding event listbox cari diklik

    Private Sub lCari_Click()

    'Jika baris ListBox yang di-klik bukan baris judul

  • 3/20/15 A2 ~ Mata Arjuna

    9/34irembun.blogspot.com/2015/01/a2.html

    kolom

    If lCari.ListIndex > 0 Then

    'Nilai tKode sama dengan nilai ListBox kolom

    KODE

    tKode.Value = lCari.List(lCari.ListIndex, 1)

    End If

    End Sub

    2.2.m Ngoding event userform ditutup

    Private Sub UserForm_QueryClose(Cancel As

    Integer, CloseMode As Integer)

    Set dtitem = Sheets("DatabaseItem")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

    If dtitem.FilterMode Then

    'Tampilkan seluruh data dalam worksheet

    databse item

    dtitem.ShowAllData

    End If

    dtitem.Range("O3:P3").ClearContents

    End Sub

    2.2.n Ngoding event tombol keluaR

    Private Sub cmKeluar_Click()

    Unload Me

    End Sub

    3. MEMBUAT ENTRI DATABASE PELANGGAN

    BUKA FILE APG-2

    Seharusnya jika sudah bisa membuat database item

    maka membuat database pelanggan tidaklah sulit

    atau tidak ada perlu yang diterangkan, namun karena

    ini sebuah buku maka dengan terpaksa saya akan

    mengulang kode databse item kedalam databse

    pelanggan.

  • 3/20/15 A2 ~ Mata Arjuna

    10/34irembun.blogspot.com/2015/01/a2.html

    Nama range yang digunakan dalam entri database

    pelanggan

    3.1 Define name atau nama Range untuk database

    pelanggan "DatabasePelanggan" :

    =OFFSET(DatabasePelanggan!$A$2;0;0;COUNTA(DatabasePelanggan!$A:$A)-1;6)

    Range untuk kode pelanggan "KodePelanggan" :

    =OFFSET(DatabasePelanggan!$A$2;1;0;COUNTA(DatabasePelanggan!$A:$A)-2;1)

    Range untuk nama pelanggan "NamaPelanggan" :

    =OFFSET(DatabasePelanggan!$B$2;1;0;COUNTA(DatabasePelanggan!$B:$B)-1;1)

    3.2 Desig userform entri database pelanggan

    3.3 Ngoding userform entri database pelanggan

    3.3.a Ngoding event userform active

    Private Sub UserForm_Activate()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

    If dtpelanggan.FilterMode Then

  • 3/20/15 A2 ~ Mata Arjuna

    11/34irembun.blogspot.com/2015/01/a2.html

    'Tampilkan seluruh data dalam worksheet

    databse pelanggan

    dtpelanggan.ShowAllData

    End If

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

    MsgBox "Database pelanggan kosong"

    Exit Sub

    End If

    Call tampilPelanggan

    End Sub

    3.3.b Ngoding event data kosong

    Sub DataKosong()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

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

    MsgBox "Database pelanggan kosong"

    Exit Sub

    End If

    End Sub

    3.3.c Ngoding event pencarian berdasarkan kode

    pelanggan

    Private Sub cmCkode_Click()

    'dtpelanggan adalah worksheet

    DatabasePelanggan

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    'iPaData adalah range DatabasePelanggan

    Set iPaData =

    dtpelanggan.Range("DatabasePelanggan")

    'TmptFltr adalah range L2:N3 worksheet

    DatabasePelanggan

    Set TmptFltr = dtpelanggan.Range("O2:P3")

    'Pencarian pada range Range B

    With dtpelanggan.Range("KodePelanggan")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

    If c Is Nothing Then

    lCari.Clear

  • 3/20/15 A2 ~ Mata Arjuna

    12/34irembun.blogspot.com/2015/01/a2.html

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

    Else

    dtpelanggan.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtpelanggan.Range("O3").Value = "*" &

    tKode.Value & "*"

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

    'Memanggil Sub Procedure tampilPelanggan

    Call tampilPelanggan

    End If

    End With

    End Sub

    3.3.d Ngoding event pencarian berdasarkan nama

    pelanggan

    Private Sub cmCnama_Click()

    'dtpelanggan adalah worksheet

    DatabasePelanggan

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    'iPaData adalah range DatabasePelanggan

    Set iPaData =

    dtpelanggan.Range("DatabasePelanggan")

    'TmptFltr adalah range L2:N3 worksheet

    DatabasePelanggan

    Set TmptFltr = dtpelanggan.Range("O2:P3")

    'Pencarian pada range Range B

    With dtpelanggan.Range("NamaPelanggan")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

    If c Is Nothing Then

    lCari.Clear

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

  • 3/20/15 A2 ~ Mata Arjuna

    13/34irembun.blogspot.com/2015/01/a2.html

    Else

    dtpelanggan.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtpelanggan.Range("P3").Value = "*" &

    tNama.Value & "*"

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

    'Memanggil Sub Procedure tampilPelanggan

    Call tampilPelanggan

    End If

    End With

    End Sub

    3.3.e Ngoding event tombol tambah

    Private Sub cmTambah_Click()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    SelKosong =

    dtpelanggan.Cells(dtpelanggan.Rows.Count,

    "A"). _

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

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf talamat.Value = "" Then

    MsgBox "Kolom kosong"

    talamat.SetFocus

    Exit Sub

    ElseIf tkontak.Value = "" Then

    MsgBox "Kolom kosong"

    tkontak.SetFocus

    Exit Sub

    ElseIf Temail.Value = "" Then

    MsgBox "Kolom kosong"

  • 3/20/15 A2 ~ Mata Arjuna

    14/34irembun.blogspot.com/2015/01/a2.html

    Temail.SetFocus

    Exit Sub

    End If

    With dtPelanggan.Range("KodePelanggan")

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

    If c Is Nothing Then

    Else

    MsgBox "Maaf kode Pelanggan " & tKode.Value

    & " sudah ada", _

    vbOKOnly + vbCritical, "Kode Pelanggan ganda"

    Exit Sub

    End If

    End With

    With dtpelanggan

    .Cells(SelKosong + 1, 1).Value = tKode.Value

    .Cells(SelKosong + 1, 2).Value = tNama.Value

    .Cells(SelKosong + 1, 3).Value = talamat.Value

    .Cells(SelKosong + 1, 4).Value = tkontak.Value

    .Cells(SelKosong + 1, 5).Value = Temail.Value

    .Cells(SelKosong + 1, 6).Value = tTelpon.Value

    End With

    ThisWorkbook.Save

    Call tampilPelanggan

    End Sub

    3.3.f Ngoding event tombol edit

    Private Sub cmEdit_Click()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf talamat.Value = "" Then

    MsgBox "Kolom kosong"

    talamat.SetFocus

    Exit Sub

    ElseIf tkontak.Value = "" Then

  • 3/20/15 A2 ~ Mata Arjuna

    15/34irembun.blogspot.com/2015/01/a2.html

    MsgBox "Kolom kosong"

    tkontak.SetFocus

    Exit Sub

    ElseIf Temail.Value = "" Then

    MsgBox "Kolom kosong"

    Temail.SetFocus

    Exit Sub

    End If

    Set KeyRangeA =

    dtpelanggan.Range("KodePelanggan")

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

    LookIn:=xlValues) 'primer key

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

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

    c.Offset(0, 3).Value = tkontak.Value

    c.Offset(0, 4).Value = Temail.Value

    c.Offset(0, 5).Value = tTelpon.Value

    c.Offset(0, 0).Value = tKode.Value

    ThisWorkbook.Save

    Call tampilPelanggan

    End Sub

    3.3.g Ngoding event tombol hapus

    Private Sub cmHapus_Click()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    Set KeyRangeA =

    dtpelanggan.Range("KodePelanggan")

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

    LookIn:=xlValues) 'primer key

    c.Offset(0, 1).Delete Shift:=xlUp

    c.Offset(0, 2).Delete Shift:=xlUp

    c.Offset(0, 3).Delete Shift:=xlUp

    c.Offset(0, 4).Delete Shift:=xlUp

    c.Offset(0, 5).Delete Shift:=xlUp

    c.Offset(0, 0).Delete Shift:=xlUp

    ThisWorkbook.Save

    Call tampilPelanggan

    End Sub

    Private Sub tKode_Change()

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

  • 3/20/15 A2 ~ Mata Arjuna

    16/34irembun.blogspot.com/2015/01/a2.html

    On Error Resume Next

    Set KeyRangeA =

    dtpelanggan.Range("KodePelanggan")

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

    LookIn:=xlValues) 'primer key

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

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

    tkontak.Value = c.Offset(0, 3).Value

    Temail.Value = c.Offset(0, 4).Value

    tTelpon.Value = c.Offset(0, 5).Value

    End Sub

    3.3.h Ngoding event tampilPelanggan

    Sub tampilPelanggan()

    'dtpelanggan adalah worksheet databse

    pelanggan

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    'Menghapus ListBox

    lCari.Clear

    With lCari

    'Menambahkan judul kolom ListBox

    .AddItem

    ' 3 kolom

    .ColumnCount = 3

    ' 3 apa au ah

    .BoundColumn = 3

    'Judul ListBox kolom pertama

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

    'Judul ListBox kolom kedua

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

    'Judul ListBox kolom ketiga

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

    'Lebar masing-masing kolom dalam ListBox

    .ColumnWidths = 55 & ";" & 60 & ";" & 90

    End With

    With dtpelanggan

    'rgTampil adalah range kode barang yang

    ditampilkan

    Set rgTampil =

    dtpelanggan.Range("KodePelanggan"). _

  • 3/20/15 A2 ~ Mata Arjuna

    17/34irembun.blogspot.com/2015/01/a2.html

    SpecialCells(xlCellTypeVisible)

    'sTampil merupakan pengulangan setiap sel

    dalam rgTampil

    For Each sTampil In rgTampil

    With lCari

    'Memasukkan pelanggan ke dalam ListBox

    .AddItem sTampil.Value

    'No record berdasarkan no baris sTampil

    dikurangi 2

    .List(.ListCount - 1, 0) = sTampil.Row - 2

    'Kode barang berdasarkan nilai dalam sTampil

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

    'Nama barang 1 kolom di sebelah kanan

    sTampil

    .List(.ListCount - 1, 2) = sTampil.Offset(0,

    1).Value

    End With

    Next sTampil

    End With

    'ListBox menjadi fokus

    lCari.SetFocus

    End Sub

    3.3.i Ngoding event ketika listbox cari diklik

    Private Sub lCari_Click()

    'Jika baris ListBox yang di-klik bukan baris judul

    kolom

    If lCari.ListIndex > 0 Then

    'Nilai tKode sama dengan nilai ListBox kolom

    KODE

    tKode.Value = lCari.List(lCari.ListIndex, 1)

    End If

    End Sub

    3.3.j Ngoding event userform ditutup

    Private Sub UserForm_QueryClose(Cancel As

    Integer, CloseMode As Integer)

    Set dtpelanggan =

    Sheets("DatabasePelanggan")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

  • 3/20/15 A2 ~ Mata Arjuna

    18/34irembun.blogspot.com/2015/01/a2.html

    If dtpelanggan.FilterMode Then

    'Tampilkan seluruh data dalam worksheet

    databse pelanggan

    dtpelanggan.ShowAllData

    End If

    dtpelanggan.Range("O3:P3").ClearContents

    End Sub

    3.3.k Ngoding event tombol keluar

    Private Sub cmKeluar_Click()

    Unload Me

    End Sub

    4. MEMBUAT ENTRI DATABASE SUPPLIER

    BUKA FILE APG-3

    Seharusnya jika sudah bisa membuat database item

    maka membuat database supplier tidaklah sulit atau

    tidak ada perlu yang diterangkan, namun karena ini

    sebuah buku maka dengan terpaksa saya akan

    mengulang kode databse item kedalam databse

    supplier.

    Nama range yang digunakan dalam entri database

  • 3/20/15 A2 ~ Mata Arjuna

    19/34irembun.blogspot.com/2015/01/a2.html

    supplier

    4.1 Define name atau nama Range

    Range untuk database supplier "Databasesupplier" :

    =OFFSET(Databasesupplier!$A$2;0;0;COUNTA(Databasesupplier!$A:$A)-1;6)

    Range untuk kode supplier "Kodesupplier" :

    =OFFSET(Databasesupplier!$A$2;1;0;COUNTA(Databasesupplier!$A:$A)-2;1)

    Range untuk nama supplier "Namasupplier" :

    =OFFSET(Databasesupplier!$B$2;1;0;COUNTA(Databasesupplier!$B:$B)-1;1)

    4.2 Desig userform entri database supplier

    4.3 Ngoding userform entri database supplier

    4.3.a Ngoding event userform active

    Private Sub UserForm_Activate()

    Set dtsupplier = Sheets("Databasesupplier")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

    If dtsupplier.FilterMode Then

    'Tampilkan seluruh data dalam worksheet

    databse supplier

    dtsupplier.ShowAllData

    End If

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

  • 3/20/15 A2 ~ Mata Arjuna

    20/34irembun.blogspot.com/2015/01/a2.html

    MsgBox "Database supplier kosong"

    Exit Sub

    End If

    Call tampilsupplier

    End Sub

    4.3.b Ngoding event data kosong

    Sub DataKosong()

    Set dtsupplier = Sheets("Databasesupplier")

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

    MsgBox "Database supplier kosong"

    Exit Sub

    End If

    End Sub

    4.3.c Ngoding event pencarian berdasarkan kode

    supplier

    Private Sub cmCkode_Click()

    'dtsupplier adalah worksheet Databasesupplier

    Set dtsupplier = Sheets("Databasesupplier")

    'iPaData adalah range Databasesupplier

    Set iPaData =

    dtsupplier.Range("Databasesupplier")

    'TmptFltr adalah range L2:N3 worksheet

    Databasesupplier

    Set TmptFltr = dtsupplier.Range("O2:P3")

    'Pencarian pada range Range B

    With dtsupplier.Range("Kodesupplier")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

    If c Is Nothing Then

    lCari.Clear

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

    Else

    dtsupplier.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtsupplier.Range("O3").Value = "*" & tKode.Value

    & "*"

  • 3/20/15 A2 ~ Mata Arjuna

    21/34irembun.blogspot.com/2015/01/a2.html

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

    'Memanggil Sub Procedure tampilsupplier

    Call tampilsupplier

    End If

    End With

    End Sub

    4.3.d Ngoding event pencarian berdasarkan nama

    supplier

    Private Sub cmCnama_Click()

    'dtsupplier adalah worksheet Databasesupplier

    Set dtsupplier = Sheets("Databasesupplier")

    'iPaData adalah range Databasesupplier

    Set iPaData =

    dtsupplier.Range("Databasesupplier")

    'TmptFltr adalah range L2:N3 worksheet

    Databasesupplier

    Set TmptFltr = dtsupplier.Range("O2:P3")

    'Pencarian pada range Range B

    With dtsupplier.Range("Namasupplier")

    'c merupakan sel hasil pencarian

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

    'Jika tidak sel berisi kata kunci Range B

    If c Is Nothing Then

    lCari.Clear

    'Keluar dari Sub Procedure

    Exit Sub

    'Jika ada sel berisi kata kunci Range B

    Else

    dtsupplier.Range("O3:P3").ClearContents

    'Memasukkan Range B ke dalam sel M3

    dtsupplier.Range("P3").Value = "*" &

    tNama.Value & "*"

    'Penyaringan data menggunakan Advanced

    Filter

    iPaData.AdvancedFilter Action:=xlFilterInPlace,

    _

    CriteriaRange:=TmptFltr

  • 3/20/15 A2 ~ Mata Arjuna

    22/34irembun.blogspot.com/2015/01/a2.html

    'Memanggil Sub Procedure tampilsupplier

    Call tampilsupplier

    End If

    End With

    End Sub

    4.3.e Ngoding event tombol tambah

    Private Sub cmTambah_Click()

    Set dtsupplier = Sheets("Databasesupplier")

    SelKosong =

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

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

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf talamat.Value = "" Then

    MsgBox "Kolom kosong"

    talamat.SetFocus

    Exit Sub

    ElseIf tkontak.Value = "" Then

    MsgBox "Kolom kosong"

    tkontak.SetFocus

    Exit Sub

    ElseIf Temail.Value = "" Then

    MsgBox "Kolom kosong"

    Temail.SetFocus

    Exit Sub

    End If

    With dtSupplier.Range("KodeSupplier")

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

    If c Is Nothing Then

    Else

    MsgBox "Maaf kode Supplier " & tKode.Value & "

    sudah ada", _

    vbOKOnly + vbCritical, "Kode Supplier ganda"

    Exit Sub

    End If

  • 3/20/15 A2 ~ Mata Arjuna

    23/34irembun.blogspot.com/2015/01/a2.html

    End With

    With dtsupplier

    .Cells(SelKosong + 1, 1).Value = tKode.Value

    .Cells(SelKosong + 1, 2).Value = tNama.Value

    .Cells(SelKosong + 1, 3).Value = talamat.Value

    .Cells(SelKosong + 1, 4).Value = tkontak.Value

    .Cells(SelKosong + 1, 5).Value = Temail.Value

    .Cells(SelKosong + 1, 6).Value = tTelpon.Value

    End With

    ThisWorkbook.Save

    Call tampilsupplier

    End Sub

    4.3.f Ngoding event tombol edit

    Private Sub cmEdit_Click()

    Set dtsupplier = Sheets("Databasesupplier")

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf talamat.Value = "" Then

    MsgBox "Kolom kosong"

    talamat.SetFocus

    Exit Sub

    ElseIf tkontak.Value = "" Then

    MsgBox "Kolom kosong"

    tkontak.SetFocus

    Exit Sub

    ElseIf Temail.Value = "" Then

    MsgBox "Kolom kosong"

    Temail.SetFocus

    Exit Sub

    End If

    Set KeyRangeA =

    dtsupplier.Range("Kodesupplier")

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

    LookIn:=xlValues) 'primer key

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

  • 3/20/15 A2 ~ Mata Arjuna

    24/34irembun.blogspot.com/2015/01/a2.html

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

    c.Offset(0, 3).Value = tkontak.Value

    c.Offset(0, 4).Value = Temail.Value

    c.Offset(0, 5).Value = tTelpon.Value

    c.Offset(0, 0).Value = tKode.Value

    ThisWorkbook.Save

    Call tampilsupplier

    End Sub

    4.3.g Ngoding event tombol hapus

    Private Sub cmHapus_Click()

    Set dtsupplier = Sheets("Databasesupplier")

    Set KeyRangeA =

    dtsupplier.Range("Kodesupplier")

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

    LookIn:=xlValues) 'primer key

    c.Offset(0, 1).Delete Shift:=xlUp

    c.Offset(0, 2).Delete Shift:=xlUp

    c.Offset(0, 3).Delete Shift:=xlUp

    c.Offset(0, 4).Delete Shift:=xlUp

    c.Offset(0, 5).Delete Shift:=xlUp

    c.Offset(0, 0).Delete Shift:=xlUp

    ThisWorkbook.Save

    Call tampilsupplier

    End Sub

    Private Sub tKode_Change()

    Set dtsupplier = Sheets("Databasesupplier")

    On Error Resume Next

    Set KeyRangeA =

    dtsupplier.Range("Kodesupplier")

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

    LookIn:=xlValues) 'primer key

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

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

    tkontak.Value = c.Offset(0, 3).Value

    Temail.Value = c.Offset(0, 4).Value

    tTelpon.Value = c.Offset(0, 5).Value

    End Sub

    4.3.h Ngoding event tampilsupplier

    Sub tampilsupplier()

  • 3/20/15 A2 ~ Mata Arjuna

    25/34irembun.blogspot.com/2015/01/a2.html

    'dtsupplier adalah worksheet databse supplier

    Set dtsupplier = Sheets("Databasesupplier")

    'Menghapus ListBox

    lCari.Clear

    With lCari

    'Menambahkan judul kolom ListBox

    .AddItem

    ' 3 kolom

    .ColumnCount = 3

    ' 3 apa au ah

    .BoundColumn = 3

    'Judul ListBox kolom pertama

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

    'Judul ListBox kolom kedua

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

    'Judul ListBox kolom ketiga

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

    'Lebar masing-masing kolom dalam ListBox

    .ColumnWidths = 55 & ";" & 60 & ";" & 90

    End With

    With dtsupplier

    'rgTampil adalah range kode barang yang

    ditampilkan

    Set rgTampil =

    dtsupplier.Range("Kodesupplier"). _

    SpecialCells(xlCellTypeVisible)

    'sTampil merupakan pengulangan setiap sel

    dalam rgTampil

    For Each sTampil In rgTampil

    With lCari

    'Memasukkan supplier ke dalam ListBox

    .AddItem sTampil.Value

    'No record berdasarkan no baris sTampil

    dikurangi 2

    .List(.ListCount - 1, 0) = sTampil.Row - 2

    'Kode barang berdasarkan nilai dalam sTampil

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

    'Nama barang 1 kolom di sebelah kanan

    sTampil

    .List(.ListCount - 1, 2) = sTampil.Offset(0,

    1).Value

    End With

    Next sTampil

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    End With

    'ListBox menjadi fokus

    lCari.SetFocus

    End Sub

    4.3.i Ngoding event ketika listbox cari diklik

    Private Sub lCari_Click()

    'Jika baris ListBox yang di-klik bukan baris judul

    kolom

    If lCari.ListIndex > 0 Then

    'Nilai tKode sama dengan nilai ListBox kolom

    KODE

    tKode.Value = lCari.List(lCari.ListIndex, 1)

    End If

    End Sub

    4.3.j Ngoding event userform ditutup

    Private Sub UserForm_QueryClose(Cancel As

    Integer, CloseMode As Integer)

    Set dtsupplier = Sheets("Databasesupplier")

    'Jika data yang ditampilkan merupakan hasil

    penyaringan

    If dtsupplier.FilterMode Then

    'Tampilkan seluruh data dalam worksheet

    databse supplier

    dtsupplier.ShowAllData

    End If

    dtsupplier.Range("O3:P3").ClearContents

    End Sub

    4.3.k Ngoding event tombol keluar

    Private Sub cmKeluar_Click()

    Unload Me

    End Sub

    $ 7$ %$ 6 ( 8 6 ( 5

    Buka file IPG-4

  • 3/20/15 A2 ~ Mata Arjuna

    27/34irembun.blogspot.com/2015/01/a2.html

    Database user digunakan untuk membuat daftar

    nama user atau pengguna aplikasi, jadi database user

    digunakan untuk keperluan akses log in aplikasi, dalam

    kasus ini saya membuat 2 (dua) level akses, level Admin

    dan Level Karyawan.

    1. Level Admin

    Jika user log in menggunakan password Admin atau

    level Admin, maka user bisa mengakses seluruh fitur

    yang ada pada aplikasi gudang ini, hak kases tidak

    dibatasi oleh ruang dan waktu :D

    2. Level Karyawan

    Sedangkan untuk level Karywan hak akses dibatasi,

    sebatas transaksi penambahan stok item, transaksi

    pengeluaran / pengurangan stok item dan lainya

    Tambahan formula pada range F3 :

    =VLOOKUP(E3;DatabaseUser;2;FALSE)

    Tambahkan formula pada range G3 :

    =VLOOKUP(E3;DatabaseUser;3;FALSE)

    5.1 Define name atau nama Range

    Nama range yang digunakan dalam entri database

    user

    Range untuk database user "Databaseuser" :

    =OFFSET(Databaseuser!$A$2;0;0;COUNTA(Databaseuser!$A:$A)-1;3)

    Range untuk kode user "Namauser" :

    =OFFSET(Databaseuser!$A$2;1;0;COUNTA(Databaseuser!$A:$A)-2;1)

  • 3/20/15 A2 ~ Mata Arjuna

    28/34irembun.blogspot.com/2015/01/a2.html

    5.2 Desig userform entri database user

    5.3 Ngoding userform entri database user

    5.3.a Ngoding event userform active

    Private Sub UserForm_Activate()

    Set dtUser = Sheets("DatabaseUser")

    If dtUser.FilterMode Then

  • 3/20/15 A2 ~ Mata Arjuna

    29/34irembun.blogspot.com/2015/01/a2.html

    dtUser.ShowAllData

    End If

    cLevel.AddItem "Admin"

    cLevel.AddItem "Karyawan"

    cLevel.Value = "Admin"

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

    MsgBox "Database User kosong"

    Exit Sub

    End If

    Call tampilUser

    End Sub

    Sub DataKosong()

    Set dtUser = Sheets("DatabaseUser")

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

    MsgBox "Database User kosong"

    Exit Sub

    End If

    End Sub

    5.3.b Ngoding tombol tambah

    Private Sub cmTambah_Click()

    Set dtUser = Sheets("DatabaseUser")

    SelKosong = dtUser.Cells(dtUser.Rows.Count,

    "A"). _

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

    If tPassword.Value = "" Then

    MsgBox "Kolom kosong"

    tPassword.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf cLevel.Value = "" Then

    MsgBox "Kolom kosong"

    cLevel.SetFocus

    Exit Sub

    End If

    With dtUser.Range("NamaUser")

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

    If c Is Nothing Then

    Else

  • 3/20/15 A2 ~ Mata Arjuna

    30/34irembun.blogspot.com/2015/01/a2.html

    MsgBox "Maaf kode User " & tNama.Value & "

    sudah ada", _

    vbOKOnly + vbCritical, "Kode User ganda"

    Exit Sub

    End If

    End With

    With dtUser

    .Cells(SelKosong + 1, 1).Value =

    tPassword.Value

    .Cells(SelKosong + 1, 2).Value = tNama.Value

    .Cells(SelKosong + 1, 3).Value = cLevel.Value

    End With

    ThisWorkbook.Save

    Call tampilUser

    End Sub

    5.3.c Ngoding tombol edit

    Private Sub cmEdit_Click()

    Set dtUser = Sheets("DatabaseUser")

    If tPassword.Value = "" Then

    MsgBox "Kolom kosong"

    tPassword.SetFocus

    Exit Sub

    ElseIf tNama.Value = "" Then

    MsgBox "Kolom kosong"

    tNama.SetFocus

    Exit Sub

    ElseIf cLevel.Value = "" Then

    MsgBox "Kolom kosong"

    cLevel.SetFocus

    Exit Sub

    End If

    Set KeyRangeA = dtUser.Range("NamaUser")

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

    LookIn:=xlValues)

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

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

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

    ThisWorkbook.Save

    Call tampilUser

    End Sub

  • 3/20/15 A2 ~ Mata Arjuna

    31/34irembun.blogspot.com/2015/01/a2.html

    5.3.d Ngoding tombol hapus

    Private Sub cmHapus_Click()

    Set dtUser = Sheets("DatabaseUser")

    Set KeyRangeA = dtUser.Range("NamaUser")

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

    LookIn:=xlValues)

    c.Offset(0, 1).Delete Shift:=xlUp

    c.Offset(0, 2).Delete Shift:=xlUp

    c.Offset(0, 0).Delete Shift:=xlUp

    ThisWorkbook.Save

    Call tampilUser

    End Sub

    5.3.e Ngoding textbox nama

    Private Sub tNama_Change()

    Set dtUser = Sheets("DatabaseUser")

    On Error Resume Next

    Set KeyRangeA = dtUser.Range("NamaUser")

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

    LookIn:=xlValues)

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

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

    End Sub

    5.3.f Ngoding event tampilkan user

    Sub tampilUser()

    Set dtUser = Sheets("DatabaseUser")

    lCari.Clear

    With lCari

    .AddItem

    .ColumnCount = 3

    .BoundColumn = 3

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

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

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

    .ColumnWidths = 80 & ";" & 70 & ";" & 60

    End With

    With dtUser

    Set rgTampil = dtUser.Range("NamaUser"). _

  • $a0DWD$UMXQD

    LUHPEXQEORJVSRWFRPDKWPO

    SpecialCells(xlCellTypeVisible)

    For Each sTampil In rgTampil

    With lCari

    .AddItem sTampil.Value

    .List(.ListCount - 1, 0) = sTampil.Value

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

    1).Value

    .List(.ListCount - 1, 2) = sTampil.Offset(0,

    2).Value

    End With

    Next sTampil

    End With

    lCari.SetFocus

    End Sub

    5.3.g Ngoding event listbox cari saat diklik

    Private Sub lCari_Click()

    If lCari.ListIndex > 0 Then

    tNama.Value = lCari.List(lCari.ListIndex, 0)

    End If

    End Sub

    5.3.h Ngoding event tombol keluar

    Private Sub cmKeluar_Click()

    Unload Me

    End Sub

    . HWHUDQJ DQKoding macro dari pembuatan database item sampai

    database user yang belum dibahas sebelumnya

    Dalam pembuatan database item, database

    pelanggan, database supplier dan database user tidak

    ada hal baru atau tidak ada koding macro yang baru

    melainkan hanya beberapa saja diantaranya

    1 . Ngoding saat listbox cari diklik koding nomor 2.2.l

    pada database item

    Private Sub lCari_Click()

    'Jika baris ListBox yang di-klik bukan baris judul

  • 3/20/15 A2 ~ Mata Arjuna

    33/34irembun.blogspot.com/2015/01/a2.html

    kolom

    If lCari.ListIndex > 0 Then

    'Nilai tKode sama dengan nilai ListBox kolom

    KODE

    tKode.Value = lCari.List(lCari.ListIndex, 1)

    End If

    End Sub

    Kode macro "tKode.Value = lCari.List(lCari.ListIndex, 1)"

    memasukan nilai listbox kedalam nilai textbox, listbox

    terdapat 3 kolom, kolom pertama adalah "nomor"

    kolom kedua "kode" kolom ketiga adalah "nama", dalam

    koding nilai listbox kolom "kode" adalah "

    .List(.ListCount - 1, 1) = "Kode" ", jadi kode macro untuk

    memasukan nilai kolom kode pada listbox kedalam

    nilai tetxbox "tKode.Value = lCari.List(lCari.ListIndex, 1)"

    , jika yang akan dimasukan kedalam textbox kolom

    "nama" maka kodenya berubah menjadi "tKode.Value =

    lCari.List(lCari.ListIndex, 2)" , jadi dari tadi saya ngalor

    ngidul hanya mau menjelaskan seperti ini

    Kolom nomor " tKode.Value = lCari.List(lCari.ListIndex,

    0) "

    Kolom kode " tKode.Value = lCari.List(lCari.ListIndex, 1) "

    Kolom nama " tKode.Value = lCari.List(lCari.ListIndex, 2)

    " .

    2. Ngoding pada tombol tambah item , pelanggan,

    supplier, dan user anda akan menemukan fungsi

    sederhana dari IF error, perhatikan kodingnya

    If tKode.Value = "" Then

    MsgBox "Kolom kosong"

    tKode.SetFocus

    Exit Sub

    else......

    End if

    Kode tersebut berfungsi mencegah agar kolom textbox

    tidak kosong saat tombol tambah dieksekusi.

    3. Ngoding mencegah data kembar atau mencegah

    agar tidak terdapat data ganda pada range tertentu,

    lihat kodenya

  • 3/20/15 A2 ~ Mata Arjuna

    34/34irembun.blogspot.com/2015/01/a2.html

    ...............

    With dtitem.Range("KodeItem")

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

    If c Is Nothing Then

    Else

    MsgBox "Maaf kode item " & tKode.Value & "

    sudah ada", _

    vbOKOnly + vbCritical, "Kode item ganda"

    Exit Sub

    End If

    End With

    Kode tersebut akan memberikan alert ketika pada

    kolom textbox "tkode" bernilai sama dengan salah satu

    data yang ada pada range A (KodeItem), jika anda

    menghendaki pada range B (nama item) tidak boleh

    terdapat nama item sama anda tinggal rubah " With

    dtitem.Range("KodeItem") " menjadi " With

    dtitem.Range("NamaItem") " lalu kode " Set c =

    .Find(tKode.Value, LookIn:=xlValues) " menjadi " Set c =

    .Find(tNama.Value, LookIn:=xlValues) " hasilnya akan

    seperti ini

    With dtitem.Range("NamaItem")

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

    If c Is Nothing Then

    Else

    MsgBox "Maaf nama item " & tNama.Value & "

    sudah ada", _

    vbOKOnly + vbCritical, "Nama item ganda"

    Exit Sub

    End If

    End With