1
FORM DATA BARANG Dim Db As Database Dim RsBarang As Recordset Sub Koneksi() 'Koneksi Database Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsBarang = Db.OpenRecordset("Table_Stok") Private Sub cmdbatal_click() Call mati diperbaiki", vbexclamation, "Error" txtcari.setfocus Private Sub cmdedit_click() If txtkode.text = Empty Or txtnabar.text = Empty Or txtharga.text = Empty Or txtstok.text = Empty Then MsgBox "Tidak Ada data yang akan tanya = MsgBox("Benar Kode Barang " & txtkode.text & ", Ini Akan Diperbaiki?", vbquestion + vbyesno, "Warning") If tanya = vbyes Then RsBarang.Edit RsBarang!Kode_Barang = txtkode.text RsBarang!Nama_Barang = txtnabar.text RsBarang!Harga = txtharga.text RsBarang!Stok = txtstok.text RsBarang.Update Data_Barang.Refresh GridBarang.Refresh MsgBox "Data Berhasil Dirubah", vbinformation, "Pesan" MsgBox "Batal Edit Data", vbexclamation, "Warning" 2
Private Sub cmdhapus_click() If txtkode.text = Empty Or txtnabar.text = Empty Or txtharga.text = Empty Or txtstok.text = Empty Then MsgBox "Tidak Ada data yang akan dihapus", vbexclamation, "Error" txtcari.setfocus tanya = MsgBox("Benar Data Kode Barang " & txtkode.text & ", Ini Akan DiHapus?", vbquestion + vbyesno, "Pesan") If tanya = vbyes Then Call Koneksi RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text RsBarang.Delete MsgBox "Berhasil Dihapus", vbinformation, "Pesan" Data_Barang.Refresh GridBarang.Refresh MsgBox "Batal Penghapusan Data", vbexclamation, "Error" Private Sub cmdkeluar_click() Unload Me Private Sub cmdsimpan_click() If txtkode.text = "" Or txtnabar.text = "" Or txtharga.text = "" Or txtstok.text = "" Then MsgBox "Pengisian Belum Lengkap", vbcritical, "Error" RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text If RsBarang.NoMatch Then RsBarang.AddNew 'Sesuaikan Nama Field di Database dan Di Form RsBarang!Kode_Barang = txtkode.text RsBarang!Nama_Barang = txtnabar.text RsBarang!Harga = txtharga.text RsBarang!Stok = txtstok.text 3
RsBarang.Update MsgBox "Berhasil disimpan", vbinformation, "Pesan" Data_Barang.Refresh GridBarang.Refresh MsgBox "Kode Barang Sudah Ada", vbexclamation, "Pesan" txtkode.text = "" txtkode.setfocus Private Sub cmdtambah_click() Call Hidup Sub Hidup() frameinput.enabled = True cmdsimpan.enabled = True cmdedit.enabled = True cmdhapus.enabled = True txtkode.setfocus framecari.enabled = True Sub mati() frameinput.enabled = False cmdsimpan.enabled = False cmdhapus.enabled = False cmdedit.enabled = False framecari.enabled = False Private Sub Form_Load() Call Koneksi Call mati Sub Bersih() txtkode.text = "" txtnabar.text = "" txtharga.text = "" txtstok.text = "" txtcari.text = "" Private Sub txtcari_change() RsBarang.Index = "idx_kode" 4
RsBarang.Seek "=", txtcari.text If RsBarang.NoMatch Then txtkode.text = Empty txtnabar.text = Empty txtharga.text = Empty txtstok.text = Empty Exit Sub txtkode.text = RsBarang!Kode_Barang txtnabar.text = RsBarang!Nama_Barang txtharga.text = RsBarang!Harga txtstok.text = RsBarang!Stok MsgBox "Kode Ditemukan", vbinformation, "warning" Private Sub txtnabar_change() 'Awal Kata Capital txtnabar.text = StrConv(txtnabar, vbpropercase) SendKeys "{end}" 5
Form Pemasok Barang Dim Db As Database Dim RsPemasok As Recordset Sub Koneksi() Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsPemasok = Db.OpenRecordset("Tabel_Pemasok") Private Sub cmdbatal_click() Call mati Private Sub cmdedit_click() If txtidpemasok.text = Empty Or txtnmpemasok.text = Empty Or txtalamat.text = Empty Or _ txtkota.text = Empty Or txtpropinsi.text = Empty Or txttlp.text = Empty Or txtfax.text = Empty Then MsgBox "Tidak Ada data yang akan diperbaiki", vbexclamation, "Error" txtcari.setfocus vbquestion + vbyesno, "Warning") If tanya = vbyes Then tanya = MsgBox("Benar ID Pemasok " & txtidpemasok.text & ", Ini Akan Diperbaiki?", RsPemasok.Edit RsPemasok!ID_Pemasok = txtidpemasok RsPemasok!Nama_pemasok = txtnmpemasok RsPemasok!Alamat = txtalamat RsPemasok!Kota = txtkota.text RsPemasok!Provinsi = txtpropinsi.text RsPemasok!No_Telp = txttlp.text RsPemasok!Fax = txtfax.text RsPemasok.Update Data_Pemasok.Refresh GridPemasok.Refresh MsgBox "Data Berhasil Dirubah", vbinformation, "Pesan" MsgBox "Batal Edit Data", vbexclamation, "Warning" 6
Private Sub cmdhapus_click() If txtidpemasok.text = Empty Or txtnmpemasok.text = Empty Or txtalamat.text = Empty Or _ txtkota.text = Empty Or txtpropinsi.text = Empty Or txttlp.text = Empty Or txtfax.text = Empty Then MsgBox "Tidak Ada data yang akan dihapus", vbexclamation, "Error" txtcari.setfocus tanya = MsgBox("Benar Data ID Pemasok " & txtidpemasok.text & ", Ini Akan DiHapus?", vbquestion + vbyesno, "pesan") If tanya = vbyes Then Call Koneksi RsPemasok.Index = "idx_pemasok" RsPemasok.Seek "=", txtidpemasok.text RsPemasok.Delete MsgBox "Berhasil Dihapus", vbinformation, "Pesan" Data_Pemasok.Refresh GridPemasok.Refresh MsgBox "Batal Penghapusan Data", vbexclamation, "Error" Private Sub cmdkeluar_click() Unload Me Private Sub cmdsimpan_click() RsPemasok.Index = "idx_pemasok" RsPemasok.Seek "=", txtidpemasok.text If RsPemasok.NoMatch Then RsPemasok.AddNew 'Sesuaikan Nama Field di Database dan Di Form RsPemasok!ID_Pemasok = txtidpemasok RsPemasok!Nama_pemasok = txtnmpemasok RsPemasok!Alamat = txtalamat RsPemasok!Kota = txtkota.text RsPemasok!Provinsi = txtpropinsi.text RsPemasok!No_Telp = txttlp.text RsPemasok!Fax = txtfax.text RsPemasok.Update MsgBox "Berhasil disimpan", vbinformation, "Pesan" Data_Pemasok.Refresh 7
GridPemasok.Refresh MsgBox "ID Pemasok Sudah Ada", vbexclamation, "Pesan" Sub Bersih() txtidpemasok.text = "" txtnmpemasok.text = "" txtalamat.text = "" txtkota.text = "" txtpropinsi.text = "" txttlp.text = "" txtfax.text = "" Private Sub cmdtambah_click() Call Hidup Private Sub Form_Load() Call Koneksi Call mati Sub mati() cmdsimpan.enabled = False cmdhapus.enabled = False cmdedit.enabled = False cmdhapus.enabled = False frminput.enabled = False Frame2.Enabled = False Sub Hidup() cmdsimpan.enabled = True cmdhapus.enabled = True cmdedit.enabled = True cmdhapus.enabled = True Frame2.Enabled = True frminput.enabled = True txtidpemasok.setfocus Private Sub txtcari_change() RsPemasok.Index = "idx_pemasok" RsPemasok.Seek "=", txtcari.text If RsPemasok.NoMatch Then txtidpemasok.text = Empty txtnmpemasok.text = Empty txtalamat.text = Empty txtkota.text = Empty 8
txtpropinsi.text = Empty txttlp.text = Empty txtfax.text = Empty Exit Sub txtidpemasok.text = RsPemasok!ID_Pemasok txtnmpemasok.text = RsPemasok!Nama_pemasok txtalamat.text = RsPemasok!Alamat txtkota.text = RsPemasok!Kota txtpropinsi.text = RsPemasok!Provinsi txttlp.text = RsPemasok!No_Telp txtfax.text = RsPemasok!Fax 9
FORM DATA PELANGGAN Dim Db As Database Dim RsPelanggan As Recordset Sub Koneksi() Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsPelanggan = Db.OpenRecordset("Tabel_Pelanggan") 10 Private Sub cmdbatal_click() Call mati Private Sub cmdedit_click() If txtid_pelanggan.text = Empty Or txtnama_pelanggan.text = Empty Or txtalamat.text = Empty Or_ txtno_tlp.text = Empty Or txtfax.text = Empty Then MsgBox "Tidak Ada data yang akan diperbaiki", vbexclamation, "Error" txtcari.setfocus tanya = MsgBox("Benar ID Pelanggan " & txtid_pelanggan.text & ", Ini Akan Diperbaiki?", vbquestion + vbyesno, "Warning") If tanya = vbyes Then RsPelanggan.Edit RsPelanggan!ID_Pelanggan = txtid_pelanggan.text RsPelanggan!Nama_Pelanggan = txtnama_pelanggan.text RsPelanggan!Alamat = txtalamat.text RsPelanggan!No_Telp = txtno_tlp.text RsPelanggan!Fax = txtfax.text RsPelanggan.Update Data_Pelangga.Refresh GridPelanggan.Refresh MsgBox "Data Berhasil Dirubah", vbinformation, "Pesan" MsgBox "Batal Edit Data", vbexclamation, "Warning"
Private Sub cmdhapus_click() If txtidpemasok.text = Empty Or txtnmpemasok.text = Empty Or txtalamat.text = Empty Or _ txttlp.text = Empty Or txtfax.text = Empty Then MsgBox "Tidak Ada data yang akan dihapus", vbexclamation, "Error" txtcari.setfocus tanya = MsgBox("Benar Data ID Pelanggan " & txtid_pelanggan.text & ", Ini Akan DiHapus?", vbquestion + vbyesno, "pesan") If tanya = vbyes Then Call Koneksi RsPelanggan.Index = "idx_pelanggan" RsPelanggan.Seek "=", txtid_pelanggan.text RsPelanggan.Delete MsgBox "Berhasil Dihapus", vbinformation, "Pesan" Data_Pelangga.Refresh GridPelanggan.Refresh MsgBox "Batal Penghapusan Data", vbexclamation, "Error" Private Sub cmdkeluar_click() Unload Me Private Sub cmdsimpan_click() RsPelanggan.Index = "idx_pelanggan" RsPelanggan.Seek "=", txtid_pelanggan.text If RsPelanggan.NoMatch Then RsPelanggan.AddNew 'Sesuaikan Nama Field di Database dan Di Form RsPelanggan!ID_Pelanggan = txtid_pelanggan.text RsPelanggan!Nama_Pelanggan = txtnama_pelanggan.text RsPelanggan!Alamat = txtalamat.text RsPelanggan!No_Telp = txtno_tlp.text RsPelanggan!Fax = txtfax.text RsPelanggan.Update MsgBox "Berhasil disimpan", vbinformation, "Pesan" Data_Pelangga.Refresh GridPelanggan.Refresh 11
MsgBox "ID Pelanggan Sudah Ada", vbexclamation, "Pesan" Sub Bersih() txtid_pelanggan.text = "" txtnama_pelanggan.text = "" txtalamat.text = "" txtno_tlp.text = "" txtfax.text = "" txtcari.text = "" Private Sub cmdtambah_click() Call Hidup Private Sub Form_Load() Call Koneksi Call mati Sub mati() cmdsimpan.enabled = False cmdhapus.enabled = False cmdedit.enabled = False cmdhapus.enabled = False frameinput.enabled = False framecari.enabled = False Sub Hidup() cmdsimpan.enabled = True cmdhapus.enabled = True cmdedit.enabled = True cmdhapus.enabled = True framecari.enabled = True frameinput.enabled = True txtid_pelanggan.setfocus Private Sub txtcari_change() RsPelanggan.Index = "idx_pelanggan" RsPelanggan.Seek "=", txtcari.text If RsPelanggan.NoMatch Then txtid_pelanggan.text = Empty txtnama_pelanggan.text = Empty txtalamat.text = Empty 12
txtno_tlp.text = Empty txtfax.text = Empty Exit Sub txtid_pelanggan.text = RsPelanggan!ID_Pelanggan txtnama_pelanggan.text = RsPelanggan!Nama_Pelanggan txtalamat.text = RsPelanggan!Alamat txtno_tlp.text = RsPelanggan!No_Telp txtfax.text = RsPelanggan!Fax MsgBox "ID Pelanggan Ditemukan", vbinformation, "Perhatian" FORM DATA PEMBELIAN Dim Db As Database Dim RsPemasok As Recordset Dim RsPembelian As Recordset Dim RsBarang As Recordset Sub Koneksi() Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsPemasok = Db.OpenRecordset("Tabel_Pemasok") Set RsPembelian = Db.OpenRecordset("Tabel_Pembelian") Set RsBarang = Db.OpenRecordset("Table_Stok") 13
Sub mati() cmdsimpan.enabled = False frameinput.enabled = False Sub Hidup() cmdsimpan.enabled = True frameinput.enabled = True Private Sub Auto_Nomor() Dim Urutan As String Dim Kodebaru As String With RsPembelian If.BOF Then txtnomasuk.text = "PB-001" Exit Sub.MoveLast Kodebaru =!No_Masuk Kodebaru = Val(Right(Kodebaru, 3)) Kodebaru = Kodebaru + 1 Kodebaru = "PB-" + Format(Kodebaru, "000") txtnomasuk.text = Kodebaru End With Private Sub cmbdisc_click() Dim Diskon As Integer If txtjumlah.text = "" Or txtharga.text = "" Then MsgBox "Ada Data yang belum diinputkan", vbcritical, "Err" Diskon = Val(txtharga_sement.Text) * Val((cmbdisc.Text) / 100) txttotal.text = txtharga_sement.text - Diskon Private Sub cmbidpemasok_click() RsPemasok.Index = "idx_pemasok" RsPemasok.Seek "=", cmbidpemasok.text If RsPemasok.NoMatch Then MsgBox "ID Pemasok Tidak Ditemukan", vbexclamation, "Error" cmbidpemasok.text = Empty cmbidpemasok.setfocus TxtNamaPemasok.Text = RsPemasok!Nama_pemasok 14
Private Sub cmdbatal_click() Call mati Private Sub cmdexit_click() Unload Me Private Sub cmdsimpan_click() If txtharga.text = "" Or txttotal.text = "" Then MsgBox "Data Pembelian Belum Lengkap", vbcritical, "Error" RsPembelian.Index = "idx_nomasuk" RsPembelian.Seek "=", txtnomasuk.text If RsPembelian.NoMatch Then RsPembelian.AddNew 'Sesuaikan Nama Field di Database dan Di Form RsPembelian!No_Masuk = txtnomasuk.text RsPembelian!Tgl_Pembelian = LblTanggal.Caption RsPembelian!ID_Pemasok = cmbidpemasok.text RsPembelian!Nama_pemasok = TxtNamaPemasok.Text RsPembelian!Kode_Barang = txtkode.text RsPembelian!Nama_Barang = txtnabar.text RsPembelian!Jumlah = txtjumlah.text RsPembelian!Harga = txtharga.text RsPembelian!Discount = cmbdisc.text RsPembelian!Total_Harga = txttotal.text RsPembelian.Update Koneksi RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text If Not RsBarang.NoMatch Then RsBarang.Edit Stok = RsBarang!Stok RsBarang!Stok = Val(txtjumlah.Text) + Val(Stok) RsBarang.Update MsgBox "Berhasil disimpan", vbinformation, "Pesan" Data_Pembelian.Refresh GridPemelian.Refresh Call mati MsgBox "Ada Kesalahan dalam penyimpanan", vbexclamation, "Pesan" 15
Private Sub cmdtambah_click() Call Hidup Call Auto_Nomor Call Kode LblTanggal.Caption = Format(Date, "DD-MMMM-YYYY") Private Sub Form_Load() Call Diskon Call mati Call Koneksi Sub Kode() RsPemasok.Index = "idx_pemasok" If RsPemasok.NoMatch Then MsgBox "DATA PEMASOK TIDAK ADA", vbokonly + vbcritical, "Error" cmbidpemasok.clear Do Until RsPemasok.EOF cmbidpemasok.additem RsPemasok![ID_Pemasok] RsPemasok.MoveNext Loop RsPemasok.MoveFirst Private Sub TxtDiskon_Change() Dim Diskon As Integer Diskon = Val(TxtDiskon.Text) / 100 * Val(txtharga.Text) txttotal.text = Val(txtharga.Text) * Val(txtjumlah.Text) - Diskon Private Sub txtjumlah_change() txtharga_sement.text = Val(txtjumlah.Text) * Val(txtharga.Text) Private Sub txtkode_keypress(keyascii As Integer) If KeyAscii = 13 Then If txtkode.text = Empty Then txtkode.setfocus: Exit Sub RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text If RsBarang.NoMatch Then 16
MsgBox "Kode Barang Tidak Ditemukan", vbexclamation, "Error" txtkode.text = Empty txtkode.setfocus txtnabar.text = RsBarang!Nama_Barang txtharga.text = RsBarang!Harga txtjumlah.setfocus Sub Diskon() cmbdisc.additem "0" cmbdisc.additem "5" cmbdisc.additem "10" cmbdisc.additem "15" Sub Bersih() txtnomasuk.text = "" LblTanggal.Caption = "" cmbidpemasok.text = "" TxtNamaPemasok.Text = "" txtkode.text = "" txtnabar.text = "" txtjumlah.text = "" txtharga.text = "" txtharga_sement.text = "" cmbdisc.text = "" txttotal.text = "" 17
Form Penjualan Barang Dim Db As Database Dim RsPelanggan As Recordset Dim RsPenjualan As Recordset Dim RsBarang As Recordset Sub Koneksi() Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsPelanggan = Db.OpenRecordset("Tabel_Pelanggan") Set RsPenjualan = Db.OpenRecordset("Tabel_Penjualan") Set RsBarang = Db.OpenRecordset("Table_Stok") Sub mati() cmdsimpan.enabled = False frameinput.enabled = False Sub Hidup() cmdsimpan.enabled = True frameinput.enabled = True Private Sub Auto_Nomor() Dim Urutan As String Dim Kodebaru As String With RsPenjualan If.BOF Then txtnota.text = "PJ-001" Exit Sub.MoveLast Kodebaru =!No_Nota Kodebaru = Val(Right(Kodebaru, 3)) Kodebaru = Kodebaru + 1 18
Kodebaru = "PJ-" + Format(Kodebaru, "000") txtnota.text = Kodebaru End With Private Sub cmbid_pelanggan_click() RsPelanggan.Index = "idx_pelanggan" RsPelanggan.Seek "=", cmbid_pelanggan.text If RsPelanggan.NoMatch Then MsgBox "ID Pelanggan Tidak Ditemukan", vbexclamation, "Error" cmbidpelanggan.text = Empty cmbidpelanggan.setfocus txtnama_pelanggan.text = RsPelanggan!Nama_Pelanggan Private Sub cmbpot_click() Dim Potongan As Integer If txtjumlah.text = "" Or txtharga.text = "" Then MsgBox "Ada Data yang belum diinputkan", vbcritical, "Err" Potongan = Val(txtharga_sement.Text) * Val((cmbpot.Text) / 100) txttotal.text = txtharga_sement.text - Potongan Private Sub cmekeluar_click() Unload Me Private Sub cmdbatal_click() Call mati Private Sub cmdsimpan_click() If txtharga.text = "" Or txttotal.text = "" Then MsgBox "Data Penjualan Belum Lengkap", vbcritical, "Error" 19
RsPenjualan.Index = "idx_nota" RsPenjualan.Seek "=", txtnota.text If RsPenjualan.NoMatch Then RsPenjualan.AddNew 'Sesuaikan Nama Field di Database dan Di Form RsPenjualan!No_Nota = txtnota.text RsPenjualan!Tgl_Penjualan = txttanggal.text RsPenjualan!ID_Pelanggan = cmbid_pelanggan.text RsPenjualan!Nama_Pelanggan = txtnama_pelanggan.text RsPenjualan!Kode_Barang = txtkode.text RsPenjualan!Nama_Barang = txtnabar.text RsPenjualan!Jumlah = txtjumlah.text RsPenjualan!Harga = txtharga.text RsPenjualan!Potongan = cmbpot.text RsPenjualan!Total_Harga = txttotal.text RsPenjualan.Update Koneksi RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text If Not RsBarang.NoMatch Then RsBarang.Edit Stok = RsBarang!Stok RsBarang!Stok = Val(Stok) - Val(txtjumlah.Text) RsBarang.Update MsgBox "Data Berhasil Disimpan", vbinformation, "Pesan" Data_Penjualan.Refresh GridPenjualan.Refresh Call mati MsgBox "Ada Kesalahan dalam penyimpanan", vbexclamation, "Pesan" Private Sub cmdtambah_click() Call Hidup Call Auto_Nomor Call Kode txttanggal.text = Format(Date, "DD-MMMM-YYYY") Private Sub Form_Load() Call Potongan 20
Call mati Call Koneksi Sub Kode() RsPelanggan.Index = "idx_pelanggan" If RsPelanggan.NoMatch Then MsgBox "DATA PELANGGAN TIDAK ADA", vbokonly + vbcritical, "Error" cmbid_pelanggan.clear Do Until RsPelanggan.EOF cmbid_pelanggan.additem RsPelanggan![ID_Pelanggan] RsPelanggan.MoveNext Loop RsPelanggan.MoveFirst Sub Potongan() cmbpot.additem "0" cmbpot.additem "5" cmbpot.additem "10" cmbpot.additem "20" Private Sub txtjumlah_change() txtharga_sement.text = Val(txtjumlah.Text) * Val(txtharga.Text) Private Sub txtkode_keypress(keyascii As Integer) If KeyAscii = 13 Then If txtkode.text = Empty Then txtkode.setfocus: Exit Sub RsBarang.Index = "idx_kode" RsBarang.Seek "=", txtkode.text If RsBarang.NoMatch Then MsgBox "Kode Barang Tidak Ditemukan", vbexclamation, "Error" txtkode.text = Empty txtkode.setfocus txtnabar.text = RsBarang!Nama_Barang txtharga.text = RsBarang!Harga txtjumlah.setfocus Sub Bersih() 21
txtnota.text = "" txttanggal.text = "" cmbid_pelanggan.text = "" txtnama_pelanggan.text = "" txtkode.text = "" txtnabar.text = "" txtjumlah.text = "" txtharga.text = "" txtharga_sement.text = "" cmbpot.text = "" txttotal.text = "" 22
MENU UTAMA Kode Menu Utama Private Sub mnubarang_click() frmbarang.show Private Sub mnubeli_click() frmpembelian.show Private Sub mnuclose_click() End Private Sub mnujual_click() frmpenjualan.show Private Sub mnulapbeli_click() crlaporan.reportfilename = App.Path + "\LaporanPembelian.rpt" crlaporan.discardsaveddata = True crlaporan.windowstate = crptmaximized crlaporan.action = 1 23
Private Sub mnulapbrg_click() crlaporan.reportfilename = App.Path + "\LaporanBarang.rpt" crlaporan.discardsaveddata = True crlaporan.windowstate = crptmaximized crlaporan.action = 1 Private Sub mnulapjual_click() crlaporan.reportfilename = App.Path + "\LaporanPenjualan.rpt" crlaporan.discardsaveddata = True crlaporan.windowstate = crptmaximized crlaporan.action = 1 Private Sub mnulapmasok_click() crlaporan.reportfilename = App.Path + "\LaporanPemasok.rpt" crlaporan.discardsaveddata = True crlaporan.windowstate = crptmaximized crlaporan.action = 1 Private Sub mnulapplg_click() crlaporan.reportfilename = App.Path + "\LaporanPelanggan.rpt" crlaporan.discardsaveddata = True crlaporan.windowstate = crptmaximized crlaporan.action = 1 Private Sub mnupelanggan_click() frmpelanggan.show Private Sub mnupemasok_click() frmpemasok.show 24
Contoh Laporan Stok Barang Contoh Laporan Pelanggan 25