SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
EBOOK PANDUAN PEMROGRAMAN VISUAL BASIC
                           “PEMBUATAN APLICATION RENTAL FILM”
                                         Oleh : Yanto Naim
                                 Email : infoitbangkep@gmail.com
                                Web : www.itbangkep.wordpress.com


Petunjuk :
  1. Untuk membuat program ini, di computer anda harus terinstal :
     a. Visual Basic 6.0
     b. Crystal Report 8.5
     c. Componen tambahan : XpButton dan Icon Perintah.
     d. Disarankan system operasi yang digunakan adalah Windows XP.
  2. Buat database dengan nama dbssewafilm (databasenya ada di hal. 48).
  3. Jalankan Visual Basic, dan tambahkan komponen-komponen
     sebagai berikut :
     a. Crystal Report Control
     b. Microsoft Ado Data Control 6.0 (OLEDB)
     c. Microsoft Common Dialog Control 6.0
     d. Microsoft Data Bound List Control 6.0
     e. Microsoft DataGrid Control 6.0 (OLEDB)
     f. Microsoft DataList Control 6.0 (OLEDB)
     g. Microsoft Windows Common Control 6.0 (SP6)
     h. Microsoft Windows Common Control-2 6.0 (SP4)
     i. ucXPButton


Tampilan Microsoft Visual Basic
                                                                      Menu Utama




                                                               Aktif Form
                                                Form

                                                         Properties
                                                           Form



               Komponen




                                                            Pengetikan Listing



Tampilan Cystal Report 8.5
                                                                      Menu Utama




    Report Header                                  Report Footer

     Page Header                          Detail
           Page Footer                                Database &
                                                    Componen Crystal




                                                     1
PENGATURAN PROPERTIES ALL FORM

    Objek           Properties                 Keterangan
 Form            Name               Nama form
                 BackColor          Warna baground form
                 BorderStyle        Bingkai form
                 Caption            Judul form
                 Icon               Icon form
                 MaxButton          True, False
                 MinButton          True, False
                 Picture            Gambar baground form
                 StartUpPosition    Posisi form pada saat dijalankan
                 Visible            True, False
                 Height             Ukuran tinggi form
                 Widht              Ukuran lebar form
 TextBox         Name               Nama Textbox
                 Alignment          Posisi teks (kiri, tengah, kanan)
                 BorderStyle        Bingkai textbox
                 TabIndex           urutan index
                 MaxLenght          banyaknya karakter yang diinput
                 Text               Keterangan (dikosongkan saja)
                 ToolTipText        Catatan petunjuk
                 Visible            True, False
 Label           Name               Nama Label
                 Caption            Keterangan Label
 Frame           Name               Nama Frame
                 Caption            Keterangan Frame
 OptionButton    Name               Nama OptionButton
                 Caption            Keterangan Option
 XPButton        Name               Name Command Button
                 Caption            Keterangan Command Button
                 ColorScheme        - Pilih Custom
 ComboBox        Name               Nama Combo
 DataCombo       Name               Nama DataCombo
 UpDown          Name               Nama Updown
                 Max                Nilai tertinggi, misal : 9999
                 Min                Nilai terendah, misal : 2008
 DTPicker        Name               Nama DTPicker
 DataGrid        Name               Nama Grid
                 BorderStyle        Bingkai Grid
                 RowDividerStyle    Bingkai Garis
 CrystalReport   Name               Nama CrystalReport

Contoh : 1. Penulisan Listing – Modul1




           2. Penulisan Listing – FrmAnggota




                                                    2
Modul1 – Modul1
Public Koneksi As New ADODB.Connection
Public Rsanggota As New ADODB.Recordset
Public Rsfilm As New ADODB.Recordset
Public Rssewa As New ADODB.Recordset
Public Rskembali As New ADODB.Recordset
Public Rsbysewa As New ADODB.Recordset
Public Rskaryawan As New ADODB.Recordset
Sub BukaDatabase()
  Set Koneksi = Nothing
  Koneksi.CursorLocation = adUseClient
  Koneksi.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "dbssewafilm.mdb;jet
OLEDB:Database Password=;"
  Rsanggota.Open "[tblanggota]", Koneksi, adOpenDynamic, adLockOptimistic
  Rsfilm.Open "[tblfilm]", Koneksi, adOpenDynamic, adLockOptimistic
  Rssewa.Open "[tblsewa]", Koneksi, adOpenDynamic, adLockOptimistic
  Rskembali.Open "[tblkembali]", Koneksi, adOpenDynamic, adLockOptimistic
  Rsbysewa.Open "[tblbysewa]", Koneksi, adOpenDynamic, adLockOptimistic
  Rskaryawan.Open "[tblkaryawan]", Koneksi, adOpenDynamic, adLockOptimistic
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------
                                                 Form Anggota – Frmanggota
                                                                                                                      txtthn
                                                                                                                       Up1

      txtnamaang
                                                                                                                    txtnoang
          Txtt4
                                                                                                                     dtplahir
         optlaki
                                                                                                                      optbk
   optperempuan                                                                                                       optm
                                                                                                                    txtnoktp
      txtalamat
                                                                                                                    dtpmsber
        txttelp
                                                                                                                   txtbydaftar
      dtpdaftar
      txtstsang                                                                                                       Grid1

        xpedit                                                                                                      xphapus
                                                                                                                     xpbatal
      xptambah


                                                                                                              xpkeluar
Listing FrmAnggota

Public Ada1, Valid As Boolean
Dim rstampil As New ADODB.Recordset

Private Sub blankform1()
txtnamaang.Text = "": txtt4.Text = "": optlaki = False
optperempuan = False: optbk = False: optm = False: txtalamat.Text = ""
txttelp.Text = "": txtnoktp.Text = "": txtstsang.Text = "Aktif"
txtbydaftar.Text = ""
End Sub

Private Sub tidaksiapisi()
txtnamaang.Enabled = False: txtt4.Enabled = False: dtptgllahir.Enabled = False: optlaki.Enabled = False
optperempuan.Enabled = False: optbk.Enabled = False: optm.Enabled = False: txtalamat.Enabled = False
txttelp.Enabled = False: txtnoktp.Enabled = False: txtstsang.Enabled = False: dtptgldaftar.Enabled = False
dtpmsber.Enabled = False: txtbydaftar.Enabled = False
End Sub

Private Sub SiapIsi1()
txtnamaang.Enabled = True: txtt4.Enabled = True: dtptgllahir.Enabled = True: optlaki.Enabled = True
optperempuan.Enabled = True: optbk.Enabled = True: optm.Enabled = True: txtalamat.Enabled = True
txttelp.Enabled = True: txtnoktp.Enabled = True: txtstsang.Enabled = False: dtptgldaftar.Enabled = True
dtpmsber.Enabled = True: txtbydaftar.Enabled = True
End Sub
                                                                   3
Private Sub isitabelanggota()
If optlaki = True Then
  ct = "Laki-Laki"
Else
  ct = "Perempuan"
End If
If optbk = True Then
  ck = "Belum Menikah"
Else
  ck = "Menikah"
End If
Rsanggota!noang = txtnoang.Text: Rsanggota!namaang = txtnamaang.Text
Rsanggota!T4 = txtt4.Text: Rsanggota!tgllahir = dtptgllahir
Rsanggota!jeniskel = ct: Rsanggota!stskel = ck
Rsanggota!alamat = txtalamat.Text: Rsanggota!notelp = txttelp.Text
Rsanggota!noktp = txtnoktp.Text: Rsanggota!stsang = txtstsang.Text
Rsanggota!tgldaftar = dtptgldaftar: Rsanggota!msber = dtpmsber
Rsanggota!tahun = txtthn.Text: Rsanggota!bydaftar = txtbydaftar.Text
Rsanggota!tglubah = Date
End Sub

Private Sub AktifTombol()
xpsimpan.Enabled = True
xpedit.Enabled = True
xphapus.Enabled = True
End Sub

Private Sub tutuptombol()
xphapus.Enabled = False
xpedit.Enabled = False
End Sub

Private Sub isiformanggota()
txtnamaang.Text = Rsanggota!namaang
txtt4.Text = Rsanggota!T4: dtptgllahir = Rsanggota!tgllahir
If Rsanggota!jeniskel = "Laki-Laki" Then
  optlaki.Value = True
Else
  optperempuan.Value = True
End If
If Rsanggota!stskel = "Belum Menikah" Then
  optbk.Value = True
Else
  optm.Value = True
End If
txtalamat.Text = Rsanggota!alamat: txttelp.Text = Rsanggota!notelp
txtnoktp.Text = Rsanggota!noktp: txtstsang.Text = Rsanggota!stsang
dtptgldaftar = Rsanggota!tgldaftar: dtpmsber = Rsanggota!msber
txtbydaftar.Text = Rsanggota!bydaftar
End Sub

Private Sub Validasi()
Valid = False
If txtnamaang.Text = Empty Then
 X = MsgBox("nama anggota harus diisi", 0 + 16, "konfirmasi")
  txtnamaang.Text = ""
  txtnamaang.SetFocus
  Exit Sub
ElseIf txtt4.Text = Empty Then
 X = MsgBox("Tempat lahir harus diisi", 0 + 16, "konfirmasi")
  txtt4.Text = ""
  txtt4.SetFocus
  Exit Sub
ElseIf txtalamat.Text = Empty Then
 X = MsgBox("Alamat harus diisi", 0 + 16, "konfirmasi")
  txtalamat.Text = ""
  txtalamat.SetFocus
  Exit Sub
ElseIf txttelp.Text = Empty Then
 X = MsgBox("No Telpon / HP harus diisi", 0 + 16, "konfirmasi")
  txttelp.Text = ""
  txttelp.SetFocus
  Exit Sub
ElseIf txtnoktp.Text = Empty Then
                                                     4
X = MsgBox("No KTP harus diisi", 0 + 16, "konfirmasi")
  txtnoktp.Text = ""
  txtnoktp.SetFocus
  Exit Sub
ElseIf txtbydaftar.Text = Empty Then
X = MsgBox("Biaya daftar harus diisi", 0 + 16, "konfirmasi")
  txtbydaftar.Text = ""
  txtbydaftar.SetFocus
  Exit Sub
End If
Valid = True
End Sub

Private Sub Tampildata()
Set rstampil = Nothing
rstampil.Open "select noang,namaang,tgldaftar,msber,stsang from tblanggota order by noang ", Koneksi,
adOpenDynamic, adLockOptimistic
Set Grid1.DataSource = rstampil
Grid1.Columns(0).Width = 1100
Grid1.Columns(1).Width = 3000
Grid1.Columns(2).Width = 1000
Grid1.Columns(3).Width = 1250
Grid1.Columns(4).Width = 1000
Grid1.Columns(0).Alignment = dbgCenter
Grid1.Columns(2).Alignment = dbgCenter
Grid1.Columns(4).Alignment = dbgCenter
Grid1.Columns(0).Caption = "No Anggota"
Grid1.Columns(1).Caption = "Nama Anggota"
Grid1.Columns(2).Caption = "Tgl.daftar"
Grid1.Columns(3).Caption = "Masa aktif s/d"
Grid1.Columns(4).Caption = "Status"
End Sub

Private Sub Form_Activate()
frmmnutama.Enabled = False
Aturnoang
End Sub

Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub Form_Load()
BukaDatabase
blankform1
up1.Value = Year(Date)
txtthn.Text = up1
tidaksiapisi
tutuptombol
xpsimpan.Caption = "&Tambah"
Tampildata
dtptgldaftar = Date
dtptgllahir = Date
dtpmsber = Date
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub

Private Sub txtbydaftar_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
  KeyAscii = vbKeyBack) Then
  KeyAscii = 0
End If
End Sub

Private Sub txtnoang_Click()
blankform1
End Sub

Private Sub txtnoang_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
                                                      5
Private Sub txtnoang_Lostfocus()
ckode = Trim(txtnoang.Text)
If ckode = Empty Then
  Exit Sub
End If
If Rsanggota.RecordCount > 0 Then
  Rsanggota.MoveFirst
End If
'Rsanggota.Find ("noang = '" & ckode & "'")
Set Rsanggota = Nothing
Rsanggota.Open "[tblanggota] where noang ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Rsanggota.EOF Then
  blankform1
  SiapIsi1
  txtnamaang.SetFocus
  Ada1 = False
  tutuptombol
  xpsimpan.Caption = "&Simpan"                                    Static Structur
Else                                                               frmanggota
  tidaksiapisi                              +Ada1
  isiformanggota                            +Valid : Boolean
  xpedit.Enabled = True                     -rstampil : Recordset
  xphapus.Enabled = True                    -blankform1()
  Ada1 = True                               -tidaksiapisi()
End If                                      -SiapIsi1()
End Sub                                     -isitabelanggota()
                                         -AktifTombol()
Private Sub xpsimpan_Click()             -tutuptombol()
If xpsimpan.Caption = "&Tambah" Then     -isiformanggota()
  xpbatal_Click                          -Validasi()
  Aturnoang                              -Tampildata()
                                         -Form_Activate()
  Exit Sub
                                         -Up1_Change()
End If                                   -Form_Load()
Validasi                                 -Form_Unload(in Cancel : Integer)
If Valid = True Then                     -txtbydaftar_KeyPress(in KeyAscii : Integer)
   If Ada1 = False Then                  -txtnoang_Click()
     Rsanggota.AddNew                    -txtnoang_KeyPress(in KeyAscii : Integer)
     isitabelanggota                     -txtnoang_Lostfocus()
     Rsanggota.Update                    -xpsimpan_Click()
   Else                                  -xpbatal_Click()
   isitabelanggota                       -xpedit_click()
                                         -xphapus_Click()
   Rsanggota.Update
                                         -xpkeluar_Click()
   End If                                -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer)
   xpsimpan.Caption = "&Tambah"          -txtnoang_KeyDown(in KeyCode : Integer, in Shift : Integer)
Else                                     -txtnamaang_KeyDown(in KeyCode : Integer, in Shift : Integer)
xpsimpan.Caption = "&Simpan"             -txtt4_keydown(in KeyCode : Integer, in Shift : Integer)
End If                                   -dtptgllahir_keydown(in KeyCode : Integer, in Shift : Integer)
Rsanggota.Requery                        -txtalamat_keydown(in KeyCode : Integer, in Shift : Integer)
Tampildata                               -txttelp_keydown(in KeyCode : Integer, in Shift : Integer)
Aturnoang                                -txtnoktp_keydown(in KeyCode : Integer, in Shift : Integer)
End Sub                                  -dtptgldaftar_keydown(in KeyCode : Integer, in Shift : Integer)
                                         -dtpmsber_keydown(in KeyCode : Integer, in Shift : Integer)
                                         -txtbydaftar_keydown(in KeyCode : Integer, in Shift : Integer)
Private Sub xpbatal_Click()
                                         -Aturnoang()
Aturnoang
blankform1
tidaksiapisi
txtnoang.Enabled = True
txtnoang.SetFocus
xpsimpan.Caption = "&Tambah"
tutuptombol
End Sub

Private Sub xpedit_click()
tutuptombol
Ada1 = True
SiapIsi1
txtnoang.Enabled = False
xpsimpan.Caption = "&Simpan"
txtnamaang.SetFocus
End Sub

Private Sub xphapus_Click()
ckode = Trim(txtnoang.Text)
                                               6
