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 |
&print |
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 |
&print |
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”.
Akhirnya selesai juga Form Pelanggan dan Form User ini. Bagaimana? Tambah mengerti atau tambah pusing? Nyantai aja bro, masih banyak yang harus kita bikin. Masih ada beberapa form lagi. Jadi, tetap ikuti tutorial dari saya. We’ll meet at 4rd Tutorial , okey? Cheeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrsssssss!!!
By: OPIX HOLMES
opix.holmes@yahoo.com
http://www.islamicunderground.com
Tidak ada komentar:
Posting Komentar