Di tutorial ini kita masih belajar membuat form seperti yang kita buat pada tutorial yang ke 2. Dan form yang akan kita buat adalah form pelanggan dan form user. Inti dari rumusnya sebagian besar sama hanya ada beberapa saja yang mesti dirubah. Tapi jika ada beberapa rumus atau logika yang tidak anda mengerti di tutorial yang ke 3 ini silahkan baca kembali tutorial yang ke 2 karena listing programnya hampir sama dan saya tidak akan menulis keterangan listing program tersebut kembali pada tutorial yang kali ini karena sudah saya jelaskan di tutorial yang ke 2.
2. Membuat FORM PELANGGAN
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME
|
CAPTION/TEXT
|
KETERANGAN
|
TAMBAHAN
|
|
Label1 | Kode pelanggan | Label | ||
Label2 | Nama pelanggan | Label | ||
Label3 | Nomor Hp/telpon | Label | ||
Label4 | Alamat | Label | ||
Txtkdpel |
-
|
Textbox | ||
Txtnmpel |
-
|
Textbox | ||
Txttelp |
-
|
Textbox | ||
Txtalamat |
-
|
Textbox | ||
Cmdadd | &add | Command Button | ||
Cmdclear | &clear | Command Button | ||
Cmdsave | &save | Command Button | ||
Cmdedit | &edit | Command Button | ||
Cmddelete | &delete | Command Button | ||
Cmdexit | &exit | Command Button | ||
Cmdfind | &find | Command Button | ||
Data1 |
-
|
Data | ||
Dbgrid1 |
-
|
Dbgrid | Data source : data1 | |
Pelanggan | Data Pelanggan | Form | ||
Cmdprint | Command Button | Jika punya Crystal Report | ||
CR |
-
|
Crystal Report | Jika punya Crystal Report |
Private Sub Form_Load() Data1.DatabaseName = App.Path & "/BUKU.mdb" Data1.RecordSource = "Table_Pelanggan" End Sub Private Sub Form_Activate() Call nonaktif TXTKDPEL.Enabled = False CMDCLEAR.Enabled = False CMDSAVE.Enabled = False CMDEDIT.Enabled = False CMDDELETE.Enabled = False End Sub Sub aktif() TXTNMPEL.Enabled = True TXTALAMAT.Enabled = True TXTTELP.Enabled = True End Sub Sub nonaktif() TXTNMPEL.Enabled = False TXTALAMAT.Enabled = False TXTTELP.Enabled = False End Sub Sub tampil() On Error Resume Next With Data1.Recordset TXTKDPEL.Text = !Kode_pelanggan TXTNMPEL.Text = !Nama_Pelanggan TXTALAMAT.Text = !Almt_pelanggan TXTTELP.Text = !Telp_pelanggan End With End Sub Private Sub CMDFIND_Click() Dim Kode_pelanggan As String Kode_pelanggan = InputBox("masukan kode!", "Cari Data") If Kode_pelanggan = Empty Then Exit Sub If Kode_pelanggan <> "" Then Data1.Recordset.Index = "Kode_pelanggan" Data1.Recordset.Seek "=", Kode_pelanggan If Not Data1.Recordset.NoMatch Then Call tampil Call aktif TXTKDPEL.Enabled = False TXTNMPEL.Enabled = False TXTALAMAT.Enabled = False TXTTELP.Enabled = False CMDSAVE.Enabled = False CMDADD.Enabled = False CMDDELETE.Enabled = True CMDEDIT.Enabled = True CMDFIND.Enabled = False Else MsgBox "Data Tidak ada" End If End If End Sub 'KETERANGAN: Untuk Pencarian Data pada Tutorial 3 ini berbeda dengan Tutorial 2. Kalau pada Tutorial 2 saya menggunakan textbox maka kali ini saya menggunakan command button. 'Tipe data Kode pelanggan disini dideklarasikan sebagagai STRING. 'INPUT BOX adalah sebuah form kecil yang digunakan untuk memasukan data yang ingin dicari. 'Maksud logika pencariannya adalah: 'Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu kosong (empty) maka akan keluar dari sub program ini. 'Tapi Jika Kode Pelanggan yang dimasukan ke dalam Input Box itu tidak kosong (ada isinya) maka akan dilakukan proses pencarian data dari kode pelanggan yang sama dengan yang dimasukan ke Input box tadi. 'Dan jika data yang dicari “BUKAN TIDAK ADA” (maksudnya ada) maka data akan ditampilkan. 'Tapi jika data yang dicari SELAIN ITU (maksudnya tidak ada) maka akan muncul pesan. 'JANGAN BINGUNG YA? HEHEHE ! BAHASANYA DIBOLAK BALIK . Sub kosong() TXTNMPEL.Text = "" TXTALAMAT.Text = "" TXTTELP.Text = "" End Sub Private Sub CMDADD_Click() Call aktif Call kosong CMDADD.Enabled = False CMDCLEAR.Enabled = True CMDSAVE.Enabled = True CMDEDIT.Enabled = False CMDDELETE.Enabled = False CMDFIND.Enabled = False TXTNMPEL.SetFocus End Sub Private Sub CMDCLEAR_Click() TXTKDPEL.Text = "" Call kosong Call nonaktif CMDADD.Enabled = True CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDFIND.Enabled = True CMDEDIT.Enabled = False CMDDELETE.Enabled = False End Sub Private Sub CMDSAVE_Click() With Data1.Recordset .AddNew !Kode_pelanggan = TXTKDPEL.Text !Nama_Pelanggan = TXTNMPEL.Text !Almt_pelanggan = TXTALAMAT.Text !Telp_pelanggan = TXTTELP.Text .Update End With Data1.Refresh MsgBox "data telah disimpan" Call nonaktif CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDADD.Enabled = True CMDFIND.Enabled = True TXTKDPEL.Text = "" Call kosong End Sub Private Sub CMDEDIT_Click() If CMDEDIT.Caption = "&EDIT" Then Call aktif CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDADD.Enabled = False CMDDELETE.Enabled = False CMDEDIT.Caption = "&UPDATE" Else With Data1.Recordset .Edit !Kode_pelanggan = TXTKDPEL.Text !Nama_Pelanggan = TXTNMPEL.Text !Almt_pelanggan = TXTALAMAT.Text !Telp_pelanggan = TXTTELP.Text .Update End With Call kosong CMDEDIT.Caption = "&EDIT" CMDADD.Enabled = True CMDDELETE.Enabled = False CMDFIND.Enabled = True CMDEDIT.Enabled = False Call nonaktif TXTKDPEL.Text = "" End If End Sub Private Sub CMDDELETE_Click() CMDEDIT.Enabled = False CMDCLEAR.Enabled = False CMDDELETE.Enabled = False a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI") If a = vbYes Then Data1.Recordset.Delete Call kosong TXTKDPEL.Text = "" MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO" CMDADD.Enabled = True CMDFIND.Enabled = True Data1.Refresh DBGrid1.Refresh Else CMDDELETE.Enabled = False CMDADD.Enabled = True CMDFIND.Enabled = True Call kosong TXTKDPEL.Text = "" End If End Sub Private Sub CMDEXIT_Click() Unload me End Sub Private Sub CMDPRINT_Click() ‘CR.ReportFileName = App.Path & "\PELANGGAN.rpt" ‘CR.WindowState = crptMaximized ‘CR.RetrieveDataFiles ‘CR.Action = 1 End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”Pelanggan” dan menyimpannya dengan nama ”Pelanggan.frm”.
3. Membuat FORM USER
- Buat form baru lagi lalu isikan dengan isi dan properties dibawah ini:
NAME
|
CAPTION/TEXT
|
KETERANGAN
|
TAMBAHAN
|
|
Label1 | ID user | Label | ||
Label2 | Nama user | Label | ||
Label3 | Alamat | Label | ||
Label4 | Telpon | Label | ||
Label5 | Type | Label | ||
Label6 | Password | Label | ||
TxtId |
-
|
Textbox | ||
Txtnama |
-
|
Textbox | ||
Txtalamat |
-
|
Textbox | ||
Txttelpon |
-
|
Textbox | ||
Cbotype |
-
|
Combo box | ||
Txtpass |
-
|
Textbox | ||
Txtfind |
-
|
Textbox | ||
Cmdadd | &add | Command Button | ||
Cmdclear | &clear | Command Button | ||
Cmdsave | &save | Command Button | ||
Cmdedit | &edit | Command Button | ||
Cmddelete | &delete | Command Button | ||
Cmdexit | &exit | Command Button | ||
Cmdfind | &find | Command Button | ||
Data1 |
-
|
Data | ||
Dbgrid1 |
-
|
Dbgrid | Data source : data1 | |
User | Data User | Form | ||
Cmdprint | Command Button | Jika punya Crystal Report | ||
CR |
-
|
Crystal Report | Jika punya Crystal Report |
Private Sub Form_Load() Data1.DatabaseName = App.Path & "/BUKU.mdb" Data1.RecordSource = "Table_user" Cbotype.add item “ADMINISTRATOR” Cbotype.add item “LIMITED” End Sub Private Sub Form_Activate() CBOTYPE.Enabled = False Call nonaktif TXTID.Enabled = False CMDCLEAR.Enabled = False CMDSAVE.Enabled = False CMDDELETE.Enabled = False CMDEDIT.Enabled = False End Sub Sub aktif() TXTNAMA.Enabled = True TXTPASS.Enabled = True TXTALAMAT.Enabled = True TXTTELPON.Enabled = True End Sub Sub nonaktif() TXTNAMA.Enabled = False TXTPASS.Enabled = False TXTALAMAT.Enabled = False TXTTELPON.Enabled = False End Sub Sub kosong() TXTNMPEL.Text = "" TXTALAMAT.Text = "" TXTTELP.Text = "" End Sub Sub tampil() On Error Resume Next With Data1.Recordset TXTKDPEL.Text = !Kode_pelanggan TXTNMPEL.Text = !Nama_Pelanggan TXTALAMAT.Text = !Almt_pelanggan TXTTELP.Text = !Telp_pelanggan End With End Sub Private Sub TXTFIND_Change() If TXTFIND.Text = "" Then Data1.RecordSource = "SELECT*FROM Table_user" Data1.Refresh CMDEDIT.Enabled = False CMDDELETE.Enabled = False CMDFIND.Enabled = True TXTFIND.Enabled = True CMDADD.Enabled = True End If End Sub Private Sub CMDFIND_Click() If TXTFIND.Text = "" Then MsgBox "masukan data dulu" TXTFIND.SetFocus Else Data1.RecordSource = "SELECT*FROM Table_user WHERE Id_user=’" & TXTFIND.Text & "’" Data1.Refresh Call tampil CMDFIND.Enabled = False CMDADD.Enabled = False CMDEDIT.Enabled = True CMDDELETE.Enabled = True If Data1.Recordset.EOF Then MsgBox "DATA TIDAK ADA !!!", vbOKOnly, "INFO" TXTFIND.Text = "" TXTFIND.SetFocus Call kosong TXTID.Text = "" End If End If End Sub 'KETERANGAN: Lagi lagi di Form User ini saya memakai kode pencarian yang berbeda dari Form Pelanggan dan Form Buku. Jika di Form Buku saya hanya menggunakan textbox lalu di Form Pelanggan saya hanya menggunakan command button, maka pada Form User ini saya menggunakan kedua duanya baik textbox dan command button. 'Maksud dari logika program pencariannya agak mirip dengan yang ada di Form Buku tetapi kalau memasukan data yang dicari pada Form User ini harus benar benar sama persis dengan yang ada di database. Arti listing programnya yaitu: Pilih semua data dari Table User yang ada di database yang ID User nya sama persis dengan yang ada di txtfind. Private Sub CMDADD_Click() Call aktif Call kosong CBOTYPE.Enabled = True TXTNAMA.SetFocus CMDADD.Enabled = False CMDCLEAR.Enabled = True CMDSAVE.Enabled = True CMDEDIT.Enabled = False CMDDELETE.Enabled = False CMDFIND.Enabled = False End Sub Private Sub CMDCLEAR_Click() TXTID.Text = "" Call kosong Call nonaktif CMDADD.Enabled = True CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDEDIT.Enabled = False CMDDELETE.Enabled = False CBOTYPE.Enabled = False CMDFIND.Enabled = True End Sub Private Sub CMDSAVE_Click() With Data1.Recordset .AddNew !Id_user = TXTID.Text !Nama_user = TXTNAMA.Text !Almt_user = TXTALAMAT.Text !Telp_user = TXTTELPON.Text !Pass_user = TXTPASS.Text !Type_user = CBOTYPE.Text .Update End With Data1.Refresh MsgBox "data telah disimpan" Call nonaktif CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDADD.Enabled = True CBOTYPE.Enabled = False CMDFIND.Enabled = True Call kosong TXTID.Text = "" End Sub Private Sub CMDEDIT_Click() If CMDEDIT.Caption = "&EDIT" Then Call aktif CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDDELETE.Enabled = False CMDEDIT.Caption = "&UPDATE" CBOTYPE.Enabled = True Else CBOTYPE.Enabled = False With Data1.Recordset .Edit !Id_user = TXTID.Text !Nama_user = TXTNAMA.Text !Almt_user = TXTALAMAT.Text !Telp_user = TXTTELPON.Text !Pass_user = TXTPASS.Text !Type_user = CBOTYPE.Text .Update End With If TXTID.Text = Menuutama.txtuser.Text Then Menuutama.txtuser.Text = Data1.Recordset!Id_user Menuutama.Label2.Caption = Data1.Recordset!Nama_user End If Call kosong TXTFIND.Text = "" TXTID.Text = "" CMDEDIT.Caption = "&EDIT" CMDDELETE.Enabled = False CMDADD.Enabled = True CMDEDIT.Enabled = False CMDFIND.Enabled = True Call nonaktif End If End Sub Private Sub CMDDELETE_Click() a = MsgBox("YAKIN ANDA MAU MENGAHAPUS DATA INI ?", vbQuestion + vbYesNo, "KONFIRMASI") If a = vbYes Then Data1.Recordset.Delete Call kosong TXTID.Text = "" MsgBox "DATA TELAH BERHASIL DIHAPUS", vbOKOnly, "INFO" CMDADD.Enabled = True Data1.Refresh CMDDELETE.Enabled = False CMDEDIT.Enabled = False CMDFIND.Enabled = True TXTFIND.Text = "" Else CMDDELETE.Enabled = False CMDADD.Enabled = True Call kosong TXTID.Text = "" TXTFIND.Text = "" End If End Sub Private Sub CMDEXIT_Click() Unload Me End Sub Private Sub CMCPRINT_Click() CR.ReportFileName = App.Path & "\USER.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End Sub
PERHATIAN: CMDPRINT hanya dipakai jika anda mempunyai software pembuat laporan yang bernama CRYSTAL REPORT. Jika tidak punya, silahkan hapus rumusnya. Tapi jika anda punya, gunakan listing program tersebut dan hilangkan tanda petik di depan rumusnya. Untuk keterangan lebih lanjut baca Tutorial Membuat Laporan dengan Crystal Report.
- Jangan lupa untuk mengganti Name dari form ini di properties menjadi ”User” dan menyimpannya dengan nama ”User.frm”.
Selesai Juga Dech Tutorialnya....
Terimakasih Atas Kunjungannya....
Semoga Ilmu Yang Sedikit Ini Bermanfaat....
Jangan Lupa Like Post Ini Ya.... Terimakasih....
0 komentar:
Posting Komentar