Rssewa.Find ("noang='" & ckode & "'"), , adSearchForward, 1
Rskembali.Find ("noang='" & ckode & "'"), , adSearchForward, 1
If Not Rssewa.EOF Then
  X = MsgBox("maaf data anggota tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnoang.SetFocus
  Exit Sub
ElseIf Not Rskembali.EOF Then
  X = MsgBox("maaf data anggota tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnoang.SetFocus
  Exit Sub
Else
  y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
   Select Case y
   Case vbYes
   Koneksi.Execute "delete * from tblanggota where noang ='" & ckode & "' and tahun='" & txtthn & "'"
   Case vbNo
End Select
End If
xpbatal_Click
Rsanggota.Requery
Tampildata
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  If Rsanggota.RecordCount > 0 Then
    txtnoang.Text = Grid1.Columns(0)
    txtnoang_Lostfocus
   End If
End If
End Sub

Private Sub txtnoang_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtt4_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub
Private Sub dtptgllahir_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtalamat_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txttelp_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtnoktp_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
                                                      7
SendKeys vbTab
 End If
End Sub

Private Sub dtptgldaftar_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub dtpmsber_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtbydaftar_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub Aturnoang()
  Set Rsanggota = Nothing
  Rsanggota.Open "Select * From tblanggota Where tahun ='" & txtthn & "' order by noang", Koneksi
   k1 = Right(txtthn, 2) + "-"
  If Rsanggota.RecordCount = 0 Then
     cno = "0001"
  Else
     Rsanggota.MoveLast
     Na = Val(Right(Rsanggota!noang, 4)) + 1
     If Len(Na) = 1 Then
       cno = "000" + Trim(Str(Na))
     ElseIf Len(Na) = 2 Then
     cno = "00" + Trim(Str(Na))
     ElseIf Len(Na) = 3 Then
     cno = "0" + Trim(Str(Na))
     ElseIf Len(Na) = 4 Then
     cno = Trim(Str(Na))
     End If
  End If
  txtnoang.Text = k1 + cno
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------
                                                       Form Film - FrmFilm

                                                                                                                         txtthn
                                                                                                                          Up1

       txtnofilm
                                                                                                                        Label19

     Txtnamafilm
                                                                                                                     dtptglmasuk
         dcjenis
                                                                                                                      cbokeping
     txtsinopsis
                                                                                                                        txtaktor

                                                                                                                        txtstatusfilm
       txtaktris
                                                                                                                        txtstatusfisik
   dtptglproduksi
                                                                                                                         Grid1

        xpedit                                                                                                          xphapus

      xptambah                                                                                                          xpbatal


                                                                                                                  xpkeluar

                                                                    8
Listing FrmFilm

Public Ada, Ada1, Valid As Boolean
Public sql As String
Dim rstampil As New ADODB.Recordset
Dim rscari As New ADODB.Recordset

Private Sub blankform1()
txtnamafilm.Text = "": dcjenis.Text = "": cbokeping.Text = "": dcjenis.Text = ""
txtsinopsis.Text = "": txtaktor.Text = "": txtaktris.Text = ""
txtstatusfilm.Text = "": txtstatusfisik.Text = "": chkcari.Value = novbchecked
End Sub

Private Sub tidaksiapisi()
txtnamafilm.Enabled = False: dcjenis.Enabled = False: dtptglmasuk.Enabled = False: cbokeping.Enabled = False
txtsinopsis.Enabled = False: txtaktor.Enabled = False: txtaktris.Enabled = False: dtptglproduksi.Enabled = False
txtstatusfilm.Enabled = False: txtstatusfisikEnabled = False: chkcari.Enabled = False ---- gk perlu
End Sub

Private Sub SiapIsi1()
txtnamafilm.Enabled = True: dcjenis.Enabled = True: cbokeping.Enabled = True: dtptglmasuk.Enabled = True
txtsinopsis.Enabled = True: txtaktor.Enabled = True: txtaktris.Enabled = True: dtptglproduksi.Enabled = True
End Sub

Private Sub isitabelfilm()
Rsfilm!nofilm = txtnofilm.Text
If chkcari.Value = vbchecked Then
  Rsfilm!namafilm = dcnamafilm.Text
Else
  Rsfilm!namafilm = txtnamafilm.Text
End If
Rsfilm!jenisfilm = dcjenis: Rsfilm!tglmasuk = dtptglmasuk
Rsfilm!jmlkeping = cbokeping.Text: Rsfilm!sinopsis = txtsinopsis.Text
Rsfilm!aktor = txtaktor.Text: Rsfilm!aktris = txtaktris.Text
Rsfilm!tglproduksi = dtptglproduksi: Rsfilm!stsfilm = "Ada"
Rsfilm!tahun = txtthn.Text: Rsfilm!stsfisik = "Baik"
End Sub

Private Sub AktifTombol()
xpsimpan.Enabled = True
xpedit.Enabled = True
xphapus.Enabled = True
End Sub

Private Sub tutuptombol()
xphapus.Enabled = False
xpedit.Enabled = False
End Sub

Private Sub isiformfilm()
txtnamafilm.Text = Rsfilm!namafilm
dcjenis = Rsfilm!jenisfilm: dtptglmasuk = Rsfilm!tglmasuk
cbokeping.Text = Rsfilm!jmlkeping: txtsinopsis.Text = Rsfilm!sinopsis
txtaktor.Text = Rsfilm!aktor: txtaktris.Text = Rsfilm!aktris
dtptglproduksi = Rsfilm!tglproduksi: txtstatusfilm.Text = Rsfilm!stsfilm
txtstatusfisik.Text = Rsfilm!stsfisik
End Sub

Private Sub Validasi()
Valid = False
If chkcari.Value = novbchecked Then
   If txtnamafilm.Text = Empty Then
    X = MsgBox("nama film harus diisi", 0 + 16, "konfirmasi")
     txtnamafilm.Text = ""
     txtnamafilm.SetFocus
     Exit Sub
   ElseIf dcjenis.Text = Empty Then
    X = MsgBox("Jenis film harus diisi", 0 + 16, "konfirmasi")
     dcjenis.Text = ""
     dcjenis.SetFocus
     Exit Sub
   ElseIf cbokeping.Text = Empty Then
    X = MsgBox("Jumlah keping film harus diisi", 0 + 16, "konfirmasi")
     cbokeping.Text = ""
                                                        9
cbokeping.SetFocus
    Exit Sub
  ElseIf txtsinopsis.Text = Empty Then
  X = MsgBox("Sinopsis film harus diisi", 0 + 16, "konfirmasi")
    txtsinopsis.Text = ""
    txtsinopsis.SetFocus
    Exit Sub
  ElseIf txtaktor.Text = Empty Then
  X = MsgBox("Nama Aktor Film harus diisi", 0 + 16, "konfirmasi")
    txtaktor.Text = ""
    txtaktor.SetFocus
    Exit Sub
  ElseIf txtaktris.Text = Empty Then
  X = MsgBox("Nama Aktris Film harus diisi", 0 + 16, "konfirmasi")
    txtaktris.Text = ""
    txtaktris.SetFocus
    Exit Sub
  End If
End If
Valid = True
End Sub

Private Sub Tampildata()
Set rstampil = Nothing
rstampil.Open "select nofilm,namafilm,tglmasuk,jenisfilm,stsfilm from tblfilm order by nofilm ", Koneksi,
adOpenDynamic, adLockOptimistic
Set Grid1.DataSource = rstampil
Grid1.Columns(0).Width = 1100
Grid1.Columns(1).Width = 3500
Grid1.Columns(2).Width = 1250
Grid1.Columns(3).Width = 1000
Grid1.Columns(4).Width = 1000
Grid1.Columns(0).Alignment = dbgCenter
Grid1.Columns(2).Alignment = dbgCenter
Grid1.Columns(0).Caption = "No. Film"
Grid1.Columns(1).Caption = "Nama Film"
Grid1.Columns(2).Caption = "Tgl.Masuk"
Grid1.Columns(3).Caption = "Jenis Film"
Grid1.Columns(4).Caption = "Status Film"
If rstampil.RecordCount > 0 Then
  Label19.Caption = "Jumlah Film " + Format(rstampil.RecordCount)
Else
  Label19.Caption = ""
End If
End Sub

Private Sub Form_Activate()
frmmnutama.Enabled = False
End Sub

Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub Form_Load()
BukaDatabase
aturnofilm
blankform1
up1.Value = Year(Date)
txtthn.Text = up1
tidaksiapisi
tutuptombol
xpsimpan.Caption = "&Tambah"
Tampildata
Carifilm -------- gk perlu
dtptglmasuk = Date
dtptglproduksi = Date
cbokeping.List(0) = "1"
cbokeping.List(1) = "2"
cbokeping.List(2) = "3"
cbokeping.List(3) = "4"
cbokeping.List(4) = "5"
dcnamafilm.Visible = False
Set rscari = Nothing
                                                   10
rscari.Open "Select jenisfilm from tblbysewa where tahun='" & txtthn & "' group by jenisfilm", Koneksi,
adOpenDynamic, adLockOptimistic
Set dcjenis.RowSource = rscari
dcjenis.ListField = "jenisfilm"
End Sub

Private Sub chkcari_Click()
If chkcari.Value = vbchecked Then
  dcnamafilm.Visible = True
  txtnamafilm.Visible = False
  dcnamafilm.SetFocus
Else
  dcnamafilm.Visible = False
  txtnamafilm.Visible = True
  blankform1
  txtnofilm.SetFocus
End If
End Sub

Private Sub dcnamafilm_Click(Area As Integer)
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & dcnamafilm & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Not Rsfilm.EOF Then
  isiform2
End If
End Sub

Private Sub isiform2()
  dcjenis = Rsfilm!jenisfilm: dtptglmasuk = Rsfilm!tglmasuk
  cbokeping.Text = Rsfilm!jmlkeping: txtsinopsis.Text = Rsfilm!sinopsis
  txtaktor.Text = Rsfilm!aktor: txtaktris.Text = Rsfilm!aktris
  dtptglproduksi = Rsfilm!tglproduksi: txtstatusfilm.Text = Rsfilm!stsfilm
  txtstatusfisik.Text = Rsfilm!stsfisik
End Sub

Private Sub carifilm()
Set rscari = Nothing
rscari.Open "Select namafilm from tblfilm where tahun='" & txtthn & "' group by namafilm", Koneksi,
adOpenDynamic, adLockOptimistic
Set dcnamafilm.RowSource = rscari
dcnamafilm.ListField = "namafilm"
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub

Private Sub txtnofilm_Click()
blankform1
End Sub

Private Sub txtnofilm_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub txtnofilm_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
  txtnofilm.Text = ""
  sql = "Select namafilm,nofilm,stsfilm from tblfilm Where tahun='" & txtthn & "' order by nofilm"
  Ada = True
  frminfo.Caption = ">>> Info Data Film Tahun " & txtthn & " <<<"
  frminfo.Grid1.Columns(0).Width = 3000
  frminfo.Grid1.Columns(1).Width = 1000
  frminfo.Grid1.Columns(2).Width = 1250
  frminfo.Show vbModal, Me
  Ada = False
  txtnofilm.Text = frminfo.Kode
  txtnofilm_Lostfocus
  End If
  If KeyCode = vbKeyReturn Then
    SendKeys vbTab
  End If
End Sub

                                                       11
Private Sub txtnofilm_Lostfocus()
ckode = Trim(txtnofilm.Text)
If ckode = Empty Then
  Exit Sub
End If
If Rsfilm.RecordCount > 0 Then
  Rsfilm.MoveFirst
End If
'Rsfilm.Find ("nofilm = '" & ckode & "'")
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where nofilm ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.EOF Then
  blankform1
  SiapIsi1
  chkcari.Enabled = True ---- gk perlu
  txtnamafilm.SetFocus
  Ada1 = False
  tutuptombol
  xpsimpan.Caption = "&Simpan"
Else
  tidaksiapisi
  isiformfilm
  xpedit.Enabled = True
  xphapus.Enabled = True                                           Static Structur
  Ada1 = True                                                          frmfilm
End If                                        +Ada
End Sub                                       +Ada1
                                              +Valid : Boolean
Private Sub xpsimpan_Click()                  +sql : String
                                              -rstampil : Recordset
If xpsimpan.Caption = "&Tambah" Then          -rscari : Recordset
  xpbatal_Click                               -blankform1()
  aturnofilm                                  -tidaksiapisi()
  Exit Sub                                    -SiapIsi1()
End If                                        -isitabelfilm()
Validasi                                      -AktifTombol()
                                              -tutuptombol()
If Valid = True Then                          -isiformfilm()
   If Ada1 = False Then                       -Validasi()
     Rsfilm.AddNew                            -Tampildata()
     isitabelfilm                             -Form_Activate()
     Rsfilm.Update                            -Up1_Change()
                                              -Form_Load()
   Else                                       -chkcari_Click()
   isitabelfilm                               -dcnamafilm_Click(in Area : Integer)
   Rsfilm.Update                              -carifilm()
   End If                                     -isiform2()
   xpsimpan.Caption = "&Tambah"               -Form_Unload(in Cancel : Integer)
                                              -txtnofilm_Click()
Else                                          -txtnofilm_KeyPress(in KeyAscii : Integer)
xpsimpan.Caption = "&Simpan"                  -txtnofilm_KeyDown(in KeyCode : Integer, in Shift : Integer)
End If                                        -txtnofilm_Lostfocus()
Rsfilm.Requery                                -xpsimpan_Click()
Tampildata                                    -xpbatal_Click()
                                              -xpedit_click()
aturnofilm                                    -xphapus_Click()
End Sub                                       -xpkeluar_Click()
                                              -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer)
Private Sub xpbatal_Click()                   -txtnamafilm_keydown(in KeyCode : Integer, in Shift : Integer)
aturnofilm                                    -dcjenis_keydown(in KeyCode : Integer, in Shift : Integer)
                                              -dtptglmasuk_keydown(in KeyCode : Integer, in Shift : Integer)
blankform1                                    -txtsinopsis_keydown(in KeyCode : Integer, in Shift : Integer)
tidaksiapisi                                  -txtaktor_keydown(in KeyCode : Integer, in Shift : Integer)
chkcari.Value = novbchecked ---- gk perlu     -txtaktris_keydown(in KeyCode : Integer, in Shift : Integer)
txtnofilm.Enabled = True                      -dtptglproduksi_keydown(in KeyCode : Integer, in Shift : Integer)
txtnofilm.SetFocus                            -cbokeping_keydown(in KeyCode : Integer, in Shift : Integer)
                                              -aturnofilm()
xpsimpan.Caption = "&Tambah"
tutuptombol
End Sub

Private Sub xpedit_click()
tutuptombol
Ada1 = True
SiapIsi1
txtnofilm.Enabled = False
xpsimpan.Caption = "&Simpan"
txtnamafilm.SetFocus
End Sub

                                                    12
Private Sub xphapus_Click()
ckode = Trim(txtnofilm.Text)
Rssewa.Find ("nofilm='" & ckode & "'"), , adSearchForward, 1
Rskembali.Find ("nofilm='" & ckode & "'"), , adSearchForward, 1
If Not Rssewa.EOF Then
  X = MsgBox("maaf data film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnofilm.SetFocus
  Exit Sub
ElseIf Not Rskembali.EOF Then
  X = MsgBox("maaf data film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnofilm.SetFocus
  Exit Sub

Else
  y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
   Select Case y
   Case vbYes
   Koneksi.Execute "delete * from tblfilm where nofilm ='" & ckode & "' and tahun='" & txtthn & "'"
   Case vbNo
End Select
End If
xpbatal_Click
Rsfilm.Requery
Tampildata
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  If Rsfilm.RecordCount > 0 Then
    txtnofilm.Text = Grid1.Columns(0)
    txtnofilm_Lostfocus
   End If
End If
End Sub

Private Sub txtnamafilm_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub dcjenis_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub dtptglmasuk_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtsinopsis_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtaktor_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtaktris_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub
                                                     13
Private Sub dtptglproduksi_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub cbokeping_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub aturnofilm()
  Set Rsfilm = Nothing
  Rsfilm.Open "Select * From tblfilm order by nofilm", Koneksi
   'k1 = Right(txtthn, 2) + "-"
  If Rsfilm.RecordCount = 0 Then
     cno = "0001"
  Else
     Rsfilm.MoveLast
     Na = Val(Right(Rsfilm!nofilm, 4)) + 1
     If Len(Na) = 1 Then
       cno = "000" + Trim(Str(Na))
     ElseIf Len(Na) = 2 Then
     cno = "00" + Trim(Str(Na))
     ElseIf Len(Na) = 3 Then
     cno = "0" + Trim(Str(Na))
     ElseIf Len(Na) = 4 Then
     cno = Trim(Str(Na))
     End If
  End If
  txtnofilm.Text = cno
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------
                                         Form Biaya Sewa & Denda --- Frmbysewa
                                                                                                                    txtthn

              txtjenis                                                                                               Up1

               txtjml                                                                                            Xpsimpan

             txtdenda                                                                                              Xpedit

               Grid1                                                                                              Xphapus

                                                                                                                   Xpbatal

                                                                                                                  Xpkeluar



Listing Frmbysewa

Public Ada1, Valid As Boolean
Dim rstampil As New ADODB.Recordset

Private Sub blankform1()
txtjml.Text = "": txtdenda.Text = ""
End Sub

Private Sub tidaksiapisi()
txtjml.Enabled = False: txtdenda.Enabled = False
End Sub

Private Sub SiapIsi1()
txtjml.Enabled = True: txtdenda.Enabled = True
End Sub

Private Sub isitabelbysewa()
Rsbysewa!jenisfilm = txtjenis.Text: Rsbysewa!jmlby = txtjml.Text: Rsbysewa!tahun = txtthn.Text
Rsbysewa!denda = txtdenda.Text
End Sub
                                                                   14
Private Sub AktifTombol()
xpsimpan.Enabled = True: xpedit.Enabled = True
xphapus.Enabled = True:
End Sub

Private Sub tutuptombol()
xphapus.Enabled = False: xpedit.Enabled = False
End Sub

Private Sub isiformbysewa()
txtjml.Text = Rsbysewa!jmlby
txtdenda.Text = Rsbysewa!denda
End Sub

Private Sub Validasi()
Valid = False
If txtjml.Text = Empty Then
 X = MsgBox("biaya sewa harus diisi", 0 + 16, "konfirmasi")
  txtjml.Text = ""
  txtjml.SetFocus
  Exit Sub
ElseIf txtdenda.Text = Empty Then
 X = MsgBox("biaya denda harus diisi", 0 + 16, "konfirmasi")
  txtdenda.Text = ""
  txtdenda.SetFocus
  Exit Sub
End If
Valid = True
End Sub

Private Sub Tampildata()
Set rstampil = Nothing
rstampil.Open "select jenisfilm,jmlby,denda from tblbysewa order by jenisfilm ", Koneksi, adOpenDynamic,
adLockOptimistic
Set Grid1.DataSource = rstampil
Grid1.Columns(0).Width = 1250
Grid1.Columns(1).Width = 1250
Grid1.Columns(1).Width = 1250
Grid1.Columns(0).Alignment = dbgCenter
Grid1.Columns(1).Alignment = dbgRight
Grid1.Columns(2).Alignment = dbgRight
Grid1.Columns(0).Caption = " Jenis Film"
Grid1.Columns(1).Caption = " By.Sewa"
Grid1.Columns(2).Caption = " By.Denda"
Grid1.Columns(1).NumberFormat = "#,###,### "
Grid1.Columns(2).NumberFormat = "#,###,### "
End Sub

Private Sub Form_Activate()
frmmnutama.Enabled = False
End Sub

Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub Form_Load()
BukaDatabase
blankform1
up1.Value = Year(Date)
txtthn.Text = up1
tidaksiapisi
tutuptombol
xpsimpan.Caption = "&Tambah"
Tampildata
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub

Private Sub txtjenisfilm_Click()
blankform1
End Sub
                                                     15
Private Sub txtjenisfilm_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub txtjenis_Lostfocus()
ckode = Trim(txtjenis.Text)
If ckode = Empty Then
  Exit Sub
End If
If Rsbysewa.RecordCount > 0 Then
  Rsbysewa.MoveFirst
End If
Set Rsbysewa = Nothing
Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Rsbysewa.EOF Then
  blankform1
  SiapIsi1
  txtjml.SetFocus
  Ada1 = False
  tutuptombol
  xpsimpan.Caption = "&Simpan"
Else
  tidaksiapisi
  isiformbysewa
  xpedit.Enabled = True
  xphapus.Enabled = True
  Ada1 = True
End If
End Sub

Private Sub xpsimpan_Click()                                                   Static Structur
If xpsimpan.Caption = "&Tambah" Then                                             frmbysewa
  xpbatal_Click
                                                          +Ada1
  Exit Sub                                                +Valid : Boolean
End If                                                    -rstampil : Recordset
Validasi                                                  -blankform1()
If Valid = True Then                                      -tidaksiapisi()
   If Ada1 = False Then                                   -SiapIsi1()
      Rsbysewa.AddNew                                     -isitabelbysewa()
                                                          -AktifTombol()
      isitabelbysewa                                      -tutuptombol()
      Rsbysewa.Update                                     -isiformbysewa()
   Else                                                   -Validasi()
     isitabelbysewa                                       -Tampildata()
     Rsbysewa.Update                                      -Form_Activate()
                                                          -Up1_Change()
   End If                                                 -Form_Load()
   xpsimpan.Caption = "&Tambah"                           -Form_Unload(in Cancel : Integer)
Else                                                      -txtjenisfilm_Click()
xpsimpan.Caption = "&Simpan"                              -txtjenisfilm_KeyPress(in KeyAscii : Integer)
End If                                                    -txtjenis_Lostfocus()
                                                          -xpsimpan_Click()
Rsbysewa.Requery                                          -xpbatal_Click()
Tampildata                                                -xpedit_click()
End Sub                                                   -xphapus_Click()
                                                          -xpkeluar_Click()
Private Sub xpbatal_Click()                               -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer)
                                                          -txtjenis_keydown(in KeyCode : Integer, in Shift : Integer)
blankform1                                                -txtjml_keydown(in KeyCode : Integer, in Shift : Integer)
tidaksiapisi                                              -txtdenda_keydown(in KeyCode : Integer, in Shift : Integer)
txtjenis.Enabled = True                                   -txtjml_KeyPress(in KeyAscii : Integer)
txtjenis.SetFocus                                         -txtdenda_KeyPress(in KeyAscii : Integer)
xpsimpan.Caption = "&Tambah"
tutuptombol
End Sub

Private Sub xpedit_click()
tutuptombol
Ada1 = True
SiapIsi1
txtjenis.Enabled = False
xpsimpan.Caption = "&Simpan"
txtjml.SetFocus
End Sub

Private Sub xphapus_Click()
ckode = Trim(txtjenis.Text)
                                                     16
Rsfilm.Find ("jenisfilm='" & ckode & "'"), , adSearchForward, 1
If Not Rsfilm.EOF Then
  X = MsgBox("maaf jenis film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtjenis.SetFocus
  Exit Sub
Else
  y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
   Select Case y
   Case vbYes
   Koneksi.Execute "delete * from tblbysewa where jenisfilm ='" & ckode & "' and tahun='" & txtthn & "'"
   Case vbNo
End Select
End If
xpbatal_Click
Rsbysewa.Requery
Tampildata
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  If Rsbysewa.RecordCount > 0 Then
    txtjenis.Text = Grid1.Columns(0)
    txtjenis_Lostfocus
   End If
End If
End Sub

Private Sub txtjenis_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtjml_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtdenda_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtjml_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
  KeyAscii = vbKeyBack) Then
  KeyAscii = 0
End If
End Sub

Private Sub txtdenda_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
  KeyAscii = vbKeyBack) Then
  KeyAscii = 0
End If
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------




                                                                   17
Form Karyawan - Frmkaryawan




    Name objek
    disesuaikan dengan
    Listing. Lihat form
    sebelumnya




Listing Frmkaryawan

Public Ada1, Valid As Boolean
Dim rstampil As New ADODB.Recordset

Private Sub blankform1()
txtnamakary.Text = "": txtt4.Text = "": optlaki = False
optperempuan = False: optbk = False: optm = False: txtalamat.Text = ""
txttelp.Text = "": txtnoktp.Text = "": txtstskary.Text = ""
txtpassword.Text = "": txtkonfirmasi.Text = ""
End Sub

Private Sub tidaksiapisi()
txtnamakary.Enabled = False: txtt4.Enabled = False: dtptgllahir.Enabled = False: optlaki.Enabled = False
optperempuan.Enabled = False: optbk.Enabled = False: optm.Enabled = False: txtalamat.Enabled = False
txttelp.Enabled = False: txtnoktp.Enabled = False: txtstskary.Enabled = False: dtptglkerja.Enabled = False
txtpassword.Enabled = False: txtkonfirmasi.Enabled = False: chklihat.Enabled = False: chklihat = False
End Sub

Private Sub SiapIsi1()
txtnamakary.Enabled = True: txtt4.Enabled = True: dtptgllahir.Enabled = True: optlaki.Enabled = True
optperempuan.Enabled = True: optbk.Enabled = True: optm.Enabled = True: txtalamat.Enabled = True
txttelp.Enabled = True: txtnoktp.Enabled = True: txtstskary.Enabled = False: dtptglkerja.Enabled = True
txtpassword.Enabled = True: txtkonfirmasi.Enabled = True
End Sub

Private Sub isitabelkaryawan()
If optlaki = True Then
  ct = "Laki-Laki"
Else
  ct = "Perempuan"
End If
If optbk = True Then
  ck = "Belum Menikah"
Else
  ck = "Menikah"
End If
Rskaryawan!nokary = txtnokary.Text: Rskaryawan!namakary = txtnamakary.Text
Rskaryawan!T4 = txtt4.Text: Rskaryawan!tgllahir = dtptgllahir
Rskaryawan!jeniskel = ct: Rskaryawan!stskel = ck
Rskaryawan!alamat = txtalamat.Text: Rskaryawan!notelp = txttelp.Text
Rskaryawan!noktp = txtnoktp.Text: Rskaryawan!stskary = txtstskary.Text
Rskaryawan!tglkerja = dtptglkerja
Rskaryawan!tahun = txtthn.Text: Rskaryawan!Password = txtpassword.Text
                                                       18
Rskaryawan!tglubah = Date
End Sub

Private Sub AktifTombol()
xpsimpan.Enabled = True
xpedit.Enabled = True
xphapus.Enabled = True
End Sub

Private Sub tutuptombol()
xphapus.Enabled = False
xpedit.Enabled = False
End Sub

Private Sub isiformanggota()
txtnamakary.Text = Rskaryawan!namakary
txtt4.Text = Rskaryawan!T4: dtptgllahir = Rskaryawan!tgllahir
If Rskaryawan!jeniskel = "Laki-Laki" Then
  optlaki.Value = True
Else
  optperempuan.Value = True
End If
If Rskaryawan!stskel = "Belum Menikah" Then
  optbk.Value = True
Else
  optm.Value = True
End If
txtalamat.Text = Rskaryawan!alamat: txttelp.Text = Rskaryawan!notelp
txtnoktp.Text = Rskaryawan!noktp: txtstskary.Text = Rskaryawan!stskary
dtptglkerja = Rskaryawan!tglkerja
txtpassword.Text = Rskaryawan!Password: txtkonfirmasi.Text = Rskaryawan!Password
End Sub

Private Sub Validasi()
Valid = False
If txtnamakary.Text = Empty Then
 X = MsgBox("nama karyawan harus diisi", 0 + 16, "konfirmasi")
  txtnamakary.Text = ""
  txtnamakary.SetFocus
  Exit Sub
ElseIf txtt4.Text = Empty Then
 X = MsgBox("Tempat lahir harus diisi", 0 + 16, "konfirmasi")
  txtt4.Text = ""
  txtt4.SetFocus
  Exit Sub
ElseIf txtalamat.Text = Empty Then
 X = MsgBox("Alamat harus diisi", 0 + 16, "konfirmasi")
  txtalamat.Text = ""
  txtalamat.SetFocus
  Exit Sub
ElseIf txtpassword.Text = Empty Then
 X = MsgBox("Password harus diisi", 0 + 16, "konfirmasi")
  txtpassword.Text = ""
  txtpassword.SetFocus
  Exit Sub
ElseIf txtkonfirmasi.Text = Empty Then
 X = MsgBox("Konfirmasi password harus diisi", 0 + 16, "konfirmasi")
  txtkonfirmasi.Text = ""
  txtkonfirmasi.SetFocus
  Exit Sub
End If
Valid = True
End Sub

Private Sub Tampildata()
Set rstampil = Nothing
rstampil.Open "select nokary,namakary,tglkerja,stskary from tblkaryawan order by nokary ", Koneksi,
adOpenDynamic, adLockOptimistic
Set Grid1.DataSource = rstampil
Grid1.Columns(0).Width = 1100
Grid1.Columns(1).Width = 3500
Grid1.Columns(2).Width = 1500
Grid1.Columns(3).Width = 1250
Grid1.Columns(0).Alignment = dbgCenter
                                                    19
Grid1.Columns(2).Alignment = dbgCenter
Grid1.Columns(0).Caption = "No.ID Kary"
Grid1.Columns(1).Caption = "Nama Karyawan"
Grid1.Columns(2).Caption = "Tgl.Mulai Kerja"
Grid1.Columns(3).Caption = "Status Kerja"
End Sub

Private Sub chklihat_Click()
If chklihat.Value = vbchecked Then
  lihatpass
Else
  txtpassword.PasswordChar = "?"
  xpkeluar.SetFocus
End If
End Sub

Private Sub Form_Activate()
frmmnutama.Enabled = False
Aturnokary
End Sub

Private Sub txtkonfirmasi_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  If txtpassword.Text <> txtkonfirmasi.Text Then
    MsgBox "Pengisian konfirmasi harus sama dengan nama password", 0 + 64, "Konfirmasi"
    txtkonfirmasi.SetFocus
  Else
    SendKeys vbTab
  End If

End If
End Sub

Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub Form_Load()
BukaDatabase
blankform1
up1.Value = Year(Date)
txtthn.Text = up1
tidaksiapisi
tutuptombol
xpsimpan.Caption = "&Tambah"
Tampildata
dtptglkerja = Date
dtptgllahir = Date
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub

Private Sub txtnokary_Click()
blankform1
End Sub

Private Sub txtnokary_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub txtnokary_Lostfocus()
ckode = Trim(txtnokary.Text)
If ckode = Empty Then
  Exit Sub
End If
If Rskaryawan.RecordCount > 0 Then
  Rskaryawan.MoveFirst
End If
If Right(ckode, 4) = "0000" Or Len(ckode) <> 10 Then
  MsgBox "No.ID karyawan tersebut tidak dikenal! " & vbCrLf & " anda akan dibantu penomoran otomatis.", 0
+ 64, "Konfirmasi"
  Aturnokary
                                                      20
Exit Sub
End If
Set Rskaryawan = Nothing
Rskaryawan.Open "[tblkaryawan] where nokary ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Rskaryawan.EOF Then
  blankform1
  SiapIsi1
  txtnamakary.SetFocus
  txtstskary.Text = "Aktif"
  Ada1 = False
  tutuptombol
  xpsimpan.Caption = "&Simpan"
Else
  tidaksiapisi
  isiformanggota
  xpedit.Enabled = True
  xphapus.Enabled = True
  Ada1 = True
End If                                                          Static Structur
End Sub                                                           frmkaryawan
                                                    +Ada1
Private Sub xpsimpan_Click()                        +Valid : Boolean
If xpsimpan.Caption = "&Tambah" Then                -rstampil : Recordset
  xpbatal_Click                                     -blankform1()
  Aturnokary                                        -tidaksiapisi()
  Exit Sub                                          -SiapIsi1()
                                                    -isitabelkaryawan()
End If                                              -AktifTombol()
Validasi                                            -tutuptombol()
If Valid = True Then                                -isiformanggota()
   If Ada1 = False Then                             -Validasi()
      Rskaryawan.AddNew                             -Tampildata()
                                                    -chklihat_Click()
      isitabelkaryawan                              -Form_Activate()
      Rskaryawan.Update                             -txtkonfirmasi_keydown(in KeyCode : Integer, in Shift : Integer)
   Else                                             -Up1_Change()
     isitabelkaryawan                               -Form_Load()
     Rskaryawan.Update                              -Form_Unload(in Cancel : Integer)
                                                    -txtnokary_Click()
   End If                                           -txtnokary_KeyPress(in KeyAscii : Integer)
   xpsimpan.Caption = "&Tambah"                     -txtnokary_Lostfocus()
Else                                                -xpsimpan_Click()
xpsimpan.Caption = "&Simpan"                        -xpbatal_Click()
End If                                              -xpedit_click()
                                                    -xphapus_Click()
Rskaryawan.Requery                                  -xpkeluar_Click()
Tampildata                                          -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer)
Aturnokary                                          -txtnokary_keydown(in KeyCode : Integer, in Shift : Integer)
End Sub                                             -txtnamakary_KeyDown(in KeyCode : Integer, in Shift : Integer)
                                                    -txtt4_keydown(in KeyCode : Integer, in Shift : Integer)
                                                    -dtptgllahir_keydown(in KeyCode : Integer, in Shift : Integer)
Private Sub xpbatal_Click()                         -txtalamat_keydown(in KeyCode : Integer, in Shift : Integer)
Aturnokary                                          -txttelp_keydown(in KeyCode : Integer, in Shift : Integer)
blankform1                                          -dtptglkerja_keydown(in KeyCode : Integer, in Shift : Integer)
tidaksiapisi                                        -txtnoktp_keydown(in KeyCode : Integer, in Shift : Integer)
txtnokary.Enabled = True                            -txtpassword_keydown(in KeyCode : Integer, in Shift : Integer)
                                                    -Aturnokary()
txtnokary.SetFocus                                  -lihatpass()
xpsimpan.Caption = "&Tambah"
tutuptombol
End Sub

Private Sub xpedit_click()
tutuptombol
chklihat.Enabled = True
Ada1 = True
SiapIsi1
txtnokary.Enabled = False
xpsimpan.Caption = "&Simpan"
txtnamakary.SetFocus
End Sub

Private Sub xphapus_Click()
ckode = Trim(txtnokary.Text)
Rssewa.Find ("nokary='" & ckode & "'"), , adSearchForward, 1
Rskembali.Find ("nokary='" & ckode & "'"), , adSearchForward, 1
If Not Rssewa.EOF Then
  X = MsgBox("maaf data karyawan tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnokary.SetFocus
                                                     21
Exit Sub
ElseIf Not Rskembali.EOF Then
  X = MsgBox("maaf data karyawan tersebut tidak dapat dihapus", 0 + 16, "konfirmasi")
  txtnokary.SetFocus
  Exit Sub

Else
  y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
  Select Case y
  Case vbYes
  Koneksi.Execute "delete * from tblkaryawan where nokary ='" & ckode & "' and tahun='" & txtthn & "'"
  Case vbNo
  End Select
End If
xpbatal_Click
Rskaryawan.Requery
Tampildata
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub

Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  If Rskaryawan.RecordCount > 0 Then
    txtnokary.Text = Grid1.Columns(0)
    txtnokary_Lostfocus
   End If
End If
End Sub

Private Sub txtnokary_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtnamakary_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtt4_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub
Private Sub dtptgllahir_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtalamat_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub
Private Sub txttelp_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub dtptglkerja_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub


                                                     22
Private Sub txtnoktp_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub txtpassword_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub Aturnokary()
  Set Rskaryawan = Nothing
  Rskaryawan.Open "Select * From tblkaryawan Where tahun ='" & txtthn & "' order by nokary", Koneksi
   k1 = "ID" + "-" + Right(txtthn, 2) + "-"
  If Rskaryawan.RecordCount = 0 Then
    cno = "0001"
  Else
    Rskaryawan.MoveLast
    Na = Val(Right(Rskaryawan!nokary, 4)) + 1
    If Len(Na) = 1 Then
      cno = "000" + Trim(Str(Na))
    ElseIf Len(Na) = 2 Then
    cno = "00" + Trim(Str(Na))
    ElseIf Len(Na) = 3 Then
    cno = "0" + Trim(Str(Na))
    ElseIf Len(Na) = 4 Then
    cno = Trim(Str(Na))
    End If
  End If
  txtnokary.Text = k1 + cno
End Sub

Private Sub lihatpass()
Dim lihat, pass
lihat = "Masukkan kunci password !"
pass = InputBox(lihat, "Masukkan")
If pass <> Right(txtnokary, 2) Then
  MsgBox "Kunci password tersebut salah !", , "Ulangi lagi"
  Exit Sub
Else
  MsgBox "Password berhasil!", , "Konfirmasi"
  txtpassword.PasswordChar = ""
  txtpassword.SetFocus
End If
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------

                                          Form Penyewaan Film - Frmpenyewaan                                             txtthn
   txtnamaang
                                                                                                                          Up1
     txtnoang

    txtkriteria                                                                                                       dtptglsewa

    cbokriteria                                                                                                       txtjamsewa

      chkcari
                                                                                                                         Label6
      Label5
                                                                                                                          List2
       List1
                                                                                                                        txtbayar
    lblsinopsis
                                                                                                                         xplagi
      xpsewa
                                                                                                                        xpbatal
      xpcetak




                                                                   23
Listing Frmpenyewaan

Public Ada, Ada1, Valid As Boolean
Public sql As String
Dim rstampil As New ADODB.Recordset
Public T1, b1, Th1 As Integer

Private Sub cbokriteria_Click()
txtkriteria.SetFocus
End Sub

Private Sub chkcari_Click()
If chkcari.Value = vbchecked Then
   If txtnoang.Text = Empty Then
       MsgBox "Masukkan dulu Data anggota yang menyewa ! " & vbCrLf & " Bantuan tekan F1", 0 + 64,
"Konfirmasi"
       txtnamaang.SetFocus
       chkcari = False
       Exit Sub
   Else
       cbokriteria.Enabled = True
       txtkriteria.Enabled = True
       cbokriteria.SetFocus
   End If
Else
  cbokriteria.Enabled = False
  txtkriteria.Enabled = False
  cbokriteria.Text = ""
  txtkriteria.Text = ""
  ls1
End If
End Sub

Private Sub dtptglsewa_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub                                                                    Static Structur
                                                                            frmpenyewaan
Private Sub Form_Activate()                          +Ada
cbokriteria.Enabled = False                          +Ada1
txtkriteria.Enabled = False                          +Valid : Boolean
frmmnutama.Enabled = False                           +sql : String
                                                     -rstampil : Recordset
End Sub                                              +T1
                                                     +b1
Private Sub Form_Load()                              +Th1 : Integer
BukaDatabase                                         -cbokriteria_Click()
xpsewa.Enabled = False                               -chkcari_Click()
xpbatal.Enabled = False                              -dtptglsewa_keydown(in KeyCode : Integer, in Shift : Integer)
                                                     -Form_Activate()
xpcetak.Enabled = False                              -Form_Load()
List1.Enabled = False                                -dtptglsewa_LostFocus()
List2.Enabled = False                                -ls1()
cbokriteria.List(0) = "No Film"                      -List1_Click()
cbokriteria.List(1) = "Aktor"                        -Timer1_Timer()
                                                     -txtkriteria_Change()
cbokriteria.List(2) = "Aktris"                       -carinofilm()
up1.Value = Year(Date)                               -cariaktor()
txtthn.Text = up1                                    -cariaktris()
dtptglsewa = Date                                    -ls2()
dtptglsewa_LostFocus                                 -txtnamaang_KeyDown(in KeyCode : Integer, in Shift : Integer)
                                                     -txtnoang_Lostfocus()
ls1                                                  -Form_Unload(in Cancel : Integer)
End Sub                                              -Up1_Change()
                                                     -xpcetak_Click()
Private Sub dtptglsewa_LostFocus()                   -xpkeluar_Click()
T1 = Left(dtptglsewa, 2)                             -xplagi_Click()
                                                     -xpsewa_Click()
b1 = Mid(dtptglsewa, 4, 2)                           -xpbatal_Click()
Th1 = Right(dtptglsewa, 4)                           -cekbyr()
End Sub

Private Sub ls1()
Set Rsfilm = Nothing
Rsfilm.Open "Select namafilm from tblfilm where tahun='" & txtthn & "' and stsfilm='Ada' group by namafilm",
Koneksi, adOpenDynamic, adLockOptimistic
Set List1.RowSource = Rsfilm
List1.ListField = "namafilm"
                                                    24
If Rsfilm.RecordCount > 0 Then
  List1.Enabled = True
  bn = Rsfilm.RecordCount
  Label5.Caption = "Browse Film (" + Format(bn) + " judul Film)"
Else
  List1.Enabled = False
  xpsewa.Enabled = False
  Label5.Caption = ""
  lblsinopsis.Caption = ""
End If
End Sub

Private Sub List1_Click()
xpsewa.Enabled = True
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.RecordCount > 0 Then
  lblsinopsis.Caption = "Sinopasis : " & vbCrLf & "" + Rsfilm!sinopsis
Else
  lblsinopsis.Caption = ""
  xpsewa.Enabled = False
End If
End Sub

Private Sub Timer1_Timer()
txtjamsewa.Text = Time
End Sub

Private Sub txtkriteria_Change()
If cbokriteria.Text = "Aktor" Then
  cariaktor
ElseIf cbokriteria.Text = "Aktris" Then
  cariaktris
ElseIf cbokriteria.Text = "No Film" Then
  carinofilm
End If
End Sub

Private Sub carinofilm()
Set Rsfilm = Nothing
Rsfilm.Open "Select namafilm from tblfilm Where nofilm like '" & txtkriteria & "%' and tahun='" & txtthn & "'
and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic
Set List1.RowSource = Rsfilm
List1.ListField = "namafilm"
If Rsfilm.RecordCount > 0 Then
  xpsewa.Enabled = True
Else
  xpsewa.Enabled = False
End If
End Sub

Private Sub cariaktor()
Set Rsfilm = Nothing
Rsfilm.Open "Select namafilm from tblfilm Where aktor like '" & txtkriteria & "%' and tahun='" & txtthn & "'
and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic
Set List1.RowSource = Rsfilm
List1.ListField = "namafilm"
If Rsfilm.RecordCount > 0 Then
  xpsewa.Enabled = True
Else
  xpsewa.Enabled = False
End If
End Sub

Private Sub cariaktris()
Set Rsfilm = Nothing
Rsfilm.Open "Select namafilm from tblfilm Where aktris like '" & txtkriteria & "%' and tahun='" & txtthn & "'
and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic
Set List1.RowSource = Rsfilm
List1.ListField = "namafilm"
If Rsfilm.RecordCount > 0 Then
  xpsewa.Enabled = True
Else
                                                     25
xpsewa.Enabled = False
End If
End Sub

Private Sub ls2()
Set rstampil = Nothing
rstampil.Open "Select tblfilm.namafilm from tblfilm,tblsewa,tblanggota where tblsewa.tahun='" & txtthn & "' and
tblsewa.stssewa='Sewa' and tblsewa.noang='" & txtnoang & "' and tblsewa.noang=tblanggota.noang and
tblsewa.nofilm=tblfilm.nofilm and tblsewa.tglsewa= #" & b1 & "/" & T1 & "/" & Th1 & "# group by
tblfilm.namafilm", Koneksi, adOpenDynamic, adLockOptimistic
Set List2.RowSource = rstampil
List2.ListField = "namafilm"
If rstampil.RecordCount > 0 Then
  List2.Enabled = True
  xpbatal.Enabled = True
  tt = rstampil.RecordCount
  Label6.Caption = "Film yang disewa Tgl." + Format(dtptglsewa) + " (" + Format(tt) + " Judul Film)"
  cekbyr
Else
  List2.Enabled = False
  xpbatal.Enabled = False
  xpcetak.Enabled = False
  Label6.Caption = ""
  cekbyr
End If
End Sub

Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
  'txtnamaang.Text = ""
  sql = "Select namaang,noang,stsang from tblanggota Where Namaang like '" & txtnamaang & "%' and
stsang='Aktif' and tahun='" & txtthn & "' order by noang"
  Ada = True
  frminfo.Caption = ">>> Info Data Anggota Tahun " & txtthn & " <<<"
  frminfo.Show vbModal, Me
  Ada = False
  txtnoang.Text = frminfo.Kode
  'txtnamaang.Text = frminfo.Teks
  txtnoang.Enabled = True
  txtnoang_Lostfocus
  End If
  If KeyCode = vbKeyReturn Then
     SendKeys vbTab
  End If
End Sub

Private Sub txtnoang_Lostfocus()
   ckode = Trim(txtnoang.Text)
 If ckode = Empty Then
    Exit Sub
 End If
 If Rsanggota.RecordCount > 0 Then
    Rsanggota.MoveFirst
 End If

 Set Rsanggota = Nothing
    Rsanggota.Open "[tblanggota] where noang = '" & txtnoang & " ' And " & _
    " tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic
 If Rsanggota.EOF Then
      X = MsgBox("Sorry, Anggota dengan No. Anggota " & txtnoang & " tersebut belum terdaftar", 0 + 64,
"Konfirmasi")
      txtnoang.Text = ""
      txtnoang.Enabled = False
      txtnamaang.SetFocus
      Ada1 = False
 Else
    txtnamaang.Text = Rsanggota!namaang
    ee = Rsanggota!msber
    If Date > ee Then
      y = MsgBox("Anggota tersebut sudah habis masa anggotanya ! " & vbCrLf & " Anda ingin mengubah
statusnya menjadi 'Tidak Aktif' ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
      Select Case y
         Case vbYes

                                                      26
Koneksi.Execute "update tblanggota set stsang='Tidak Aktif' where noang='" & txtnoang & "'and
tahun='" & txtthn & "'"
        Case vbNo
          xplagi_Click
     End Select
   End If
   ls2
   cekbyr
   Ada1 = True
  End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub
Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub xpcetak_Click()
crpcetak1.ReportFileName = App.Path & "" & "rptbuktisewa.rpt"
crpcetak1.SelectionFormula = " {tblsewa.noang} ='" & txtnoang & "' and {tblsewa.tahun} ='" & txtthn & "' and
{tblsewa.tglsewa} = #" & b1 & "-" & T1 & "-" & Th1 & "# "
'crpcetak1.RetrieveDataFiles
'crpcetak1.WindowState = crptMaximized
'crpcetak1.Action = 1
crpcetak1.RetrieveDataFiles
crpcetak1.WindowState = crptMaximized
crpcetak1.CopiesToPrinter = 1
crpcetak1.Destination = crptToPrinter
crpcetak1.Action = 1
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub

Private Sub xplagi_Click()
chkcari.Value = novbchecked
txtnoang.Text = ""
txtnamaang.Text = ""
cbokriteria.Text = ""
txtkriteria.Text = ""
Label6.Caption = ""
txtbayar.Text = "Rp. 0"
txtnamaang.SetFocus
ls2
cekbyr
If txtnoang.Text = Empty Then
  xpcetak.Enabled = False
End If
End Sub

Private Sub xpsewa_Click()
xpsewa.Enabled = False
cek = frmmnutama.stb.Panels(1).Text
If cek = "???" Then
  MsgBox "Password yang anda gunakan adalah password ! " & vbCrLf & " yang tidak dapat digunakan untuk
penyimpanan !", 0 + 64, "Konfirmasi"
  xplagi_Click
  xpkeluar.SetFocus
  Exit Sub
End If
If txtnoang.Text = Empty Then
  MsgBox "Masukkan dulu Data anggota yang menyewa ! " & vbCrLf & " Bantuan tekan F1", 0 + 64,
"Konfirmasi"
  txtnamaang.SetFocus
  Exit Sub
End If
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.RecordCount > 0 Then
                                                    27
ck = Rsfilm!nofilm
  kk = Rsfilm!jenisfilm
End If
Set Rssewa = Nothing
Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and nofilm='" & ck & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Not Rssewa.EOF Then
  y = MsgBox("Film dengan judul '" & List1 & "' sudah disewa sebelumnya ! " & vbCrLf & " Anda ingin
menyewanya lagi ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
   Select Case y
   Case vbYes
     Set Rsbysewa = Nothing
     Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
     If Rsbysewa.RecordCount > 0 Then
       ct = Rsbysewa!jmlby
     End If

      jj = frmreading.label3.caption
      Set Rssewa = Nothing
      Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
      If Rssewa.EOF Then
         Rssewa.AddNew
         Rssewa!noang = txtnoang.Text
         Rssewa!nofilm = ck
         Rssewa!tglsewa = dtptglsewa
         Rssewa!jmlbyr = ct
         Rssewa!tahun = txtthn.Text
         Rssewa!nokary = jj
         Rssewa!stssewa = "Sewa"
         Rssewa!stsfisik = "Baik"
         Rssewa!jamsewa = txtjamsewa.Text
         Rssewa.Update
         Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
      Else
         Rssewa.AddNew
         Rssewa!noang = txtnoang.Text
         Rssewa!nofilm = ck
         Rssewa!tglsewa = dtptglsewa
         Rssewa!jmlbyr = ct
         Rssewa!tahun = txtthn.Text
         Rssewa!nokary = jj
         Rssewa!stssewa = "Sewa"
         Rssewa!stsfisik = "Baik"
         Rssewa!jamsewa = txtjamsewa.Text
         Rssewa.Update
         Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
      End If
      ls2
      ls1
      cekbyr
   Case vbNo
   List1.SetFocus
   End Select
Else
 Set Rsbysewa = Nothing
 Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
 If Rsbysewa.RecordCount > 0 Then
    ct = Rsbysewa!jmlby
 End If
 jj = frmreading.label3.caption
 Set Rssewa = Nothing
 Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
 If Rssewa.EOF Then
    Rssewa.AddNew
    Rssewa!noang = txtnoang.Text
    Rssewa!nofilm = ck
    Rssewa!tglsewa = dtptglsewa
    Rssewa!jmlbyr = ct
    Rssewa!tahun = txtthn.Text
    Rssewa!nokary = jj
                                                      28
Rssewa!stssewa = "Sewa"
   Rssewa!stsfisik = "Baik"
   Rssewa!jamsewa = txtjamsewa.Text
   Rssewa.Update
   Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
 Else
   Rssewa.AddNew
   Rssewa!noang = txtnoang.Text
   Rssewa!nofilm = ck
   Rssewa!tglsewa = dtptglsewa
   Rssewa!jmlbyr = ct
   Rssewa!tahun = txtthn.Text
   Rssewa!nokary = jj
   Rssewa!stssewa = "Sewa"
   Rssewa!stsfisik = "Baik"
   Rssewa!jamsewa = txtjamsewa.Text
   Rssewa.Update
   Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
 End If
 ls2
 ls1
 cekbyr
End If
End Sub

Private Sub xpbatal_Click()
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & List2 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.RecordCount > 0 Then
  ck = Rsfilm!nofilm
End If
  Koneksi.Execute "delete * from tblsewa where nofilm ='" & ck & "' and noang ='" & txtnoang & "'and tahun='"
& txtthn & "'and tglsewa = #" & b1 & "/" & T1 & "/" & Th1 & "# "
  Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
  ls1
  ls2
  cekbyr
End Sub

Private Sub cekbyr()
Set Rssewa = Nothing
Rssewa.Open "[tblsewa] where stssewa='Sewa' And noang='" & txtnoang & "' and tglsewa = #" & b1 & "/" & T1
& "/" & Th1 & "# ", Koneksi, adOpenDynamic, adLockOptimistic
  If Rssewa.EOF Then
       txtbayar.Text = "Rp. 0"
       Exit Sub
  Else
      Do While Not Rssewa.EOF
        msub1 = msub1 + Val(Val(Rssewa!jmlbyr))
        Rssewa.MoveNext
      Loop
  End If
      txtbayar.Text = "Rp. " + Format(msub1, "###,###,##0")

  If msub1 > 0 Then
    xpcetak.Enabled = True
  Else
    xpcetak.Enabled = False
  End If
End Sub




                                                      29
Form Pengembalian Film – Frmpengembalian     txtthn
  txtnamaang
                                                                              Up1
   txtnoang

    cbofisik                                                               dtptglkembali

    dcsewa                                                                 txtjamkembali


                                                                             Label6
    Label5
                                                                             List2
     List1
                                                                            txtbayar

                                                                             xplagi
  xpkembali
                                                                            xpbatal
    xpcetak


Listing Frmpengembalian

Public Ada, Ada1, Valid As Boolean
Public sql As String
Dim rstampil As New ADODB.Recordset
Public T1, b1, Th1, tgl, bln, thn As Integer
Public Lama, denda As Single
Private Sub dcsewa_Click(Area As Integer)
ls1
End Sub

Private Sub dtptglkembali_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
  SendKeys vbTab
  End If
End Sub

Private Sub Form_Activate()
frmmnutama.Enabled = False
End Sub

Private Sub Form_Load()
BukaDatabase
xpkembali.Enabled = False
xpbatal.Enabled = False
xpcetak.Enabled = False
dcsewa.Enabled = False
cbofisik.Enabled = False
List1.Enabled = False
up1.Value = Year(Date)
txtthn.Text = up1
dtptglkembali = Date
dcsewa = Date
dtptglkembali_LostFocus
cbofisik.List(0) = "Baik"
cbofisik.List(1) = "Rusak"
End Sub

Private Sub dtptglkembali_LostFocus()
T1 = Left(dtptglkembali, 2)
b1 = Mid(dtptglkembali, 4, 2)
Th1 = Right(dtptglkembali, 4)
End Sub

Private Sub tgsewa()
tgl = Left(dcsewa, 2)
bln = Mid(dcsewa, 4, 2)
thn = Right(dcsewa, 4)
End Sub

                                                    30
Private Sub ls1()
tgsewa
Set rstampil = Nothing
rstampil.Open "Select tblfilm.namafilm from tblfilm,tblsewa where tblsewa.tahun='" & txtthn & "' and
tblsewa.stssewa='Sewa' and tblsewa.nofilm=tblfilm.nofilm and tblsewa.noang='" & txtnoang & "' and
tblsewa.tglsewa= #" & bln & "/" & tgl & "/" & thn & "# group by tblfilm.namafilm", Koneksi, adOpenDynamic,
adLockOptimistic
Set List1.RowSource = rstampil
List1.ListField = "namafilm"
If rstampil.RecordCount > 0 Then
  Label5.Caption = "Film yang disewa Tgl." + dcsewa
  List1.Enabled = True
Else
  xpkembali.Enabled = False
  List1.Enabled = False
  Label5.Caption = ""
  xplagi.SetFocus
End If
End Sub

Private Sub List1_Click()
xpkembali.Enabled = True
End Sub

Private Sub Timer1_Timer()
 txtjamkembali.Text = Time
End Sub
Private Sub caritglsewa()
Set Rssewa = Nothing
Rssewa.Open "Select tglsewa from tblsewa Where noang = '" & txtnoang & "' and tahun='" & txtthn & "' and
stssewa='Sewa' group by tglsewa", Koneksi, adOpenDynamic, adLockOptimistic
Set dcsewa.RowSource = Rssewa
dcsewa.ListField = "tglsewa"
End Sub

Private Sub ls2()
Set rstampil = Nothing
rstampil.Open "Select tblfilm.namafilm from tblfilm,tblkembali where tblkembali.tahun='" & txtthn & "' and
tblkembali.noang='" & txtnoang & "' and tblkembali.nofilm=tblfilm.nofilm and tblkembali.tglkembali= #" & b1
& "/" & T1 & "/" & Th1 & "# group by tblfilm.namafilm", Koneksi, adOpenDynamic, adLockOptimistic
Set List2.RowSource = rstampil
List2.ListField = "namafilm"
If rstampil.RecordCount > 0 Then
  xpbatal.Enabled = True
  List2.Enabled = True
  cekbyr
  Label6.Caption = "Film yang dikembalikan Tgl." + Format(dtptglkembali)
Else
  List2.Enabled = False
  xpbatal.Enabled = False
  Label6.Caption = ""
  cekbyr
End If
End Sub

Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
  'txtnamaang.Text = ""
  sql = "Select namaang,noang,stsang from tblanggota Where Namaang like '" & txtnamaang & "%' and tahun='"
& txtthn & "' order by noang"
  Ada = True
  frminfo.Caption = ">>> Info Data Anggota Tahun " & txtthn & " <<<"
  frminfo.Show vbModal, Me
  Ada = False
  txtnoang.Text = frminfo.Kode
  'txtnamaang.Text = frminfo.Teks
  txtnoang.Enabled = True
  txtnoang_Lostfocus
  End If
  If KeyCode = vbKeyReturn Then
     SendKeys vbTab
  End If
End Sub

                                                    31
Private Sub txtnoang_Lostfocus()
   ckode = Trim(txtnoang.Text)
 If ckode = Empty Then
    Exit Sub
 End If
 If Rsanggota.RecordCount > 0 Then
    Rsanggota.MoveFirst
 End If
  Set Rsanggota = Nothing
    Rsanggota.Open "[tblanggota] where noang = '" & txtnoang & " ' And " & _
    " tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic
 If Rsanggota.EOF Then
      X = MsgBox("Sorry, Anggota dengan No. Anggota " & txtnoang & " tersebut belum terdaftar", 0 + 64,
"Konfirmasi")
      txtnoang.Text = ""
      txtnoang.Enabled = False
      txtnamaang.SetFocus
      Ada1 = False
 Else
    txtnamaang.Text = Rsanggota!namaang
    Set Rssewa = Nothing
    Rssewa.Open "Select * from tblsewa Where noang = '" & txtnoang & "' and tahun='" & txtthn & "'and
stssewa='Sewa'", Koneksi, adOpenDynamic, adLockOptimistic
    If Rssewa.RecordCount > 0 Then
      kj = Rssewa!tglsewa
      dcsewa.Enabled = True
      cbofisik.Enabled = True
      xpkembali.Enabled = True
    Else
      dcsewa.Enabled = False
      cbofisik.Enabled = False
      xpkembali.Enabled = False
    End If
    ls2
    caritglsewa
    dcsewa = Date
    If kj <> dcsewa Then
         xpbatal.Enabled = False
    Else
         xpbatal.Enabled = True
    End If
    'dcsewa.Text = ""
    Ada1 = True
  End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub
Private Sub Up1_Change()
 txtthn.Text = up1
End Sub

Private Sub xpcetak_Click()
tgsewa
Set Rssewa = Nothing
Rssewa.Open "[tblsewa] where noang='" & txtnoang & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#",
Koneksi, adOpenDynamic, adLockOptimistic
If Rssewa.RecordCount > 0 Then
  rr = Rssewa.RecordCount
End If
If txtnoang.Text <> Empty Then
  Lama = dtptglkembali - CDate(dcsewa.Text)
  If Lama = 0 Then
     Lama = 1
  Else
     If Lama >= 1 Then
       If Val(Left(txtjamkembali.Text, 2)) < 15 Then
         Lama = Lama
       ElseIf Val(Left(txtjamkembali.Text, 2)) > 15 Then
         Lama = Lama + 0.5
       ElseIf Val(Left(txtjamkembali.Text, 2)) > 16 Then
         Lama = Lama + 1
       End If
                                                   32
End If
  End If
  aa = Lama
  If Val(aa) > Val(rr) Then
    lm = (Val(aa) - Val(rr))
  Else
    lm = "-"
  End If
End If
crpcetak1.ReportFileName = App.Path & "" & "rptbuktidenda.rpt"
crpcetak1.SelectionFormula = " {tblkembali.noang} ='" & txtnoang & "' and {tblkembali.tahun} ='" & txtthn & "'
and {tblkembali.tglkembali} = #" & b1 & "-" & T1 & "-" & Th1 & "# "
crpcetak1.Formulas(0) = "tglsewa ='" & dcsewa & "'"
crpcetak1.Formulas(1) = "lama='" & lm & " Hari'"
crpcetak1.RetrieveDataFiles
crpcetak1.WindowState = crptMaximized
crpcetak1.Action = 1
'crpcetak1.RetrieveDataFiles
'crpcetak1.WindowState = crptMaximized
'crpcetak1.CopiesToPrinter = 1
'crpcetak1.Destination = crptToPrinter
'crpcetak1.Action = 1
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub
Private Sub xplagi_Click()
If List1.Text = Empty Then
y = MsgBox("Yakin tidak data yang keliru ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi")
      Select Case y
        Case vbYes
        lagi
        Case vbNo
        List2.SetFocus
      End Select
Else
lagi
End If
End Sub

Private Sub lagi()
txtnoang.Text = ""
txtnamaang.Text = ""
Label5.Caption = ""
Label6.Caption = ""
cbofisik.Text = ""
dcsewa.Enabled = False
dcsewa = Date
txtbayar.Text = "Rp. 0"
ls1
ls2
cekbyr
txtnamaang.SetFocus
End Sub

Private Sub xpkembali_Click()
'dcsewa = Date
xpkembali.Enabled = False
cek = frmmnutama.stb.Panels(1).Text
If cek = "???" Then
  MsgBox "Password yang anda gunakan adalah password ! " & vbCrLf & " yang tidak dapat digunakan untuk
penyimpanan !", 0 + 64, "Konfirmasi"
  xplagi_Click
  xpkeluar.SetFocus
  Exit Sub
End If
If txtnoang.Text = Empty Then
  MsgBox "Masukkan dulu Data anggota yang mengembalikan ! " & vbCrLf & " Bantuan tekan F1", 0 + 64,
"Konfirmasi"
  txtnamaang.SetFocus
  Exit Sub
End If
                                                     33
If cbofisik.Text = Empty Then
   MsgBox "Masukkan dulu keadaan film yang dikembalikan !", 0 + 64, "Konfirmasi"
   cbofisik.SetFocus
   Exit Sub
End If
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.RecordCount > 0 Then
   ck = Rsfilm!nofilm
   kk = Rsfilm!jenisfilm
End If
Set Rsbysewa = Nothing
Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Rsbysewa.RecordCount > 0 Then
   ct = Rsbysewa!jmlby
   dd = Rsbysewa!denda
End If
tgsewa
Set Rssewa = Nothing
Rssewa.Open "[tblsewa] where noang='" & txtnoang & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#",
Koneksi, adOpenDynamic, adLockOptimistic
If Rssewa.RecordCount > 0 Then
   ll = Rssewa!jamsewa
   rr = Rssewa.RecordCount
End If
If txtnoang.Text <> Empty Then
   Lama = dtptglkembali - CDate(dcsewa.Text)
   If Lama = 0 Then
      Lama = 1
   Else
      If Lama >= 1 Then
        If Val(Left(txtjamkembali.Text, 2)) < 15 Then
          Lama = Lama
        ElseIf Val(Left(txtjamkembali.Text, 2)) > 15 Then
          Lama = Lama + 0.5
        ElseIf Val(Left(txtjamkembali.Text, 2)) > 16 Then
          Lama = Lama + 1
        End If
      End If
   End If
   aa = Lama
   End If
   If Val(aa) > Val(rr) Then
      denda = dd * (aa - rr) '=====> rumus denda
      lm = aa - rr
   Else
      denda = 0
   End If
jj = frmreading.label3.caption
tgsewa
Set Rskembali = Nothing
Rskembali.Open "[tblkembali] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi,
adOpenDynamic, adLockOptimistic
If Rskembali.EOF Then
   Rskembali.AddNew
   Rskembali!noang = txtnoang.Text
   Rskembali!nofilm = ck
   Rskembali!tglkembali = dtptglkembali
   Rskembali!denda = denda
   Rskembali!tahun = txtthn.Text
   Rskembali!nokary = jj
   Rskembali!stsfisik = cbofisik.Text
   Rskembali!jamkembali = txtjamkembali.Text
   Rskembali.Update
   Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
   Koneksi.Execute "update tblsewa set stssewa='Kembali' where nofilm='" & ck & "'and noang='" & txtnoang &
"' and tahun='" & txtthn & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#"
Else
   Rskembali.AddNew
   Rskembali!noang = txtnoang.Text
   Rskembali!nofilm = ck
   Rskembali!tglkembali = dtptglkembali
                                                    34
Rskembali!denda = denda
   Rskembali!tahun = txtthn.Text
   Rskembali!nokary = jj
   Rskembali!stsfisik = cbofisik.Text
   Rskembali!jamkembali = txtjamkembali.Text
   Rskembali.Update
   Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'"
   Koneksi.Execute "update tblsewa set stssewa='Kembali' where nofilm='" & ck & "'and noang='" & txtnoang &
"' and tahun='" & txtthn & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#"
End If
ls2
ls1
'cekbyr
End Sub

Private Sub xpbatal_Click()
tgsewa
Set Rsfilm = Nothing
Rsfilm.Open "[tblfilm] where namafilm ='" & List2 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic,
adLockOptimistic
If Rsfilm.RecordCount > 0 Then
  ck = Rsfilm!nofilm
End If
  Koneksi.Execute "delete * from tblkembali where nofilm ='" & ck & "' and noang ='" & txtnoang & "'and
tahun='" & txtthn & "'and tglkembali= #" & b1 & "/" & T1 & "/" & Th1 & "# "
  Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'"
  Koneksi.Execute "update tblsewa set stssewa='Sewa' where nofilm ='" & ck & "' and noang ='" & txtnoang &
"'and tahun='" & txtthn & "'and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#"
  ls1
  ls2
  cekbyr
End Sub

Private Sub cekbyr()
Set Rskembali = Nothing
Rskembali.Open "[tblkembali] where noang='" & txtnoang & "' and tglkembali = #" & b1 & "/" & T1 & "/" &
Th1 & "# ", Koneksi, adOpenDynamic, adLockOptimistic
  If Rskembali.EOF Then
       txtbayar.Text = "Rp. 0"
       Exit Sub
  Else
      Do While Not Rskembali.EOF
        msub1 = msub1 + Val(Val(Rskembali!denda))
        Rskembali.MoveNext
      Loop
  End If
      txtbayar.Text = "Rp. " + Format(msub1, "###,###,##0")

   If msub1 > 0 Then
     xpcetak.Enabled = True
   Else
     xpcetak.Enabled = False
   End If
End Sub
----------------------------------------------------------------------------------------------------------------------------- -----------

                                          Form Cetak Anggota – Frmcetakanggota                                         Up1
    optseluruh
                                                                                                                       txtthn
     cbostatus
                                                                                                                     xpcetak
     optstatus
                                                                                                                     xpkeluar
     optdaftar
                                                                                                                     Dtptgl1

                                                                                                                     Dtptgl2




                                                                   35
Listing Frmcetakanggota

Public T1, T2, b1, B2, Th1, Th2 As Integer
Private Sub Form_Activate()
frmmnutama.Enabled = False
End Sub

Private Sub Form_Load()                                             Static Structur
BukaDatabase                                                         frmcetakanggota
up1.Value = Year(Date)
                                                             +T1
txtthn.Text = up1                                            +T2
dtptgl1 = Date                                               +b1
dtptgl2 = Date                                               +B2
dtpTgl1_LostFocus                                            +Th1
DTPTgl2_LostFocus                                            +Th2 : Integer
cbostatus.Enabled = False                                    -Form_Activate()
                                                             -Form_Load()
dtptgl1.Enabled = False                                      -dtpTgl1_LostFocus()
dtptgl2.Enabled = False                                      -DTPTgl2_LostFocus()
cbostatus.List(0) = "Aktif"                                  -Form_Unload(in Cancel : Integer)
cbostatus.List(1) = "Tidak Aktif"                            -optdaftar_Click()
End Sub                                                      -optseluruh_Click()
                                                             -optstatus_Click()
                                                             -xpkeluar_Click()
Private Sub dtpTgl1_LostFocus()                              -Up1_Change()
 T1 = Left(dtptgl1, 2)                                       -xpcetak_Click()
 b1 = Mid(dtptgl1, 4, 2)
 Th1 = Right(dtptgl1, 4)
 DTPTgl2_LostFocus
End Sub

Private Sub DTPTgl2_LostFocus()
 T2 = Left(dtptgl2, 2)
 B2 = Mid(dtptgl2, 4, 2)
 Th2 = Right(dtptgl2, 4)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Koneksi.Close
End Sub

Private Sub optdaftar_Click()
cbostatus.Enabled = False
dtptgl1.Enabled = True
dtptgl2.Enabled = True
End Sub

Private Sub optseluruh_Click()
cbostatus.Enabled = False
dtptgl1.Enabled = False
dtptgl2.Enabled = False
End Sub

Private Sub optstatus_Click()
cbostatus.Enabled = True
dtptgl1.Enabled = False
dtptgl2.Enabled = False
End Sub

Private Sub xpkeluar_Click()
Unload Me
frmmnutama.Enabled = True
End Sub
Private Sub Up1_Change()
  txtthn.Text = up1
End Sub

Private Sub xpcetak_Click()
If optseluruh = True Then
    Set Rsanggota = Nothing
    Rsanggota.Open "[tblanggota] where Tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic
  If Rsanggota.EOF Then
      X = MsgBox("Data anggota untuk Tahun '" & txtthn & "' tidak ada", 0 + 64, "Konfirmasi")
      xpcetak.Enabled = True
      xpcetak.SetFocus
      Exit Sub
  Else
                                                   36
crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt"
      crpcetak1.SelectionFormula = " {tblanggota.tahun} ='" & txtthn & "'"
      crpcetak1.Formulas(0) = "periode ='Tahun : " & txtthn & "'"
      crpcetak1.RetrieveDataFiles
      crpcetak1.WindowState = crptMaximized
      crpcetak1.Action = 1
  End If
End If
If optstatus = True Then
  If cbostatus.Text = Empty Then
    MsgBox "Masukkan dulu status anggota !", , "Konfirmasi"
    cbostatus.SetFocus
    Exit Sub
  End If
    Set Rsanggota = Nothing
    Rsanggota.Open "[tblanggota] where stsang = '" & cbostatus & "' And " & _
    " Tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic
  If Rsanggota.EOF Then
      X = MsgBox("Data anggota yang berstatus '" & cbostatus & "' " & vbCrLf & " untuk Tahun '" & txtthn & "'
tidak ada", 0 + 64, "Konfirmasi")
      xpcetak.Enabled = True
      xpcetak.SetFocus
      Exit Sub
  Else
      crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt"
      crpcetak1.SelectionFormula = " {tblanggota.stsang} ='" & cbostatus & "' and {tblanggota.tahun} ='" &
txtthn & "'"
      crpcetak1.Formulas(0) = "periode ='Status " & cbostatus & " Tahun : " & txtthn & "'"
      crpcetak1.RetrieveDataFiles
      crpcetak1.WindowState = crptMaximized
      crpcetak1.Action = 1
  End If
End If
If optdaftar = True Then
  Set Rsanggota = Nothing
    Rsanggota.Open "[tblanggota] where tblanggota.stsang = 'Aktif' And " & _
    " tblanggota.Tahun='" & txtthn & "' and (tblanggota.tgldaftar>= #" & b1 & "/" & T1 & "/" & Th1 & "# " & _
    "and tblanggota.tgldaftar <= #" & B2 & "/" & T2 & "/" & Th2 & "# )", Koneksi, adOpenDynamic,
adLockOptimistic
  If Rsanggota.EOF Then
      X = MsgBox("Data Anggota Aktif yg mendaftar " & vbCrLf & " periode Tgl. '" & dtptgl1 & "' s/d '" &
dtptgl2 & "' tidak ada", 0 + 64, "Konfirmasi")
      xpcetak.Enabled = True
      xpcetak.SetFocus
      Exit Sub
  Else
      crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt"
      crpcetak1.SelectionFormula = " {tblanggota.stsang} ='Aktif' and {tblanggota.tahun} ='" & txtthn & "' and
{tblanggota.tgldaftar} >= #" & b1 & "-" & T1 & "-" & Th1 & "# " & _
      "and {tblanggota.tgldaftar} <= #" & B2 & "-" & T2 & "-" & Th2 & "#"
      If dtptgl1 = dtptgl2 Then
        tt = Format(dtptgl1)
      Else
        tt = Format(dtptgl1) + " s/d " + Format(dtptgl2)
      End If
      crpcetak1.Formulas(0) = "periode ='Tgl.Daftar : " & tt & "'"
      crpcetak1.RetrieveDataFiles
      crpcetak1.WindowState = crptMaximized
      crpcetak1.Action = 1
  End If
End If
End Sub




                                                     37
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012
Ebook Pembuatan Aplikasi Rental film 2012

Weitere ähnliche Inhalte

Ähnlich wie Ebook Pembuatan Aplikasi Rental film 2012

T3dallas typoscript
T3dallas typoscriptT3dallas typoscript
T3dallas typoscriptzdavis
 
AD215 - Practical Magic with DXL
AD215 - Practical Magic with DXLAD215 - Practical Magic with DXL
AD215 - Practical Magic with DXLStephan H. Wissel
 
Abap programming overview
Abap programming overview Abap programming overview
Abap programming overview k kartheek
 
Ebooktiketkapal
EbooktiketkapalEbooktiketkapal
Ebooktiketkapaldhi her
 
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft..."Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...Dataconomy Media
 
ABAP Programming Overview
ABAP Programming OverviewABAP Programming Overview
ABAP Programming Overviewsapdocs. info
 
Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01tabish
 
chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01tabish
 
Chapter 1 Abap Programming Overview
Chapter 1 Abap Programming OverviewChapter 1 Abap Programming Overview
Chapter 1 Abap Programming OverviewAshish Kumar
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02tabish
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02wingsrai
 
Flex3 Deep Dive Final
Flex3 Deep Dive FinalFlex3 Deep Dive Final
Flex3 Deep Dive FinalRJ Owen
 
Lesson 2 data preprocessing
Lesson 2   data preprocessingLesson 2   data preprocessing
Lesson 2 data preprocessingAbdurRazzaqe1
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handlingSuite Solutions
 
Using SPMetal for faster SharePoint development
Using SPMetal for faster SharePoint developmentUsing SPMetal for faster SharePoint development
Using SPMetal for faster SharePoint developmentPranav Sharma
 
The one thing to list everything
The one thing to list everythingThe one thing to list everything
The one thing to list everythingDaniel Lienert
 
Building Content Types with Dexterity
Building Content Types with DexterityBuilding Content Types with Dexterity
Building Content Types with DexterityDavid Glick
 

Ähnlich wie Ebook Pembuatan Aplikasi Rental film 2012 (20)

T3dallas typoscript
T3dallas typoscriptT3dallas typoscript
T3dallas typoscript
 
Odp
OdpOdp
Odp
 
AD215 - Practical Magic with DXL
AD215 - Practical Magic with DXLAD215 - Practical Magic with DXL
AD215 - Practical Magic with DXL
 
Abap programming overview
Abap programming overview Abap programming overview
Abap programming overview
 
Ebooktiketkapal
EbooktiketkapalEbooktiketkapal
Ebooktiketkapal
 
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft..."Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...
"Source Code Abstracts Classification Using CNN", Vadim Markovtsev, Lead Soft...
 
ABAP Programming Overview
ABAP Programming OverviewABAP Programming Overview
ABAP Programming Overview
 
Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01Chapter 1abapprogrammingoverview-091205081953-phpapp01
Chapter 1abapprogrammingoverview-091205081953-phpapp01
 
chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01chapter-1abapprogrammingoverview-091205081953-phpapp01
chapter-1abapprogrammingoverview-091205081953-phpapp01
 
Chapter 1 Abap Programming Overview
Chapter 1 Abap Programming OverviewChapter 1 Abap Programming Overview
Chapter 1 Abap Programming Overview
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
 
Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02Abapprogrammingoverview 090715081305-phpapp02
Abapprogrammingoverview 090715081305-phpapp02
 
Flex3 Deep Dive Final
Flex3 Deep Dive FinalFlex3 Deep Dive Final
Flex3 Deep Dive Final
 
Lesson 2 data preprocessing
Lesson 2   data preprocessingLesson 2   data preprocessing
Lesson 2 data preprocessing
 
Gnuplot 2
Gnuplot 2Gnuplot 2
Gnuplot 2
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handling
 
Python cheat-sheet
Python cheat-sheetPython cheat-sheet
Python cheat-sheet
 
Using SPMetal for faster SharePoint development
Using SPMetal for faster SharePoint developmentUsing SPMetal for faster SharePoint development
Using SPMetal for faster SharePoint development
 
The one thing to list everything
The one thing to list everythingThe one thing to list everything
The one thing to list everything
 
Building Content Types with Dexterity
Building Content Types with DexterityBuilding Content Types with Dexterity
Building Content Types with Dexterity
 

Kürzlich hochgeladen

Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 

Kürzlich hochgeladen (20)

Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 

Ebook Pembuatan Aplikasi Rental film 2012

  • 1. EBOOK PANDUAN PEMROGRAMAN VISUAL BASIC “PEMBUATAN APLICATION RENTAL FILM” Oleh : Yanto Naim Email : infoitbangkep@gmail.com Web : www.itbangkep.wordpress.com Petunjuk : 1. Untuk membuat program ini, di computer anda harus terinstal : a. Visual Basic 6.0 b. Crystal Report 8.5 c. Componen tambahan : XpButton dan Icon Perintah. d. Disarankan system operasi yang digunakan adalah Windows XP. 2. Buat database dengan nama dbssewafilm (databasenya ada di hal. 48). 3. Jalankan Visual Basic, dan tambahkan komponen-komponen sebagai berikut : a. Crystal Report Control b. Microsoft Ado Data Control 6.0 (OLEDB) c. Microsoft Common Dialog Control 6.0 d. Microsoft Data Bound List Control 6.0 e. Microsoft DataGrid Control 6.0 (OLEDB) f. Microsoft DataList Control 6.0 (OLEDB) g. Microsoft Windows Common Control 6.0 (SP6) h. Microsoft Windows Common Control-2 6.0 (SP4) i. ucXPButton Tampilan Microsoft Visual Basic Menu Utama Aktif Form Form Properties Form Komponen Pengetikan Listing Tampilan Cystal Report 8.5 Menu Utama Report Header Report Footer Page Header Detail Page Footer Database & Componen Crystal 1
  • 2. PENGATURAN PROPERTIES ALL FORM Objek Properties Keterangan Form Name Nama form BackColor Warna baground form BorderStyle Bingkai form Caption Judul form Icon Icon form MaxButton True, False MinButton True, False Picture Gambar baground form StartUpPosition Posisi form pada saat dijalankan Visible True, False Height Ukuran tinggi form Widht Ukuran lebar form TextBox Name Nama Textbox Alignment Posisi teks (kiri, tengah, kanan) BorderStyle Bingkai textbox TabIndex urutan index MaxLenght banyaknya karakter yang diinput Text Keterangan (dikosongkan saja) ToolTipText Catatan petunjuk Visible True, False Label Name Nama Label Caption Keterangan Label Frame Name Nama Frame Caption Keterangan Frame OptionButton Name Nama OptionButton Caption Keterangan Option XPButton Name Name Command Button Caption Keterangan Command Button ColorScheme - Pilih Custom ComboBox Name Nama Combo DataCombo Name Nama DataCombo UpDown Name Nama Updown Max Nilai tertinggi, misal : 9999 Min Nilai terendah, misal : 2008 DTPicker Name Nama DTPicker DataGrid Name Nama Grid BorderStyle Bingkai Grid RowDividerStyle Bingkai Garis CrystalReport Name Nama CrystalReport Contoh : 1. Penulisan Listing – Modul1 2. Penulisan Listing – FrmAnggota 2
  • 3. Modul1 – Modul1 Public Koneksi As New ADODB.Connection Public Rsanggota As New ADODB.Recordset Public Rsfilm As New ADODB.Recordset Public Rssewa As New ADODB.Recordset Public Rskembali As New ADODB.Recordset Public Rsbysewa As New ADODB.Recordset Public Rskaryawan As New ADODB.Recordset Sub BukaDatabase() Set Koneksi = Nothing Koneksi.CursorLocation = adUseClient Koneksi.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "dbssewafilm.mdb;jet OLEDB:Database Password=;" Rsanggota.Open "[tblanggota]", Koneksi, adOpenDynamic, adLockOptimistic Rsfilm.Open "[tblfilm]", Koneksi, adOpenDynamic, adLockOptimistic Rssewa.Open "[tblsewa]", Koneksi, adOpenDynamic, adLockOptimistic Rskembali.Open "[tblkembali]", Koneksi, adOpenDynamic, adLockOptimistic Rsbysewa.Open "[tblbysewa]", Koneksi, adOpenDynamic, adLockOptimistic Rskaryawan.Open "[tblkaryawan]", Koneksi, adOpenDynamic, adLockOptimistic End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- Form Anggota – Frmanggota txtthn Up1 txtnamaang txtnoang Txtt4 dtplahir optlaki optbk optperempuan optm txtnoktp txtalamat dtpmsber txttelp txtbydaftar dtpdaftar txtstsang Grid1 xpedit xphapus xpbatal xptambah xpkeluar Listing FrmAnggota Public Ada1, Valid As Boolean Dim rstampil As New ADODB.Recordset Private Sub blankform1() txtnamaang.Text = "": txtt4.Text = "": optlaki = False optperempuan = False: optbk = False: optm = False: txtalamat.Text = "" txttelp.Text = "": txtnoktp.Text = "": txtstsang.Text = "Aktif" txtbydaftar.Text = "" End Sub Private Sub tidaksiapisi() txtnamaang.Enabled = False: txtt4.Enabled = False: dtptgllahir.Enabled = False: optlaki.Enabled = False optperempuan.Enabled = False: optbk.Enabled = False: optm.Enabled = False: txtalamat.Enabled = False txttelp.Enabled = False: txtnoktp.Enabled = False: txtstsang.Enabled = False: dtptgldaftar.Enabled = False dtpmsber.Enabled = False: txtbydaftar.Enabled = False End Sub Private Sub SiapIsi1() txtnamaang.Enabled = True: txtt4.Enabled = True: dtptgllahir.Enabled = True: optlaki.Enabled = True optperempuan.Enabled = True: optbk.Enabled = True: optm.Enabled = True: txtalamat.Enabled = True txttelp.Enabled = True: txtnoktp.Enabled = True: txtstsang.Enabled = False: dtptgldaftar.Enabled = True dtpmsber.Enabled = True: txtbydaftar.Enabled = True End Sub 3
  • 4. Private Sub isitabelanggota() If optlaki = True Then ct = "Laki-Laki" Else ct = "Perempuan" End If If optbk = True Then ck = "Belum Menikah" Else ck = "Menikah" End If Rsanggota!noang = txtnoang.Text: Rsanggota!namaang = txtnamaang.Text Rsanggota!T4 = txtt4.Text: Rsanggota!tgllahir = dtptgllahir Rsanggota!jeniskel = ct: Rsanggota!stskel = ck Rsanggota!alamat = txtalamat.Text: Rsanggota!notelp = txttelp.Text Rsanggota!noktp = txtnoktp.Text: Rsanggota!stsang = txtstsang.Text Rsanggota!tgldaftar = dtptgldaftar: Rsanggota!msber = dtpmsber Rsanggota!tahun = txtthn.Text: Rsanggota!bydaftar = txtbydaftar.Text Rsanggota!tglubah = Date End Sub Private Sub AktifTombol() xpsimpan.Enabled = True xpedit.Enabled = True xphapus.Enabled = True End Sub Private Sub tutuptombol() xphapus.Enabled = False xpedit.Enabled = False End Sub Private Sub isiformanggota() txtnamaang.Text = Rsanggota!namaang txtt4.Text = Rsanggota!T4: dtptgllahir = Rsanggota!tgllahir If Rsanggota!jeniskel = "Laki-Laki" Then optlaki.Value = True Else optperempuan.Value = True End If If Rsanggota!stskel = "Belum Menikah" Then optbk.Value = True Else optm.Value = True End If txtalamat.Text = Rsanggota!alamat: txttelp.Text = Rsanggota!notelp txtnoktp.Text = Rsanggota!noktp: txtstsang.Text = Rsanggota!stsang dtptgldaftar = Rsanggota!tgldaftar: dtpmsber = Rsanggota!msber txtbydaftar.Text = Rsanggota!bydaftar End Sub Private Sub Validasi() Valid = False If txtnamaang.Text = Empty Then X = MsgBox("nama anggota harus diisi", 0 + 16, "konfirmasi") txtnamaang.Text = "" txtnamaang.SetFocus Exit Sub ElseIf txtt4.Text = Empty Then X = MsgBox("Tempat lahir harus diisi", 0 + 16, "konfirmasi") txtt4.Text = "" txtt4.SetFocus Exit Sub ElseIf txtalamat.Text = Empty Then X = MsgBox("Alamat harus diisi", 0 + 16, "konfirmasi") txtalamat.Text = "" txtalamat.SetFocus Exit Sub ElseIf txttelp.Text = Empty Then X = MsgBox("No Telpon / HP harus diisi", 0 + 16, "konfirmasi") txttelp.Text = "" txttelp.SetFocus Exit Sub ElseIf txtnoktp.Text = Empty Then 4
  • 5. X = MsgBox("No KTP harus diisi", 0 + 16, "konfirmasi") txtnoktp.Text = "" txtnoktp.SetFocus Exit Sub ElseIf txtbydaftar.Text = Empty Then X = MsgBox("Biaya daftar harus diisi", 0 + 16, "konfirmasi") txtbydaftar.Text = "" txtbydaftar.SetFocus Exit Sub End If Valid = True End Sub Private Sub Tampildata() Set rstampil = Nothing rstampil.Open "select noang,namaang,tgldaftar,msber,stsang from tblanggota order by noang ", Koneksi, adOpenDynamic, adLockOptimistic Set Grid1.DataSource = rstampil Grid1.Columns(0).Width = 1100 Grid1.Columns(1).Width = 3000 Grid1.Columns(2).Width = 1000 Grid1.Columns(3).Width = 1250 Grid1.Columns(4).Width = 1000 Grid1.Columns(0).Alignment = dbgCenter Grid1.Columns(2).Alignment = dbgCenter Grid1.Columns(4).Alignment = dbgCenter Grid1.Columns(0).Caption = "No Anggota" Grid1.Columns(1).Caption = "Nama Anggota" Grid1.Columns(2).Caption = "Tgl.daftar" Grid1.Columns(3).Caption = "Masa aktif s/d" Grid1.Columns(4).Caption = "Status" End Sub Private Sub Form_Activate() frmmnutama.Enabled = False Aturnoang End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub Form_Load() BukaDatabase blankform1 up1.Value = Year(Date) txtthn.Text = up1 tidaksiapisi tutuptombol xpsimpan.Caption = "&Tambah" Tampildata dtptgldaftar = Date dtptgllahir = Date dtpmsber = Date End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub txtbydaftar_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _ KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtnoang_Click() blankform1 End Sub Private Sub txtnoang_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub 5
  • 6. Private Sub txtnoang_Lostfocus() ckode = Trim(txtnoang.Text) If ckode = Empty Then Exit Sub End If If Rsanggota.RecordCount > 0 Then Rsanggota.MoveFirst End If 'Rsanggota.Find ("noang = '" & ckode & "'") Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where noang ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then blankform1 SiapIsi1 txtnamaang.SetFocus Ada1 = False tutuptombol xpsimpan.Caption = "&Simpan" Static Structur Else frmanggota tidaksiapisi +Ada1 isiformanggota +Valid : Boolean xpedit.Enabled = True -rstampil : Recordset xphapus.Enabled = True -blankform1() Ada1 = True -tidaksiapisi() End If -SiapIsi1() End Sub -isitabelanggota() -AktifTombol() Private Sub xpsimpan_Click() -tutuptombol() If xpsimpan.Caption = "&Tambah" Then -isiformanggota() xpbatal_Click -Validasi() Aturnoang -Tampildata() -Form_Activate() Exit Sub -Up1_Change() End If -Form_Load() Validasi -Form_Unload(in Cancel : Integer) If Valid = True Then -txtbydaftar_KeyPress(in KeyAscii : Integer) If Ada1 = False Then -txtnoang_Click() Rsanggota.AddNew -txtnoang_KeyPress(in KeyAscii : Integer) isitabelanggota -txtnoang_Lostfocus() Rsanggota.Update -xpsimpan_Click() Else -xpbatal_Click() isitabelanggota -xpedit_click() -xphapus_Click() Rsanggota.Update -xpkeluar_Click() End If -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer) xpsimpan.Caption = "&Tambah" -txtnoang_KeyDown(in KeyCode : Integer, in Shift : Integer) Else -txtnamaang_KeyDown(in KeyCode : Integer, in Shift : Integer) xpsimpan.Caption = "&Simpan" -txtt4_keydown(in KeyCode : Integer, in Shift : Integer) End If -dtptgllahir_keydown(in KeyCode : Integer, in Shift : Integer) Rsanggota.Requery -txtalamat_keydown(in KeyCode : Integer, in Shift : Integer) Tampildata -txttelp_keydown(in KeyCode : Integer, in Shift : Integer) Aturnoang -txtnoktp_keydown(in KeyCode : Integer, in Shift : Integer) End Sub -dtptgldaftar_keydown(in KeyCode : Integer, in Shift : Integer) -dtpmsber_keydown(in KeyCode : Integer, in Shift : Integer) -txtbydaftar_keydown(in KeyCode : Integer, in Shift : Integer) Private Sub xpbatal_Click() -Aturnoang() Aturnoang blankform1 tidaksiapisi txtnoang.Enabled = True txtnoang.SetFocus xpsimpan.Caption = "&Tambah" tutuptombol End Sub Private Sub xpedit_click() tutuptombol Ada1 = True SiapIsi1 txtnoang.Enabled = False xpsimpan.Caption = "&Simpan" txtnamaang.SetFocus End Sub Private Sub xphapus_Click() ckode = Trim(txtnoang.Text) 6
  • 7. Rssewa.Find ("noang='" & ckode & "'"), , adSearchForward, 1 Rskembali.Find ("noang='" & ckode & "'"), , adSearchForward, 1 If Not Rssewa.EOF Then X = MsgBox("maaf data anggota tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnoang.SetFocus Exit Sub ElseIf Not Rskembali.EOF Then X = MsgBox("maaf data anggota tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnoang.SetFocus Exit Sub Else y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes Koneksi.Execute "delete * from tblanggota where noang ='" & ckode & "' and tahun='" & txtthn & "'" Case vbNo End Select End If xpbatal_Click Rsanggota.Requery Tampildata End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then If Rsanggota.RecordCount > 0 Then txtnoang.Text = Grid1.Columns(0) txtnoang_Lostfocus End If End If End Sub Private Sub txtnoang_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtt4_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dtptgllahir_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtalamat_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txttelp_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtnoktp_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then 7
  • 8. SendKeys vbTab End If End Sub Private Sub dtptgldaftar_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dtpmsber_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtbydaftar_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub Aturnoang() Set Rsanggota = Nothing Rsanggota.Open "Select * From tblanggota Where tahun ='" & txtthn & "' order by noang", Koneksi k1 = Right(txtthn, 2) + "-" If Rsanggota.RecordCount = 0 Then cno = "0001" Else Rsanggota.MoveLast Na = Val(Right(Rsanggota!noang, 4)) + 1 If Len(Na) = 1 Then cno = "000" + Trim(Str(Na)) ElseIf Len(Na) = 2 Then cno = "00" + Trim(Str(Na)) ElseIf Len(Na) = 3 Then cno = "0" + Trim(Str(Na)) ElseIf Len(Na) = 4 Then cno = Trim(Str(Na)) End If End If txtnoang.Text = k1 + cno End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- Form Film - FrmFilm txtthn Up1 txtnofilm Label19 Txtnamafilm dtptglmasuk dcjenis cbokeping txtsinopsis txtaktor txtstatusfilm txtaktris txtstatusfisik dtptglproduksi Grid1 xpedit xphapus xptambah xpbatal xpkeluar 8
  • 9. Listing FrmFilm Public Ada, Ada1, Valid As Boolean Public sql As String Dim rstampil As New ADODB.Recordset Dim rscari As New ADODB.Recordset Private Sub blankform1() txtnamafilm.Text = "": dcjenis.Text = "": cbokeping.Text = "": dcjenis.Text = "" txtsinopsis.Text = "": txtaktor.Text = "": txtaktris.Text = "" txtstatusfilm.Text = "": txtstatusfisik.Text = "": chkcari.Value = novbchecked End Sub Private Sub tidaksiapisi() txtnamafilm.Enabled = False: dcjenis.Enabled = False: dtptglmasuk.Enabled = False: cbokeping.Enabled = False txtsinopsis.Enabled = False: txtaktor.Enabled = False: txtaktris.Enabled = False: dtptglproduksi.Enabled = False txtstatusfilm.Enabled = False: txtstatusfisikEnabled = False: chkcari.Enabled = False ---- gk perlu End Sub Private Sub SiapIsi1() txtnamafilm.Enabled = True: dcjenis.Enabled = True: cbokeping.Enabled = True: dtptglmasuk.Enabled = True txtsinopsis.Enabled = True: txtaktor.Enabled = True: txtaktris.Enabled = True: dtptglproduksi.Enabled = True End Sub Private Sub isitabelfilm() Rsfilm!nofilm = txtnofilm.Text If chkcari.Value = vbchecked Then Rsfilm!namafilm = dcnamafilm.Text Else Rsfilm!namafilm = txtnamafilm.Text End If Rsfilm!jenisfilm = dcjenis: Rsfilm!tglmasuk = dtptglmasuk Rsfilm!jmlkeping = cbokeping.Text: Rsfilm!sinopsis = txtsinopsis.Text Rsfilm!aktor = txtaktor.Text: Rsfilm!aktris = txtaktris.Text Rsfilm!tglproduksi = dtptglproduksi: Rsfilm!stsfilm = "Ada" Rsfilm!tahun = txtthn.Text: Rsfilm!stsfisik = "Baik" End Sub Private Sub AktifTombol() xpsimpan.Enabled = True xpedit.Enabled = True xphapus.Enabled = True End Sub Private Sub tutuptombol() xphapus.Enabled = False xpedit.Enabled = False End Sub Private Sub isiformfilm() txtnamafilm.Text = Rsfilm!namafilm dcjenis = Rsfilm!jenisfilm: dtptglmasuk = Rsfilm!tglmasuk cbokeping.Text = Rsfilm!jmlkeping: txtsinopsis.Text = Rsfilm!sinopsis txtaktor.Text = Rsfilm!aktor: txtaktris.Text = Rsfilm!aktris dtptglproduksi = Rsfilm!tglproduksi: txtstatusfilm.Text = Rsfilm!stsfilm txtstatusfisik.Text = Rsfilm!stsfisik End Sub Private Sub Validasi() Valid = False If chkcari.Value = novbchecked Then If txtnamafilm.Text = Empty Then X = MsgBox("nama film harus diisi", 0 + 16, "konfirmasi") txtnamafilm.Text = "" txtnamafilm.SetFocus Exit Sub ElseIf dcjenis.Text = Empty Then X = MsgBox("Jenis film harus diisi", 0 + 16, "konfirmasi") dcjenis.Text = "" dcjenis.SetFocus Exit Sub ElseIf cbokeping.Text = Empty Then X = MsgBox("Jumlah keping film harus diisi", 0 + 16, "konfirmasi") cbokeping.Text = "" 9
  • 10. cbokeping.SetFocus Exit Sub ElseIf txtsinopsis.Text = Empty Then X = MsgBox("Sinopsis film harus diisi", 0 + 16, "konfirmasi") txtsinopsis.Text = "" txtsinopsis.SetFocus Exit Sub ElseIf txtaktor.Text = Empty Then X = MsgBox("Nama Aktor Film harus diisi", 0 + 16, "konfirmasi") txtaktor.Text = "" txtaktor.SetFocus Exit Sub ElseIf txtaktris.Text = Empty Then X = MsgBox("Nama Aktris Film harus diisi", 0 + 16, "konfirmasi") txtaktris.Text = "" txtaktris.SetFocus Exit Sub End If End If Valid = True End Sub Private Sub Tampildata() Set rstampil = Nothing rstampil.Open "select nofilm,namafilm,tglmasuk,jenisfilm,stsfilm from tblfilm order by nofilm ", Koneksi, adOpenDynamic, adLockOptimistic Set Grid1.DataSource = rstampil Grid1.Columns(0).Width = 1100 Grid1.Columns(1).Width = 3500 Grid1.Columns(2).Width = 1250 Grid1.Columns(3).Width = 1000 Grid1.Columns(4).Width = 1000 Grid1.Columns(0).Alignment = dbgCenter Grid1.Columns(2).Alignment = dbgCenter Grid1.Columns(0).Caption = "No. Film" Grid1.Columns(1).Caption = "Nama Film" Grid1.Columns(2).Caption = "Tgl.Masuk" Grid1.Columns(3).Caption = "Jenis Film" Grid1.Columns(4).Caption = "Status Film" If rstampil.RecordCount > 0 Then Label19.Caption = "Jumlah Film " + Format(rstampil.RecordCount) Else Label19.Caption = "" End If End Sub Private Sub Form_Activate() frmmnutama.Enabled = False End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub Form_Load() BukaDatabase aturnofilm blankform1 up1.Value = Year(Date) txtthn.Text = up1 tidaksiapisi tutuptombol xpsimpan.Caption = "&Tambah" Tampildata Carifilm -------- gk perlu dtptglmasuk = Date dtptglproduksi = Date cbokeping.List(0) = "1" cbokeping.List(1) = "2" cbokeping.List(2) = "3" cbokeping.List(3) = "4" cbokeping.List(4) = "5" dcnamafilm.Visible = False Set rscari = Nothing 10
  • 11. rscari.Open "Select jenisfilm from tblbysewa where tahun='" & txtthn & "' group by jenisfilm", Koneksi, adOpenDynamic, adLockOptimistic Set dcjenis.RowSource = rscari dcjenis.ListField = "jenisfilm" End Sub Private Sub chkcari_Click() If chkcari.Value = vbchecked Then dcnamafilm.Visible = True txtnamafilm.Visible = False dcnamafilm.SetFocus Else dcnamafilm.Visible = False txtnamafilm.Visible = True blankform1 txtnofilm.SetFocus End If End Sub Private Sub dcnamafilm_Click(Area As Integer) Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & dcnamafilm & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Not Rsfilm.EOF Then isiform2 End If End Sub Private Sub isiform2() dcjenis = Rsfilm!jenisfilm: dtptglmasuk = Rsfilm!tglmasuk cbokeping.Text = Rsfilm!jmlkeping: txtsinopsis.Text = Rsfilm!sinopsis txtaktor.Text = Rsfilm!aktor: txtaktris.Text = Rsfilm!aktris dtptglproduksi = Rsfilm!tglproduksi: txtstatusfilm.Text = Rsfilm!stsfilm txtstatusfisik.Text = Rsfilm!stsfisik End Sub Private Sub carifilm() Set rscari = Nothing rscari.Open "Select namafilm from tblfilm where tahun='" & txtthn & "' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set dcnamafilm.RowSource = rscari dcnamafilm.ListField = "namafilm" End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub txtnofilm_Click() blankform1 End Sub Private Sub txtnofilm_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtnofilm_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then txtnofilm.Text = "" sql = "Select namafilm,nofilm,stsfilm from tblfilm Where tahun='" & txtthn & "' order by nofilm" Ada = True frminfo.Caption = ">>> Info Data Film Tahun " & txtthn & " <<<" frminfo.Grid1.Columns(0).Width = 3000 frminfo.Grid1.Columns(1).Width = 1000 frminfo.Grid1.Columns(2).Width = 1250 frminfo.Show vbModal, Me Ada = False txtnofilm.Text = frminfo.Kode txtnofilm_Lostfocus End If If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub 11
  • 12. Private Sub txtnofilm_Lostfocus() ckode = Trim(txtnofilm.Text) If ckode = Empty Then Exit Sub End If If Rsfilm.RecordCount > 0 Then Rsfilm.MoveFirst End If 'Rsfilm.Find ("nofilm = '" & ckode & "'") Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where nofilm ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.EOF Then blankform1 SiapIsi1 chkcari.Enabled = True ---- gk perlu txtnamafilm.SetFocus Ada1 = False tutuptombol xpsimpan.Caption = "&Simpan" Else tidaksiapisi isiformfilm xpedit.Enabled = True xphapus.Enabled = True Static Structur Ada1 = True frmfilm End If +Ada End Sub +Ada1 +Valid : Boolean Private Sub xpsimpan_Click() +sql : String -rstampil : Recordset If xpsimpan.Caption = "&Tambah" Then -rscari : Recordset xpbatal_Click -blankform1() aturnofilm -tidaksiapisi() Exit Sub -SiapIsi1() End If -isitabelfilm() Validasi -AktifTombol() -tutuptombol() If Valid = True Then -isiformfilm() If Ada1 = False Then -Validasi() Rsfilm.AddNew -Tampildata() isitabelfilm -Form_Activate() Rsfilm.Update -Up1_Change() -Form_Load() Else -chkcari_Click() isitabelfilm -dcnamafilm_Click(in Area : Integer) Rsfilm.Update -carifilm() End If -isiform2() xpsimpan.Caption = "&Tambah" -Form_Unload(in Cancel : Integer) -txtnofilm_Click() Else -txtnofilm_KeyPress(in KeyAscii : Integer) xpsimpan.Caption = "&Simpan" -txtnofilm_KeyDown(in KeyCode : Integer, in Shift : Integer) End If -txtnofilm_Lostfocus() Rsfilm.Requery -xpsimpan_Click() Tampildata -xpbatal_Click() -xpedit_click() aturnofilm -xphapus_Click() End Sub -xpkeluar_Click() -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer) Private Sub xpbatal_Click() -txtnamafilm_keydown(in KeyCode : Integer, in Shift : Integer) aturnofilm -dcjenis_keydown(in KeyCode : Integer, in Shift : Integer) -dtptglmasuk_keydown(in KeyCode : Integer, in Shift : Integer) blankform1 -txtsinopsis_keydown(in KeyCode : Integer, in Shift : Integer) tidaksiapisi -txtaktor_keydown(in KeyCode : Integer, in Shift : Integer) chkcari.Value = novbchecked ---- gk perlu -txtaktris_keydown(in KeyCode : Integer, in Shift : Integer) txtnofilm.Enabled = True -dtptglproduksi_keydown(in KeyCode : Integer, in Shift : Integer) txtnofilm.SetFocus -cbokeping_keydown(in KeyCode : Integer, in Shift : Integer) -aturnofilm() xpsimpan.Caption = "&Tambah" tutuptombol End Sub Private Sub xpedit_click() tutuptombol Ada1 = True SiapIsi1 txtnofilm.Enabled = False xpsimpan.Caption = "&Simpan" txtnamafilm.SetFocus End Sub 12
  • 13. Private Sub xphapus_Click() ckode = Trim(txtnofilm.Text) Rssewa.Find ("nofilm='" & ckode & "'"), , adSearchForward, 1 Rskembali.Find ("nofilm='" & ckode & "'"), , adSearchForward, 1 If Not Rssewa.EOF Then X = MsgBox("maaf data film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnofilm.SetFocus Exit Sub ElseIf Not Rskembali.EOF Then X = MsgBox("maaf data film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnofilm.SetFocus Exit Sub Else y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes Koneksi.Execute "delete * from tblfilm where nofilm ='" & ckode & "' and tahun='" & txtthn & "'" Case vbNo End Select End If xpbatal_Click Rsfilm.Requery Tampildata End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then If Rsfilm.RecordCount > 0 Then txtnofilm.Text = Grid1.Columns(0) txtnofilm_Lostfocus End If End If End Sub Private Sub txtnamafilm_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dcjenis_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dtptglmasuk_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtsinopsis_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtaktor_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtaktris_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub 13
  • 14. Private Sub dtptglproduksi_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub cbokeping_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub aturnofilm() Set Rsfilm = Nothing Rsfilm.Open "Select * From tblfilm order by nofilm", Koneksi 'k1 = Right(txtthn, 2) + "-" If Rsfilm.RecordCount = 0 Then cno = "0001" Else Rsfilm.MoveLast Na = Val(Right(Rsfilm!nofilm, 4)) + 1 If Len(Na) = 1 Then cno = "000" + Trim(Str(Na)) ElseIf Len(Na) = 2 Then cno = "00" + Trim(Str(Na)) ElseIf Len(Na) = 3 Then cno = "0" + Trim(Str(Na)) ElseIf Len(Na) = 4 Then cno = Trim(Str(Na)) End If End If txtnofilm.Text = cno End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- Form Biaya Sewa & Denda --- Frmbysewa txtthn txtjenis Up1 txtjml Xpsimpan txtdenda Xpedit Grid1 Xphapus Xpbatal Xpkeluar Listing Frmbysewa Public Ada1, Valid As Boolean Dim rstampil As New ADODB.Recordset Private Sub blankform1() txtjml.Text = "": txtdenda.Text = "" End Sub Private Sub tidaksiapisi() txtjml.Enabled = False: txtdenda.Enabled = False End Sub Private Sub SiapIsi1() txtjml.Enabled = True: txtdenda.Enabled = True End Sub Private Sub isitabelbysewa() Rsbysewa!jenisfilm = txtjenis.Text: Rsbysewa!jmlby = txtjml.Text: Rsbysewa!tahun = txtthn.Text Rsbysewa!denda = txtdenda.Text End Sub 14
  • 15. Private Sub AktifTombol() xpsimpan.Enabled = True: xpedit.Enabled = True xphapus.Enabled = True: End Sub Private Sub tutuptombol() xphapus.Enabled = False: xpedit.Enabled = False End Sub Private Sub isiformbysewa() txtjml.Text = Rsbysewa!jmlby txtdenda.Text = Rsbysewa!denda End Sub Private Sub Validasi() Valid = False If txtjml.Text = Empty Then X = MsgBox("biaya sewa harus diisi", 0 + 16, "konfirmasi") txtjml.Text = "" txtjml.SetFocus Exit Sub ElseIf txtdenda.Text = Empty Then X = MsgBox("biaya denda harus diisi", 0 + 16, "konfirmasi") txtdenda.Text = "" txtdenda.SetFocus Exit Sub End If Valid = True End Sub Private Sub Tampildata() Set rstampil = Nothing rstampil.Open "select jenisfilm,jmlby,denda from tblbysewa order by jenisfilm ", Koneksi, adOpenDynamic, adLockOptimistic Set Grid1.DataSource = rstampil Grid1.Columns(0).Width = 1250 Grid1.Columns(1).Width = 1250 Grid1.Columns(1).Width = 1250 Grid1.Columns(0).Alignment = dbgCenter Grid1.Columns(1).Alignment = dbgRight Grid1.Columns(2).Alignment = dbgRight Grid1.Columns(0).Caption = " Jenis Film" Grid1.Columns(1).Caption = " By.Sewa" Grid1.Columns(2).Caption = " By.Denda" Grid1.Columns(1).NumberFormat = "#,###,### " Grid1.Columns(2).NumberFormat = "#,###,### " End Sub Private Sub Form_Activate() frmmnutama.Enabled = False End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub Form_Load() BukaDatabase blankform1 up1.Value = Year(Date) txtthn.Text = up1 tidaksiapisi tutuptombol xpsimpan.Caption = "&Tambah" Tampildata End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub txtjenisfilm_Click() blankform1 End Sub 15
  • 16. Private Sub txtjenisfilm_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtjenis_Lostfocus() ckode = Trim(txtjenis.Text) If ckode = Empty Then Exit Sub End If If Rsbysewa.RecordCount > 0 Then Rsbysewa.MoveFirst End If Set Rsbysewa = Nothing Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsbysewa.EOF Then blankform1 SiapIsi1 txtjml.SetFocus Ada1 = False tutuptombol xpsimpan.Caption = "&Simpan" Else tidaksiapisi isiformbysewa xpedit.Enabled = True xphapus.Enabled = True Ada1 = True End If End Sub Private Sub xpsimpan_Click() Static Structur If xpsimpan.Caption = "&Tambah" Then frmbysewa xpbatal_Click +Ada1 Exit Sub +Valid : Boolean End If -rstampil : Recordset Validasi -blankform1() If Valid = True Then -tidaksiapisi() If Ada1 = False Then -SiapIsi1() Rsbysewa.AddNew -isitabelbysewa() -AktifTombol() isitabelbysewa -tutuptombol() Rsbysewa.Update -isiformbysewa() Else -Validasi() isitabelbysewa -Tampildata() Rsbysewa.Update -Form_Activate() -Up1_Change() End If -Form_Load() xpsimpan.Caption = "&Tambah" -Form_Unload(in Cancel : Integer) Else -txtjenisfilm_Click() xpsimpan.Caption = "&Simpan" -txtjenisfilm_KeyPress(in KeyAscii : Integer) End If -txtjenis_Lostfocus() -xpsimpan_Click() Rsbysewa.Requery -xpbatal_Click() Tampildata -xpedit_click() End Sub -xphapus_Click() -xpkeluar_Click() Private Sub xpbatal_Click() -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer) -txtjenis_keydown(in KeyCode : Integer, in Shift : Integer) blankform1 -txtjml_keydown(in KeyCode : Integer, in Shift : Integer) tidaksiapisi -txtdenda_keydown(in KeyCode : Integer, in Shift : Integer) txtjenis.Enabled = True -txtjml_KeyPress(in KeyAscii : Integer) txtjenis.SetFocus -txtdenda_KeyPress(in KeyAscii : Integer) xpsimpan.Caption = "&Tambah" tutuptombol End Sub Private Sub xpedit_click() tutuptombol Ada1 = True SiapIsi1 txtjenis.Enabled = False xpsimpan.Caption = "&Simpan" txtjml.SetFocus End Sub Private Sub xphapus_Click() ckode = Trim(txtjenis.Text) 16
  • 17. Rsfilm.Find ("jenisfilm='" & ckode & "'"), , adSearchForward, 1 If Not Rsfilm.EOF Then X = MsgBox("maaf jenis film tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtjenis.SetFocus Exit Sub Else y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes Koneksi.Execute "delete * from tblbysewa where jenisfilm ='" & ckode & "' and tahun='" & txtthn & "'" Case vbNo End Select End If xpbatal_Click Rsbysewa.Requery Tampildata End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then If Rsbysewa.RecordCount > 0 Then txtjenis.Text = Grid1.Columns(0) txtjenis_Lostfocus End If End If End Sub Private Sub txtjenis_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtjml_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtdenda_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtjml_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _ KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub Private Sub txtdenda_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _ KeyAscii = vbKeyBack) Then KeyAscii = 0 End If End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- 17
  • 18. Form Karyawan - Frmkaryawan Name objek disesuaikan dengan Listing. Lihat form sebelumnya Listing Frmkaryawan Public Ada1, Valid As Boolean Dim rstampil As New ADODB.Recordset Private Sub blankform1() txtnamakary.Text = "": txtt4.Text = "": optlaki = False optperempuan = False: optbk = False: optm = False: txtalamat.Text = "" txttelp.Text = "": txtnoktp.Text = "": txtstskary.Text = "" txtpassword.Text = "": txtkonfirmasi.Text = "" End Sub Private Sub tidaksiapisi() txtnamakary.Enabled = False: txtt4.Enabled = False: dtptgllahir.Enabled = False: optlaki.Enabled = False optperempuan.Enabled = False: optbk.Enabled = False: optm.Enabled = False: txtalamat.Enabled = False txttelp.Enabled = False: txtnoktp.Enabled = False: txtstskary.Enabled = False: dtptglkerja.Enabled = False txtpassword.Enabled = False: txtkonfirmasi.Enabled = False: chklihat.Enabled = False: chklihat = False End Sub Private Sub SiapIsi1() txtnamakary.Enabled = True: txtt4.Enabled = True: dtptgllahir.Enabled = True: optlaki.Enabled = True optperempuan.Enabled = True: optbk.Enabled = True: optm.Enabled = True: txtalamat.Enabled = True txttelp.Enabled = True: txtnoktp.Enabled = True: txtstskary.Enabled = False: dtptglkerja.Enabled = True txtpassword.Enabled = True: txtkonfirmasi.Enabled = True End Sub Private Sub isitabelkaryawan() If optlaki = True Then ct = "Laki-Laki" Else ct = "Perempuan" End If If optbk = True Then ck = "Belum Menikah" Else ck = "Menikah" End If Rskaryawan!nokary = txtnokary.Text: Rskaryawan!namakary = txtnamakary.Text Rskaryawan!T4 = txtt4.Text: Rskaryawan!tgllahir = dtptgllahir Rskaryawan!jeniskel = ct: Rskaryawan!stskel = ck Rskaryawan!alamat = txtalamat.Text: Rskaryawan!notelp = txttelp.Text Rskaryawan!noktp = txtnoktp.Text: Rskaryawan!stskary = txtstskary.Text Rskaryawan!tglkerja = dtptglkerja Rskaryawan!tahun = txtthn.Text: Rskaryawan!Password = txtpassword.Text 18
  • 19. Rskaryawan!tglubah = Date End Sub Private Sub AktifTombol() xpsimpan.Enabled = True xpedit.Enabled = True xphapus.Enabled = True End Sub Private Sub tutuptombol() xphapus.Enabled = False xpedit.Enabled = False End Sub Private Sub isiformanggota() txtnamakary.Text = Rskaryawan!namakary txtt4.Text = Rskaryawan!T4: dtptgllahir = Rskaryawan!tgllahir If Rskaryawan!jeniskel = "Laki-Laki" Then optlaki.Value = True Else optperempuan.Value = True End If If Rskaryawan!stskel = "Belum Menikah" Then optbk.Value = True Else optm.Value = True End If txtalamat.Text = Rskaryawan!alamat: txttelp.Text = Rskaryawan!notelp txtnoktp.Text = Rskaryawan!noktp: txtstskary.Text = Rskaryawan!stskary dtptglkerja = Rskaryawan!tglkerja txtpassword.Text = Rskaryawan!Password: txtkonfirmasi.Text = Rskaryawan!Password End Sub Private Sub Validasi() Valid = False If txtnamakary.Text = Empty Then X = MsgBox("nama karyawan harus diisi", 0 + 16, "konfirmasi") txtnamakary.Text = "" txtnamakary.SetFocus Exit Sub ElseIf txtt4.Text = Empty Then X = MsgBox("Tempat lahir harus diisi", 0 + 16, "konfirmasi") txtt4.Text = "" txtt4.SetFocus Exit Sub ElseIf txtalamat.Text = Empty Then X = MsgBox("Alamat harus diisi", 0 + 16, "konfirmasi") txtalamat.Text = "" txtalamat.SetFocus Exit Sub ElseIf txtpassword.Text = Empty Then X = MsgBox("Password harus diisi", 0 + 16, "konfirmasi") txtpassword.Text = "" txtpassword.SetFocus Exit Sub ElseIf txtkonfirmasi.Text = Empty Then X = MsgBox("Konfirmasi password harus diisi", 0 + 16, "konfirmasi") txtkonfirmasi.Text = "" txtkonfirmasi.SetFocus Exit Sub End If Valid = True End Sub Private Sub Tampildata() Set rstampil = Nothing rstampil.Open "select nokary,namakary,tglkerja,stskary from tblkaryawan order by nokary ", Koneksi, adOpenDynamic, adLockOptimistic Set Grid1.DataSource = rstampil Grid1.Columns(0).Width = 1100 Grid1.Columns(1).Width = 3500 Grid1.Columns(2).Width = 1500 Grid1.Columns(3).Width = 1250 Grid1.Columns(0).Alignment = dbgCenter 19
  • 20. Grid1.Columns(2).Alignment = dbgCenter Grid1.Columns(0).Caption = "No.ID Kary" Grid1.Columns(1).Caption = "Nama Karyawan" Grid1.Columns(2).Caption = "Tgl.Mulai Kerja" Grid1.Columns(3).Caption = "Status Kerja" End Sub Private Sub chklihat_Click() If chklihat.Value = vbchecked Then lihatpass Else txtpassword.PasswordChar = "?" xpkeluar.SetFocus End If End Sub Private Sub Form_Activate() frmmnutama.Enabled = False Aturnokary End Sub Private Sub txtkonfirmasi_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then If txtpassword.Text <> txtkonfirmasi.Text Then MsgBox "Pengisian konfirmasi harus sama dengan nama password", 0 + 64, "Konfirmasi" txtkonfirmasi.SetFocus Else SendKeys vbTab End If End If End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub Form_Load() BukaDatabase blankform1 up1.Value = Year(Date) txtthn.Text = up1 tidaksiapisi tutuptombol xpsimpan.Caption = "&Tambah" Tampildata dtptglkerja = Date dtptgllahir = Date End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub txtnokary_Click() blankform1 End Sub Private Sub txtnokary_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtnokary_Lostfocus() ckode = Trim(txtnokary.Text) If ckode = Empty Then Exit Sub End If If Rskaryawan.RecordCount > 0 Then Rskaryawan.MoveFirst End If If Right(ckode, 4) = "0000" Or Len(ckode) <> 10 Then MsgBox "No.ID karyawan tersebut tidak dikenal! " & vbCrLf & " anda akan dibantu penomoran otomatis.", 0 + 64, "Konfirmasi" Aturnokary 20
  • 21. Exit Sub End If Set Rskaryawan = Nothing Rskaryawan.Open "[tblkaryawan] where nokary ='" & ckode & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rskaryawan.EOF Then blankform1 SiapIsi1 txtnamakary.SetFocus txtstskary.Text = "Aktif" Ada1 = False tutuptombol xpsimpan.Caption = "&Simpan" Else tidaksiapisi isiformanggota xpedit.Enabled = True xphapus.Enabled = True Ada1 = True End If Static Structur End Sub frmkaryawan +Ada1 Private Sub xpsimpan_Click() +Valid : Boolean If xpsimpan.Caption = "&Tambah" Then -rstampil : Recordset xpbatal_Click -blankform1() Aturnokary -tidaksiapisi() Exit Sub -SiapIsi1() -isitabelkaryawan() End If -AktifTombol() Validasi -tutuptombol() If Valid = True Then -isiformanggota() If Ada1 = False Then -Validasi() Rskaryawan.AddNew -Tampildata() -chklihat_Click() isitabelkaryawan -Form_Activate() Rskaryawan.Update -txtkonfirmasi_keydown(in KeyCode : Integer, in Shift : Integer) Else -Up1_Change() isitabelkaryawan -Form_Load() Rskaryawan.Update -Form_Unload(in Cancel : Integer) -txtnokary_Click() End If -txtnokary_KeyPress(in KeyAscii : Integer) xpsimpan.Caption = "&Tambah" -txtnokary_Lostfocus() Else -xpsimpan_Click() xpsimpan.Caption = "&Simpan" -xpbatal_Click() End If -xpedit_click() -xphapus_Click() Rskaryawan.Requery -xpkeluar_Click() Tampildata -Grid1_KeyDown(in KeyCode : Integer, in Shift : Integer) Aturnokary -txtnokary_keydown(in KeyCode : Integer, in Shift : Integer) End Sub -txtnamakary_KeyDown(in KeyCode : Integer, in Shift : Integer) -txtt4_keydown(in KeyCode : Integer, in Shift : Integer) -dtptgllahir_keydown(in KeyCode : Integer, in Shift : Integer) Private Sub xpbatal_Click() -txtalamat_keydown(in KeyCode : Integer, in Shift : Integer) Aturnokary -txttelp_keydown(in KeyCode : Integer, in Shift : Integer) blankform1 -dtptglkerja_keydown(in KeyCode : Integer, in Shift : Integer) tidaksiapisi -txtnoktp_keydown(in KeyCode : Integer, in Shift : Integer) txtnokary.Enabled = True -txtpassword_keydown(in KeyCode : Integer, in Shift : Integer) -Aturnokary() txtnokary.SetFocus -lihatpass() xpsimpan.Caption = "&Tambah" tutuptombol End Sub Private Sub xpedit_click() tutuptombol chklihat.Enabled = True Ada1 = True SiapIsi1 txtnokary.Enabled = False xpsimpan.Caption = "&Simpan" txtnamakary.SetFocus End Sub Private Sub xphapus_Click() ckode = Trim(txtnokary.Text) Rssewa.Find ("nokary='" & ckode & "'"), , adSearchForward, 1 Rskembali.Find ("nokary='" & ckode & "'"), , adSearchForward, 1 If Not Rssewa.EOF Then X = MsgBox("maaf data karyawan tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnokary.SetFocus 21
  • 22. Exit Sub ElseIf Not Rskembali.EOF Then X = MsgBox("maaf data karyawan tersebut tidak dapat dihapus", 0 + 16, "konfirmasi") txtnokary.SetFocus Exit Sub Else y = MsgBox("Benar anda ingin hapus ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes Koneksi.Execute "delete * from tblkaryawan where nokary ='" & ckode & "' and tahun='" & txtthn & "'" Case vbNo End Select End If xpbatal_Click Rskaryawan.Requery Tampildata End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then If Rskaryawan.RecordCount > 0 Then txtnokary.Text = Grid1.Columns(0) txtnokary_Lostfocus End If End If End Sub Private Sub txtnokary_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtnamakary_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtt4_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dtptgllahir_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtalamat_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txttelp_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub dtptglkerja_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub 22
  • 23. Private Sub txtnoktp_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtpassword_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub Aturnokary() Set Rskaryawan = Nothing Rskaryawan.Open "Select * From tblkaryawan Where tahun ='" & txtthn & "' order by nokary", Koneksi k1 = "ID" + "-" + Right(txtthn, 2) + "-" If Rskaryawan.RecordCount = 0 Then cno = "0001" Else Rskaryawan.MoveLast Na = Val(Right(Rskaryawan!nokary, 4)) + 1 If Len(Na) = 1 Then cno = "000" + Trim(Str(Na)) ElseIf Len(Na) = 2 Then cno = "00" + Trim(Str(Na)) ElseIf Len(Na) = 3 Then cno = "0" + Trim(Str(Na)) ElseIf Len(Na) = 4 Then cno = Trim(Str(Na)) End If End If txtnokary.Text = k1 + cno End Sub Private Sub lihatpass() Dim lihat, pass lihat = "Masukkan kunci password !" pass = InputBox(lihat, "Masukkan") If pass <> Right(txtnokary, 2) Then MsgBox "Kunci password tersebut salah !", , "Ulangi lagi" Exit Sub Else MsgBox "Password berhasil!", , "Konfirmasi" txtpassword.PasswordChar = "" txtpassword.SetFocus End If End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- Form Penyewaan Film - Frmpenyewaan txtthn txtnamaang Up1 txtnoang txtkriteria dtptglsewa cbokriteria txtjamsewa chkcari Label6 Label5 List2 List1 txtbayar lblsinopsis xplagi xpsewa xpbatal xpcetak 23
  • 24. Listing Frmpenyewaan Public Ada, Ada1, Valid As Boolean Public sql As String Dim rstampil As New ADODB.Recordset Public T1, b1, Th1 As Integer Private Sub cbokriteria_Click() txtkriteria.SetFocus End Sub Private Sub chkcari_Click() If chkcari.Value = vbchecked Then If txtnoang.Text = Empty Then MsgBox "Masukkan dulu Data anggota yang menyewa ! " & vbCrLf & " Bantuan tekan F1", 0 + 64, "Konfirmasi" txtnamaang.SetFocus chkcari = False Exit Sub Else cbokriteria.Enabled = True txtkriteria.Enabled = True cbokriteria.SetFocus End If Else cbokriteria.Enabled = False txtkriteria.Enabled = False cbokriteria.Text = "" txtkriteria.Text = "" ls1 End If End Sub Private Sub dtptglsewa_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Static Structur frmpenyewaan Private Sub Form_Activate() +Ada cbokriteria.Enabled = False +Ada1 txtkriteria.Enabled = False +Valid : Boolean frmmnutama.Enabled = False +sql : String -rstampil : Recordset End Sub +T1 +b1 Private Sub Form_Load() +Th1 : Integer BukaDatabase -cbokriteria_Click() xpsewa.Enabled = False -chkcari_Click() xpbatal.Enabled = False -dtptglsewa_keydown(in KeyCode : Integer, in Shift : Integer) -Form_Activate() xpcetak.Enabled = False -Form_Load() List1.Enabled = False -dtptglsewa_LostFocus() List2.Enabled = False -ls1() cbokriteria.List(0) = "No Film" -List1_Click() cbokriteria.List(1) = "Aktor" -Timer1_Timer() -txtkriteria_Change() cbokriteria.List(2) = "Aktris" -carinofilm() up1.Value = Year(Date) -cariaktor() txtthn.Text = up1 -cariaktris() dtptglsewa = Date -ls2() dtptglsewa_LostFocus -txtnamaang_KeyDown(in KeyCode : Integer, in Shift : Integer) -txtnoang_Lostfocus() ls1 -Form_Unload(in Cancel : Integer) End Sub -Up1_Change() -xpcetak_Click() Private Sub dtptglsewa_LostFocus() -xpkeluar_Click() T1 = Left(dtptglsewa, 2) -xplagi_Click() -xpsewa_Click() b1 = Mid(dtptglsewa, 4, 2) -xpbatal_Click() Th1 = Right(dtptglsewa, 4) -cekbyr() End Sub Private Sub ls1() Set Rsfilm = Nothing Rsfilm.Open "Select namafilm from tblfilm where tahun='" & txtthn & "' and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List1.RowSource = Rsfilm List1.ListField = "namafilm" 24
  • 25. If Rsfilm.RecordCount > 0 Then List1.Enabled = True bn = Rsfilm.RecordCount Label5.Caption = "Browse Film (" + Format(bn) + " judul Film)" Else List1.Enabled = False xpsewa.Enabled = False Label5.Caption = "" lblsinopsis.Caption = "" End If End Sub Private Sub List1_Click() xpsewa.Enabled = True Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.RecordCount > 0 Then lblsinopsis.Caption = "Sinopasis : " & vbCrLf & "" + Rsfilm!sinopsis Else lblsinopsis.Caption = "" xpsewa.Enabled = False End If End Sub Private Sub Timer1_Timer() txtjamsewa.Text = Time End Sub Private Sub txtkriteria_Change() If cbokriteria.Text = "Aktor" Then cariaktor ElseIf cbokriteria.Text = "Aktris" Then cariaktris ElseIf cbokriteria.Text = "No Film" Then carinofilm End If End Sub Private Sub carinofilm() Set Rsfilm = Nothing Rsfilm.Open "Select namafilm from tblfilm Where nofilm like '" & txtkriteria & "%' and tahun='" & txtthn & "' and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List1.RowSource = Rsfilm List1.ListField = "namafilm" If Rsfilm.RecordCount > 0 Then xpsewa.Enabled = True Else xpsewa.Enabled = False End If End Sub Private Sub cariaktor() Set Rsfilm = Nothing Rsfilm.Open "Select namafilm from tblfilm Where aktor like '" & txtkriteria & "%' and tahun='" & txtthn & "' and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List1.RowSource = Rsfilm List1.ListField = "namafilm" If Rsfilm.RecordCount > 0 Then xpsewa.Enabled = True Else xpsewa.Enabled = False End If End Sub Private Sub cariaktris() Set Rsfilm = Nothing Rsfilm.Open "Select namafilm from tblfilm Where aktris like '" & txtkriteria & "%' and tahun='" & txtthn & "' and stsfilm='Ada' group by namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List1.RowSource = Rsfilm List1.ListField = "namafilm" If Rsfilm.RecordCount > 0 Then xpsewa.Enabled = True Else 25
  • 26. xpsewa.Enabled = False End If End Sub Private Sub ls2() Set rstampil = Nothing rstampil.Open "Select tblfilm.namafilm from tblfilm,tblsewa,tblanggota where tblsewa.tahun='" & txtthn & "' and tblsewa.stssewa='Sewa' and tblsewa.noang='" & txtnoang & "' and tblsewa.noang=tblanggota.noang and tblsewa.nofilm=tblfilm.nofilm and tblsewa.tglsewa= #" & b1 & "/" & T1 & "/" & Th1 & "# group by tblfilm.namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List2.RowSource = rstampil List2.ListField = "namafilm" If rstampil.RecordCount > 0 Then List2.Enabled = True xpbatal.Enabled = True tt = rstampil.RecordCount Label6.Caption = "Film yang disewa Tgl." + Format(dtptglsewa) + " (" + Format(tt) + " Judul Film)" cekbyr Else List2.Enabled = False xpbatal.Enabled = False xpcetak.Enabled = False Label6.Caption = "" cekbyr End If End Sub Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then 'txtnamaang.Text = "" sql = "Select namaang,noang,stsang from tblanggota Where Namaang like '" & txtnamaang & "%' and stsang='Aktif' and tahun='" & txtthn & "' order by noang" Ada = True frminfo.Caption = ">>> Info Data Anggota Tahun " & txtthn & " <<<" frminfo.Show vbModal, Me Ada = False txtnoang.Text = frminfo.Kode 'txtnamaang.Text = frminfo.Teks txtnoang.Enabled = True txtnoang_Lostfocus End If If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub txtnoang_Lostfocus() ckode = Trim(txtnoang.Text) If ckode = Empty Then Exit Sub End If If Rsanggota.RecordCount > 0 Then Rsanggota.MoveFirst End If Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where noang = '" & txtnoang & " ' And " & _ " tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then X = MsgBox("Sorry, Anggota dengan No. Anggota " & txtnoang & " tersebut belum terdaftar", 0 + 64, "Konfirmasi") txtnoang.Text = "" txtnoang.Enabled = False txtnamaang.SetFocus Ada1 = False Else txtnamaang.Text = Rsanggota!namaang ee = Rsanggota!msber If Date > ee Then y = MsgBox("Anggota tersebut sudah habis masa anggotanya ! " & vbCrLf & " Anda ingin mengubah statusnya menjadi 'Tidak Aktif' ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes 26
  • 27. Koneksi.Execute "update tblanggota set stsang='Tidak Aktif' where noang='" & txtnoang & "'and tahun='" & txtthn & "'" Case vbNo xplagi_Click End Select End If ls2 cekbyr Ada1 = True End If End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub xpcetak_Click() crpcetak1.ReportFileName = App.Path & "" & "rptbuktisewa.rpt" crpcetak1.SelectionFormula = " {tblsewa.noang} ='" & txtnoang & "' and {tblsewa.tahun} ='" & txtthn & "' and {tblsewa.tglsewa} = #" & b1 & "-" & T1 & "-" & Th1 & "# " 'crpcetak1.RetrieveDataFiles 'crpcetak1.WindowState = crptMaximized 'crpcetak1.Action = 1 crpcetak1.RetrieveDataFiles crpcetak1.WindowState = crptMaximized crpcetak1.CopiesToPrinter = 1 crpcetak1.Destination = crptToPrinter crpcetak1.Action = 1 End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub xplagi_Click() chkcari.Value = novbchecked txtnoang.Text = "" txtnamaang.Text = "" cbokriteria.Text = "" txtkriteria.Text = "" Label6.Caption = "" txtbayar.Text = "Rp. 0" txtnamaang.SetFocus ls2 cekbyr If txtnoang.Text = Empty Then xpcetak.Enabled = False End If End Sub Private Sub xpsewa_Click() xpsewa.Enabled = False cek = frmmnutama.stb.Panels(1).Text If cek = "???" Then MsgBox "Password yang anda gunakan adalah password ! " & vbCrLf & " yang tidak dapat digunakan untuk penyimpanan !", 0 + 64, "Konfirmasi" xplagi_Click xpkeluar.SetFocus Exit Sub End If If txtnoang.Text = Empty Then MsgBox "Masukkan dulu Data anggota yang menyewa ! " & vbCrLf & " Bantuan tekan F1", 0 + 64, "Konfirmasi" txtnamaang.SetFocus Exit Sub End If Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.RecordCount > 0 Then 27
  • 28. ck = Rsfilm!nofilm kk = Rsfilm!jenisfilm End If Set Rssewa = Nothing Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and nofilm='" & ck & "'", Koneksi, adOpenDynamic, adLockOptimistic If Not Rssewa.EOF Then y = MsgBox("Film dengan judul '" & List1 & "' sudah disewa sebelumnya ! " & vbCrLf & " Anda ingin menyewanya lagi ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes Set Rsbysewa = Nothing Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsbysewa.RecordCount > 0 Then ct = Rsbysewa!jmlby End If jj = frmreading.label3.caption Set Rssewa = Nothing Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.EOF Then Rssewa.AddNew Rssewa!noang = txtnoang.Text Rssewa!nofilm = ck Rssewa!tglsewa = dtptglsewa Rssewa!jmlbyr = ct Rssewa!tahun = txtthn.Text Rssewa!nokary = jj Rssewa!stssewa = "Sewa" Rssewa!stsfisik = "Baik" Rssewa!jamsewa = txtjamsewa.Text Rssewa.Update Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'" Else Rssewa.AddNew Rssewa!noang = txtnoang.Text Rssewa!nofilm = ck Rssewa!tglsewa = dtptglsewa Rssewa!jmlbyr = ct Rssewa!tahun = txtthn.Text Rssewa!nokary = jj Rssewa!stssewa = "Sewa" Rssewa!stsfisik = "Baik" Rssewa!jamsewa = txtjamsewa.Text Rssewa.Update Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'" End If ls2 ls1 cekbyr Case vbNo List1.SetFocus End Select Else Set Rsbysewa = Nothing Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsbysewa.RecordCount > 0 Then ct = Rsbysewa!jmlby End If jj = frmreading.label3.caption Set Rssewa = Nothing Rssewa.Open "[tblsewa] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.EOF Then Rssewa.AddNew Rssewa!noang = txtnoang.Text Rssewa!nofilm = ck Rssewa!tglsewa = dtptglsewa Rssewa!jmlbyr = ct Rssewa!tahun = txtthn.Text Rssewa!nokary = jj 28
  • 29. Rssewa!stssewa = "Sewa" Rssewa!stsfisik = "Baik" Rssewa!jamsewa = txtjamsewa.Text Rssewa.Update Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'" Else Rssewa.AddNew Rssewa!noang = txtnoang.Text Rssewa!nofilm = ck Rssewa!tglsewa = dtptglsewa Rssewa!jmlbyr = ct Rssewa!tahun = txtthn.Text Rssewa!nokary = jj Rssewa!stssewa = "Sewa" Rssewa!stsfisik = "Baik" Rssewa!jamsewa = txtjamsewa.Text Rssewa.Update Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'and tahun='" & txtthn & "'" End If ls2 ls1 cekbyr End If End Sub Private Sub xpbatal_Click() Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & List2 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.RecordCount > 0 Then ck = Rsfilm!nofilm End If Koneksi.Execute "delete * from tblsewa where nofilm ='" & ck & "' and noang ='" & txtnoang & "'and tahun='" & txtthn & "'and tglsewa = #" & b1 & "/" & T1 & "/" & Th1 & "# " Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'" ls1 ls2 cekbyr End Sub Private Sub cekbyr() Set Rssewa = Nothing Rssewa.Open "[tblsewa] where stssewa='Sewa' And noang='" & txtnoang & "' and tglsewa = #" & b1 & "/" & T1 & "/" & Th1 & "# ", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.EOF Then txtbayar.Text = "Rp. 0" Exit Sub Else Do While Not Rssewa.EOF msub1 = msub1 + Val(Val(Rssewa!jmlbyr)) Rssewa.MoveNext Loop End If txtbayar.Text = "Rp. " + Format(msub1, "###,###,##0") If msub1 > 0 Then xpcetak.Enabled = True Else xpcetak.Enabled = False End If End Sub 29
  • 30. Form Pengembalian Film – Frmpengembalian txtthn txtnamaang Up1 txtnoang cbofisik dtptglkembali dcsewa txtjamkembali Label6 Label5 List2 List1 txtbayar xplagi xpkembali xpbatal xpcetak Listing Frmpengembalian Public Ada, Ada1, Valid As Boolean Public sql As String Dim rstampil As New ADODB.Recordset Public T1, b1, Th1, tgl, bln, thn As Integer Public Lama, denda As Single Private Sub dcsewa_Click(Area As Integer) ls1 End Sub Private Sub dtptglkembali_keydown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub Private Sub Form_Activate() frmmnutama.Enabled = False End Sub Private Sub Form_Load() BukaDatabase xpkembali.Enabled = False xpbatal.Enabled = False xpcetak.Enabled = False dcsewa.Enabled = False cbofisik.Enabled = False List1.Enabled = False up1.Value = Year(Date) txtthn.Text = up1 dtptglkembali = Date dcsewa = Date dtptglkembali_LostFocus cbofisik.List(0) = "Baik" cbofisik.List(1) = "Rusak" End Sub Private Sub dtptglkembali_LostFocus() T1 = Left(dtptglkembali, 2) b1 = Mid(dtptglkembali, 4, 2) Th1 = Right(dtptglkembali, 4) End Sub Private Sub tgsewa() tgl = Left(dcsewa, 2) bln = Mid(dcsewa, 4, 2) thn = Right(dcsewa, 4) End Sub 30
  • 31. Private Sub ls1() tgsewa Set rstampil = Nothing rstampil.Open "Select tblfilm.namafilm from tblfilm,tblsewa where tblsewa.tahun='" & txtthn & "' and tblsewa.stssewa='Sewa' and tblsewa.nofilm=tblfilm.nofilm and tblsewa.noang='" & txtnoang & "' and tblsewa.tglsewa= #" & bln & "/" & tgl & "/" & thn & "# group by tblfilm.namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List1.RowSource = rstampil List1.ListField = "namafilm" If rstampil.RecordCount > 0 Then Label5.Caption = "Film yang disewa Tgl." + dcsewa List1.Enabled = True Else xpkembali.Enabled = False List1.Enabled = False Label5.Caption = "" xplagi.SetFocus End If End Sub Private Sub List1_Click() xpkembali.Enabled = True End Sub Private Sub Timer1_Timer() txtjamkembali.Text = Time End Sub Private Sub caritglsewa() Set Rssewa = Nothing Rssewa.Open "Select tglsewa from tblsewa Where noang = '" & txtnoang & "' and tahun='" & txtthn & "' and stssewa='Sewa' group by tglsewa", Koneksi, adOpenDynamic, adLockOptimistic Set dcsewa.RowSource = Rssewa dcsewa.ListField = "tglsewa" End Sub Private Sub ls2() Set rstampil = Nothing rstampil.Open "Select tblfilm.namafilm from tblfilm,tblkembali where tblkembali.tahun='" & txtthn & "' and tblkembali.noang='" & txtnoang & "' and tblkembali.nofilm=tblfilm.nofilm and tblkembali.tglkembali= #" & b1 & "/" & T1 & "/" & Th1 & "# group by tblfilm.namafilm", Koneksi, adOpenDynamic, adLockOptimistic Set List2.RowSource = rstampil List2.ListField = "namafilm" If rstampil.RecordCount > 0 Then xpbatal.Enabled = True List2.Enabled = True cekbyr Label6.Caption = "Film yang dikembalikan Tgl." + Format(dtptglkembali) Else List2.Enabled = False xpbatal.Enabled = False Label6.Caption = "" cekbyr End If End Sub Private Sub txtnamaang_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then 'txtnamaang.Text = "" sql = "Select namaang,noang,stsang from tblanggota Where Namaang like '" & txtnamaang & "%' and tahun='" & txtthn & "' order by noang" Ada = True frminfo.Caption = ">>> Info Data Anggota Tahun " & txtthn & " <<<" frminfo.Show vbModal, Me Ada = False txtnoang.Text = frminfo.Kode 'txtnamaang.Text = frminfo.Teks txtnoang.Enabled = True txtnoang_Lostfocus End If If KeyCode = vbKeyReturn Then SendKeys vbTab End If End Sub 31
  • 32. Private Sub txtnoang_Lostfocus() ckode = Trim(txtnoang.Text) If ckode = Empty Then Exit Sub End If If Rsanggota.RecordCount > 0 Then Rsanggota.MoveFirst End If Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where noang = '" & txtnoang & " ' And " & _ " tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then X = MsgBox("Sorry, Anggota dengan No. Anggota " & txtnoang & " tersebut belum terdaftar", 0 + 64, "Konfirmasi") txtnoang.Text = "" txtnoang.Enabled = False txtnamaang.SetFocus Ada1 = False Else txtnamaang.Text = Rsanggota!namaang Set Rssewa = Nothing Rssewa.Open "Select * from tblsewa Where noang = '" & txtnoang & "' and tahun='" & txtthn & "'and stssewa='Sewa'", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.RecordCount > 0 Then kj = Rssewa!tglsewa dcsewa.Enabled = True cbofisik.Enabled = True xpkembali.Enabled = True Else dcsewa.Enabled = False cbofisik.Enabled = False xpkembali.Enabled = False End If ls2 caritglsewa dcsewa = Date If kj <> dcsewa Then xpbatal.Enabled = False Else xpbatal.Enabled = True End If 'dcsewa.Text = "" Ada1 = True End If End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub xpcetak_Click() tgsewa Set Rssewa = Nothing Rssewa.Open "[tblsewa] where noang='" & txtnoang & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.RecordCount > 0 Then rr = Rssewa.RecordCount End If If txtnoang.Text <> Empty Then Lama = dtptglkembali - CDate(dcsewa.Text) If Lama = 0 Then Lama = 1 Else If Lama >= 1 Then If Val(Left(txtjamkembali.Text, 2)) < 15 Then Lama = Lama ElseIf Val(Left(txtjamkembali.Text, 2)) > 15 Then Lama = Lama + 0.5 ElseIf Val(Left(txtjamkembali.Text, 2)) > 16 Then Lama = Lama + 1 End If 32
  • 33. End If End If aa = Lama If Val(aa) > Val(rr) Then lm = (Val(aa) - Val(rr)) Else lm = "-" End If End If crpcetak1.ReportFileName = App.Path & "" & "rptbuktidenda.rpt" crpcetak1.SelectionFormula = " {tblkembali.noang} ='" & txtnoang & "' and {tblkembali.tahun} ='" & txtthn & "' and {tblkembali.tglkembali} = #" & b1 & "-" & T1 & "-" & Th1 & "# " crpcetak1.Formulas(0) = "tglsewa ='" & dcsewa & "'" crpcetak1.Formulas(1) = "lama='" & lm & " Hari'" crpcetak1.RetrieveDataFiles crpcetak1.WindowState = crptMaximized crpcetak1.Action = 1 'crpcetak1.RetrieveDataFiles 'crpcetak1.WindowState = crptMaximized 'crpcetak1.CopiesToPrinter = 1 'crpcetak1.Destination = crptToPrinter 'crpcetak1.Action = 1 End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub xplagi_Click() If List1.Text = Empty Then y = MsgBox("Yakin tidak data yang keliru ???", vbYesNo + vbQuestion + vbDefaultButton2, "konfirmasi") Select Case y Case vbYes lagi Case vbNo List2.SetFocus End Select Else lagi End If End Sub Private Sub lagi() txtnoang.Text = "" txtnamaang.Text = "" Label5.Caption = "" Label6.Caption = "" cbofisik.Text = "" dcsewa.Enabled = False dcsewa = Date txtbayar.Text = "Rp. 0" ls1 ls2 cekbyr txtnamaang.SetFocus End Sub Private Sub xpkembali_Click() 'dcsewa = Date xpkembali.Enabled = False cek = frmmnutama.stb.Panels(1).Text If cek = "???" Then MsgBox "Password yang anda gunakan adalah password ! " & vbCrLf & " yang tidak dapat digunakan untuk penyimpanan !", 0 + 64, "Konfirmasi" xplagi_Click xpkeluar.SetFocus Exit Sub End If If txtnoang.Text = Empty Then MsgBox "Masukkan dulu Data anggota yang mengembalikan ! " & vbCrLf & " Bantuan tekan F1", 0 + 64, "Konfirmasi" txtnamaang.SetFocus Exit Sub End If 33
  • 34. If cbofisik.Text = Empty Then MsgBox "Masukkan dulu keadaan film yang dikembalikan !", 0 + 64, "Konfirmasi" cbofisik.SetFocus Exit Sub End If Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & List1 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.RecordCount > 0 Then ck = Rsfilm!nofilm kk = Rsfilm!jenisfilm End If Set Rsbysewa = Nothing Rsbysewa.Open "[tblbysewa] where jenisfilm ='" & kk & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsbysewa.RecordCount > 0 Then ct = Rsbysewa!jmlby dd = Rsbysewa!denda End If tgsewa Set Rssewa = Nothing Rssewa.Open "[tblsewa] where noang='" & txtnoang & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#", Koneksi, adOpenDynamic, adLockOptimistic If Rssewa.RecordCount > 0 Then ll = Rssewa!jamsewa rr = Rssewa.RecordCount End If If txtnoang.Text <> Empty Then Lama = dtptglkembali - CDate(dcsewa.Text) If Lama = 0 Then Lama = 1 Else If Lama >= 1 Then If Val(Left(txtjamkembali.Text, 2)) < 15 Then Lama = Lama ElseIf Val(Left(txtjamkembali.Text, 2)) > 15 Then Lama = Lama + 0.5 ElseIf Val(Left(txtjamkembali.Text, 2)) > 16 Then Lama = Lama + 1 End If End If End If aa = Lama End If If Val(aa) > Val(rr) Then denda = dd * (aa - rr) '=====> rumus denda lm = aa - rr Else denda = 0 End If jj = frmreading.label3.caption tgsewa Set Rskembali = Nothing Rskembali.Open "[tblkembali] where noang ='" & txtnoang & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rskembali.EOF Then Rskembali.AddNew Rskembali!noang = txtnoang.Text Rskembali!nofilm = ck Rskembali!tglkembali = dtptglkembali Rskembali!denda = denda Rskembali!tahun = txtthn.Text Rskembali!nokary = jj Rskembali!stsfisik = cbofisik.Text Rskembali!jamkembali = txtjamkembali.Text Rskembali.Update Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'" Koneksi.Execute "update tblsewa set stssewa='Kembali' where nofilm='" & ck & "'and noang='" & txtnoang & "' and tahun='" & txtthn & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#" Else Rskembali.AddNew Rskembali!noang = txtnoang.Text Rskembali!nofilm = ck Rskembali!tglkembali = dtptglkembali 34
  • 35. Rskembali!denda = denda Rskembali!tahun = txtthn.Text Rskembali!nokary = jj Rskembali!stsfisik = cbofisik.Text Rskembali!jamkembali = txtjamkembali.Text Rskembali.Update Koneksi.Execute "update tblfilm set stsfilm='Ada' where nofilm='" & ck & "'and tahun='" & txtthn & "'" Koneksi.Execute "update tblsewa set stssewa='Kembali' where nofilm='" & ck & "'and noang='" & txtnoang & "' and tahun='" & txtthn & "' and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#" End If ls2 ls1 'cekbyr End Sub Private Sub xpbatal_Click() tgsewa Set Rsfilm = Nothing Rsfilm.Open "[tblfilm] where namafilm ='" & List2 & "' and tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsfilm.RecordCount > 0 Then ck = Rsfilm!nofilm End If Koneksi.Execute "delete * from tblkembali where nofilm ='" & ck & "' and noang ='" & txtnoang & "'and tahun='" & txtthn & "'and tglkembali= #" & b1 & "/" & T1 & "/" & Th1 & "# " Koneksi.Execute "update tblfilm set stsfilm='Sewa' where nofilm='" & ck & "'" Koneksi.Execute "update tblsewa set stssewa='Sewa' where nofilm ='" & ck & "' and noang ='" & txtnoang & "'and tahun='" & txtthn & "'and tglsewa= #" & bln & "/" & tgl & "/" & thn & "#" ls1 ls2 cekbyr End Sub Private Sub cekbyr() Set Rskembali = Nothing Rskembali.Open "[tblkembali] where noang='" & txtnoang & "' and tglkembali = #" & b1 & "/" & T1 & "/" & Th1 & "# ", Koneksi, adOpenDynamic, adLockOptimistic If Rskembali.EOF Then txtbayar.Text = "Rp. 0" Exit Sub Else Do While Not Rskembali.EOF msub1 = msub1 + Val(Val(Rskembali!denda)) Rskembali.MoveNext Loop End If txtbayar.Text = "Rp. " + Format(msub1, "###,###,##0") If msub1 > 0 Then xpcetak.Enabled = True Else xpcetak.Enabled = False End If End Sub ----------------------------------------------------------------------------------------------------------------------------- ----------- Form Cetak Anggota – Frmcetakanggota Up1 optseluruh txtthn cbostatus xpcetak optstatus xpkeluar optdaftar Dtptgl1 Dtptgl2 35
  • 36. Listing Frmcetakanggota Public T1, T2, b1, B2, Th1, Th2 As Integer Private Sub Form_Activate() frmmnutama.Enabled = False End Sub Private Sub Form_Load() Static Structur BukaDatabase frmcetakanggota up1.Value = Year(Date) +T1 txtthn.Text = up1 +T2 dtptgl1 = Date +b1 dtptgl2 = Date +B2 dtpTgl1_LostFocus +Th1 DTPTgl2_LostFocus +Th2 : Integer cbostatus.Enabled = False -Form_Activate() -Form_Load() dtptgl1.Enabled = False -dtpTgl1_LostFocus() dtptgl2.Enabled = False -DTPTgl2_LostFocus() cbostatus.List(0) = "Aktif" -Form_Unload(in Cancel : Integer) cbostatus.List(1) = "Tidak Aktif" -optdaftar_Click() End Sub -optseluruh_Click() -optstatus_Click() -xpkeluar_Click() Private Sub dtpTgl1_LostFocus() -Up1_Change() T1 = Left(dtptgl1, 2) -xpcetak_Click() b1 = Mid(dtptgl1, 4, 2) Th1 = Right(dtptgl1, 4) DTPTgl2_LostFocus End Sub Private Sub DTPTgl2_LostFocus() T2 = Left(dtptgl2, 2) B2 = Mid(dtptgl2, 4, 2) Th2 = Right(dtptgl2, 4) End Sub Private Sub Form_Unload(Cancel As Integer) Koneksi.Close End Sub Private Sub optdaftar_Click() cbostatus.Enabled = False dtptgl1.Enabled = True dtptgl2.Enabled = True End Sub Private Sub optseluruh_Click() cbostatus.Enabled = False dtptgl1.Enabled = False dtptgl2.Enabled = False End Sub Private Sub optstatus_Click() cbostatus.Enabled = True dtptgl1.Enabled = False dtptgl2.Enabled = False End Sub Private Sub xpkeluar_Click() Unload Me frmmnutama.Enabled = True End Sub Private Sub Up1_Change() txtthn.Text = up1 End Sub Private Sub xpcetak_Click() If optseluruh = True Then Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where Tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then X = MsgBox("Data anggota untuk Tahun '" & txtthn & "' tidak ada", 0 + 64, "Konfirmasi") xpcetak.Enabled = True xpcetak.SetFocus Exit Sub Else 36
  • 37. crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt" crpcetak1.SelectionFormula = " {tblanggota.tahun} ='" & txtthn & "'" crpcetak1.Formulas(0) = "periode ='Tahun : " & txtthn & "'" crpcetak1.RetrieveDataFiles crpcetak1.WindowState = crptMaximized crpcetak1.Action = 1 End If End If If optstatus = True Then If cbostatus.Text = Empty Then MsgBox "Masukkan dulu status anggota !", , "Konfirmasi" cbostatus.SetFocus Exit Sub End If Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where stsang = '" & cbostatus & "' And " & _ " Tahun='" & txtthn & "'", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then X = MsgBox("Data anggota yang berstatus '" & cbostatus & "' " & vbCrLf & " untuk Tahun '" & txtthn & "' tidak ada", 0 + 64, "Konfirmasi") xpcetak.Enabled = True xpcetak.SetFocus Exit Sub Else crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt" crpcetak1.SelectionFormula = " {tblanggota.stsang} ='" & cbostatus & "' and {tblanggota.tahun} ='" & txtthn & "'" crpcetak1.Formulas(0) = "periode ='Status " & cbostatus & " Tahun : " & txtthn & "'" crpcetak1.RetrieveDataFiles crpcetak1.WindowState = crptMaximized crpcetak1.Action = 1 End If End If If optdaftar = True Then Set Rsanggota = Nothing Rsanggota.Open "[tblanggota] where tblanggota.stsang = 'Aktif' And " & _ " tblanggota.Tahun='" & txtthn & "' and (tblanggota.tgldaftar>= #" & b1 & "/" & T1 & "/" & Th1 & "# " & _ "and tblanggota.tgldaftar <= #" & B2 & "/" & T2 & "/" & Th2 & "# )", Koneksi, adOpenDynamic, adLockOptimistic If Rsanggota.EOF Then X = MsgBox("Data Anggota Aktif yg mendaftar " & vbCrLf & " periode Tgl. '" & dtptgl1 & "' s/d '" & dtptgl2 & "' tidak ada", 0 + 64, "Konfirmasi") xpcetak.Enabled = True xpcetak.SetFocus Exit Sub Else crpcetak1.ReportFileName = App.Path & "" & "rptseluruh_anggota.rpt" crpcetak1.SelectionFormula = " {tblanggota.stsang} ='Aktif' and {tblanggota.tahun} ='" & txtthn & "' and {tblanggota.tgldaftar} >= #" & b1 & "-" & T1 & "-" & Th1 & "# " & _ "and {tblanggota.tgldaftar} <= #" & B2 & "-" & T2 & "-" & Th2 & "#" If dtptgl1 = dtptgl2 Then tt = Format(dtptgl1) Else tt = Format(dtptgl1) + " s/d " + Format(dtptgl2) End If crpcetak1.Formulas(0) = "periode ='Tgl.Daftar : " & tt & "'" crpcetak1.RetrieveDataFiles crpcetak1.WindowState = crptMaximized crpcetak1.Action = 1 End If End If End Sub 37