| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 1 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Modul belajar sendiri, dibuat sendiri & untuk yang mau belajar sendirian aja..
Oleh: Indra Erawan Sanjaya,Skom
VBNet 2005 &
SQL 2005
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 2 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
PDF ini diupdate tanggal:
10-juni-2012
(b)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 3 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
DAFTAR ISI
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 4 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
KONTAK:
Indra Erawan Sanjaya,Skom CIRI-CIRI: Keren, ganteng manis, imut, manis, penyayang, tegar, lucu, lincah, murah senyum, idaman wanita.. dll dll Banyak yang bilang ane Mirip banget sama artis afgan,, DARI MANA: Dari kuliah sudah senang & mulai ngajar Jadi sampe sekarang pun masih suka ngajar HARI-HARI: Aktivitas sehari-hari adalah programmer khusus untuk system di PABRIK (manufacture) Suka bolak-balik ke pt-pt di kawasan bekasi (ejip, jababeka, delta..) buat jualan mie ayam... heheehee Membuat system untuk pabrik dengan nama system : MySYSTEM FOTONYA ane pas kuliah di Gunadarma:
( foto ane pas masih kuliah di Gunadarma depok )
Stttt..... foto ini harap di
rahasiakan, tidak semua
orang tahu akan hal ini..
apalagi media Infotaiment
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 5 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
KONTAK ANE:
Im3:
0857.73.59.59.69 (terima Transafer PULSA, yg transfer pulsa akan ane catat NAMA+KELAS nya.. hehehehe)
Email untuk surat menyurat ane:
Indraes.ok@ gmail.com
yang mau curhat, konsultasi pemograman bias sms/telp/imel/fb inbox ane...
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 6 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
foto-foto keren:
Waktu SMA (keren abizzz):
Waktu KULIAH (ganteng nya masih ada banyak..)
Nah ini yang sekarang,sisa2 gantengnya masih ada loh..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 7 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 8 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Web ane :
www.mysystem-indonesia.com
web yang menjual program untuk perusahaan manufacture | masih BETA
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 9 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 10 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
VB Net
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 11 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 12 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Hal2 versi VbNet & Database
VERSI VISUAL BASIC: 1. VB 4, VB 5, 2. VB 6 masih tetap digunakan 3. VB Net 2002, VB Net 2003 4. VB Net 2005 pengguna VBNet minimal pake versi 2005 5. VB Net 2008, VB Net 2010
VERSI DATABASE ACCESS:
1. Access 97 (Office 97), Access 2000 (Office 2000) 2. Access 2003 (Office 2003) bagus untuk pemograman (disarankan) 3. Access 2008 (office 2008), Access 2010 (Office 2010)
VERSI DATABASE SQL SERVER:
1. SQL server 7 2. SQL server 2000 ada kendala koneksi di windows7 3. SQL server 2005 minimal versi sekarang, banyak digunakan 4. SQL server 2008
VERSI DATABASE SQL SERVER (GRATIS –tidak perlu bayar LISENSI):
1. SQL server 2005 EXPRESS ringan digunakan dibandingkan 2008 2. SQL server 2008 EXPRESS
Ket: Microsoft memang mengeluarkan versi EXPRESS, jadi FREE, tidak perlu bayar, bebas digunakan
untuk akademis, pribadi ataupun bisnis.. (Lumayan)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 13 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
File project (utama) VBNet
File utama project VBNet mempunyai EXTENTION = VBPROJ (kalo di VB6: ber-extensi .VBP)
Klik 2x file ini untuk langsung membuka vbnet
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 14 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
P e n t I n g…… (Start-up form)
Mengatur FORM AWAL yang akan di
RUNNING
1. Klik 2x My Project , atau dari menu = PROJECT + PROPERTIES 2. Muncul form diatas…. Pilih START-UP FORM, pilih form nya deh..
1
2
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 15 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Beberapa Code-code dasar
perbedaan VB6 & VBNet
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 16 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Beberapa perbedaan code
VB6 & VBNet
Ingat: VBNet TIDAK ADA CAPTION lagi.. gantinya TEXT Ingat: di VBNET penulisan PROPERTIES harus lengkap (contoh: TextBox1=”OK”
TextBox1.Text=”OK”)
MENUTUP FORM
Unload me Me.close
FORM : MENAMPILKAN FORM
Form1.Show Form1.Show()
FORM : MENAMPILKAN FORM SECARA MODAL (Focus)
Form1.Show (1) Form1.ShowDialog()
Mouse,Cursor,Bersihkan data
MOUSE : MERUBAH BENTUK MOUSE SAAT PROSES
Screen.MousePointer = vbHourglass System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Help
MELETAKKAN KURSOR
Text1.Setfocus TextBox1.Focus()
ME-NGOSONGKAN DATA YANG ADA DI TEXTBOX,dll
Text1=”” TextBox1.Clear ….atau
TextBox1.Text=””
Mengecek Penekanan Tombol Keyboard
PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN Contoh :
di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.
Lokasi kode = TEXTBOX3 – KEYDOWN
If KEYCODE = VBKEYReturn Then
Msgbox “TOMBOL ENTER DI TEKAN”
End If
di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.
Lokasi kode = TEXTBOX3 – KEYDOWN
IF e.KeyCode = Keys.Return Then
Msgbox “TOMBOL ENTER DI TEKAN”
End If
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 17 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Mengecek Penekanan Tombol Keyboard dg SENDKEYS
PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN
Contoh :
di TEXTBOX3 akan di CEK, apakah tombol
ENTER di tekan.
Lokasi kode = TEXTBOX3 – KEYDOWN
If KEYCODE = VBKEYReturn Then SENDKEYS “{TAB}”
End If
di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan.
Lokasi kode = TEXTBOX3 – KEYDOWN
IF e.KeyCode = Keys.Return Then
SendKeys.Send("{TAB}") End If
LOOPING : WHILE Contoh :
WHILE …. WEND WHILE … END WHILE
COMBO Box
COMBO BOX
Combo1.Clear Combo1.AddItem “IT”
Combo2.AddItem “OM”
ComboBox1.Items.Clear ComboBox1.Items.Add(“IT”)
ComboBox1.Items.Add(“OM”)
Lokasi Default Project
PROJECT : MENGAMBIL LOKASI PROJECT Contoh :
App.path Dim Lokasi As String
Lokasi = Application.StartupPath
(atau)
Lokasi = System.Environment.CurrentDirectory
M s g B o x, I n p u t B o x
KOTAK PESAN MASIH SAMA, SEDIKIT BEDA UNTUK ICON DAN KOTAK
Contoh :
Tanya=Msgbox(“INGIN KELUAR?”,VbQuestion+VbYesNo)
If Tanya=VbYes Then Unload me
End if
Dim Tanya As String
Tanya = MsgBox("KELUAR?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If Tanya = vbYes Then Me.Close() End If
Bentuk lain;
MessageBox.Show("Programmer: IndraES", "Info",
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 18 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
MessageBoxButtons.OK, MessageBoxIcon.Information)
KOTAK INPUTBOX MASIH SAMA
Nama=Inputbox (“Nama kamu sapaaa?”)
MsgBox nama,VbInformation
Dim nama As String
nama = InputBox("Nama kamu siapa..?")
MsgBox(nama, MsgBoxStyle.Information)
Code ERROR
ERROR
On Error resume next
Atau: On Error Goto Cek
..
.. Exit sub
Cek:
Msgbox ERR.Description
Code yang lama bisa digunakan:
ON ERROR RESUME NEXT
On Error Goto Cek
..
.. Exit Sub
Cek:
Msgbox ERR.Description
Code baru:
Try
' ---kode yg ingin di cek
' ... Catch e As Exception
' Handle any exceptions.
' ... Finally
' The stream should be closed whether or not error
End Try
Format Angka, Tanggal & Jam
FORMAT ANGKA
Dim a as Double
A=10000 B=Format(a,”###.###,00”) 100.000,00
Yang lama bisa di gunakan:
Label1.Text = Format(Jml, "#,##0")
Yang Baru:
Dim a As String = 100000
Me.Text = FormatNumber(a) 100,000.00 Me.Text = FormatNumber(a,4) 100,000.0000
Me.Text = FormatNumber(a,0) 100,000
FORMAT TANGGAL DAN JAM
Msgbox DATE Me.Text = "ShortTime :" & FormatDateTime(Now, DateFormat.ShortTime)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 19 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Msgbox Format(DATE,”dd-MMM-
yyyy”)
Format (DATE,”dd”) Format (DATE,”MMM”)
Format(DATE,”yyyy”)
Msgbox Day(Date)/ Month(Date)/ Year(Date)
Msgbox Hour(Time)/ Minute(Time)/ Second(Time)
HH:MM
Me.Text = "LongTime :" & FormatDateTime(Now, DateFormat.LongTime) HH:MM:SS
Me.Text = "ShortDate :" & FormatDateTime(Now, DateFormat.ShortDate) dd-MMM-yyyy Me.Text = FormatDateTime(Now, DateFormat.LongDate) dd-MMMM-yyyy
Me.Text = "GeneralDate :" & FormatDateTime(Now, DateFormat.GeneralDate)
dd-MMMM-yyyy HH:MM:SS Me.LBL_jam.Text = Now dd-MMM-yyyy HH:MM:SS
Me.Label8.Text = "Now.date :" & Now.Date dd-MMM-yyyy Me.Label9.Text = "Now.day :" & Now.Day dd
Me.Label10.Text = "Now.month :" & Now.Month mm Me.Label11.Text = "Now.year :" & Now.Year yyyy
Me.Label12.Text = "Now.hour :" & Now.Hour HH
Me.Label13.Text = "Now.minute :" & Now.Minute MM Me.Label14.Text = "Now.second :" & Now.Second SS
Me.Label15.Text = "Now.Millisecond :" & Now.Millisecond Milisecond /1000 Me.Label16.Text = "Now.DayOfWeek :" & Now.DayOfWeek urutan hr dlm 1 mg
(SENIN=1, SELASA=2,… MINGGU=7) Me.Label22.Text = "Now.DayOfYear :" & Now.DayOfYear urutan hr dlm 1 thn
FUngsi FORMAT masih bisa digunakan…
M D I Form
MDI : MEMBUAT FORM PARENT MDI
-Dari menu PROJECT + Add Form + pilih MDI
-Buka FORM + (PROPERTIES) .IsMDIContainer = TRUE
-form ini dijadikan form UTAMA yang menaggil FORM2
lainnya, pada saat memanggil FORM lainnya yg akan di
jadikan MDI CHILD bari diketikkan KODE dibawah ini …
MDI : MEMBUAT FORM CHILD MDI
-Buka FORM + (PROPERTIES) .MDIChild = TRUE
-Membuat FORM menjadi MDI CHILD dengan CODE, bukan
dengan mengatur PROPERTIES. Tapi dengan CODE sbb:
Code FORM MDI Child:
Dim MyChild As New Form1
MyChild.MdiParent = Me MyChild.Show()
MyChild.Text = "Halo ini Form MDI Child"
-Code di letakkan di PEMANGGILAN FORM, misalnya
pada MENU yang memanggil/memunculkan FORM, FORM
yg muncul jadi MDI
-FORM yg memanggil jadi FORM PARENT
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 20 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
MENU EDITOR dan FLOATING MENU
MENU : MEMUNCULKAN FLOATING MENU di FORM
PopUpMenu MenuReport
●Jika di di form ,maka MUNCUL FLOATING menu
●Floating menu memerlukan componen CONTEXTMENUSTRIP
Me.ContextMenuStrip1.Show(System.Windows.Forms.Cursor.Position.X,
System.Windows.Forms.Cursor.Position.Y)
●kalo CODE untuk MENG-AKTIF kan salah satu MENU=
DataMasterToolStripMenuItem.ShowDropDown()
…akan d update terus
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 21 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Yooook... Mulai latihan
VbNet Tanpa
Database
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 22 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat project baru
Bukalah visual studio net
Nanti akan muncul tampilan awal untuk project sbb
Untuk membuat PROJECT BARU : klik CREATE PROJECT
Untuk membuka PROJECT : klik OPEN PROJECT atau biasanya sudah ada daftar diatas jadi tinggal di klik aja
Lalu muncul kotak NEW Project
1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 23 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
1. Ketik nama FILE PROJECT nya
2. Tentukan LOKASI tempat folder nya, klik tombol BROWSE
3. Jika sudah klik TOMBOL OK
4. Program visual basic Net sudah siap dehhhhhhhhh..
1
2
3
Form design
Toolbox
Project, form,
modul, dll
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 24 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan 1 Materi yang di dapat Keterangan
1. Fungsi mengosongkan textbox
2. Ber-pindah antar TEXTBOX (di ENTER) atau fungsi TAB INDEX
3. Menggunakan perintah ISNUMERIC untuk cek angka
4. Format angka RIBUAN dan DESIMAL dg FORMAT()
5. Keluar form dengan KONFIRMASI pertanyaan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 25 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SETINGAN PROPERTIES:
LABEL
Properties Keterangan
TEXT Untuk ngetik text nya
AUTOSIZE=False Agar bias dirubah ukurannya
BACKCOLOR=Transparant Agar backgraound warna transparan
TEXTALIGNMENT Jenis kerataan/ posisi
IMAGE Untuk ambil/memberi gambar pada label
IMAGEALIGMENT Untuk posisi gambar
PICTUREBOX Terkadang object di VBNET mucul SEGITIGA KECIL, ini adalah setingan pokok
Properties Keterangan
CHOOSE IMAGE Ambil gambar
SIZE MODE Pengaturan ukuran gambar
TEXTBOXBOX
Properties Keterangan
TEXT Untuk ngetik text nya
FONT Pengaturan huruf (model,efek,dll)
FORECOLOR Warna huruf
MAXLENGTH Panjang maximal input data
PASSWORD CHART Symbol untuk password agar tidak terbaca
BUTTON
Properties Keterangan
TEXT Untuk ngetik text nya
TEXT ALIGMENT Posisi text
IMAGE Ambil gambar
IMAGE ALIGMENT Posisi gambar
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 26 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE-CODE PROCEDURE:
Procedure kosong untuk mengosongkan textbox
Sub KOSONG() Me.TextBox1.Clear()
Me.TextBox2.Clear()
Me.TextBox3.Text=””
END SUB
CODE-CODE :
Code: TOMBOL KOSONG
CALL KOSONG '/ panggil procedure kosongkan textbox
Me.TextBox1.Focus()
Code: TOMBOL PROGRAMMER
'/ Menampilkan info program dengan MSGBOX
MsgBox("Dibuat oleh: IndraES Keren", MsgBoxStyle.Information)
Code: TOMBOL EXIT
'/ munculkan KOTAK KONFIRMASI untuk KELUAR FORM
Dim Indra_IMUT As String
Indra_IMUT = MsgBox("MAU UDAHAN YAH?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If Indra_IMUT = vbYes Then
Me.Close() „/Close tutup form
End If
Catatan:
Me.CLOSE keluar dari form, form nya close, program masih jalan.
Tapi Kalo form Cuma ada 1 maka form keluar & program keluar END keluar dari program, program akan berhenti,keluar,selesai..
.FOCUS taro
kursor di textbox
.Clear
kosongkan object
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 27 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TOMBOL HITUNG TAMBAH (+)
'/penjumlahan
Me.TextBox3.Text = Val(Me.TextBox1.Text) + Val(Me.TextBox2.Text)
Code: TOMBOL HITUNG KURANG ( - )
'/ contoh mengecek data yg di input untuk kalkulasi
'/ apakah yg diinput ANGKA atau BUKAN
If IsNumeric(Me.TextBox4.Text) = False Then MsgBox("INPUT DATA DENGAN ANGKA..", MsgBoxStyle.Information)
Me.TextBox4.Focus()
Exit Sub
End If
If IsNumeric(Me.TextBox5.Text) = False Then MsgBox("INPUT DATA DENGAN ANGKA..", MsgBoxStyle.Information)
Me.TextBox5.Focus()
Exit Sub „/keluar dari sub kembali ke form
End If
Me.TextBox3.Text = Val(Me.TextBox1.Text) - Val(Me.TextBox2.Text)
Code: TOMBOL HITUNG PERKALIAN ( * )
Me.TextBox3.Text = Me.TextBox1.Text * Me.TextBox2.Text
Code: TOMBOL HITUNG PEMBAGIAN ( / )
'/ hasilnya menggunakan format ribuan dan DESIMAL
Dim MANIS_deh As Double
MANIS_deh = Val(Me.TextBox10.Text) / Val(Me.TextBox11.Text)
Me.TextBox12.Text = Format(MANIS_deh, "#.00") '/2 digit desimal
VAL fungsi untuk
merubah string ke numeric
IsNumeric fungsi untuk cek apakah
yg di input angka
numeric?
Format fungsi
format angka, tgl, jam, dll
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 28 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 29 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
UPGRADE code: Membuat KOSONG otomatis
Procedure kosong TextBox otomatis (di lokasi tertentu) Public Sub KOSONG_aja(ByVal obj As Object)
'#object diisi bergantung dimana text itu diletakkan,
'misal didalam groupbox pemanggilan jadi : call KOSONG(Me.groupbox)
'didalamForm : call KOSONG(Me))
For Each ctl As Control In obj.controls
If TypeOf ctl Is TextBox Then
ctl.Text = ""
End If
Next
End Sub
Kode lainnya;
Procedure kosong TextBox otomatis (semua TEXTBOX)
Public Sub KOSONG_all(ByVal ctr As Control)
'/-------------------------------------------------------------/
'/ PANGGIL/CEK SEMUA TEXTBOX, WALAUPUN ADA DI DALAM GROUP
'/-------------------------------------------------------------/
'Untuk pemanggilan fungsinya :
'For Each ctrl As Control In Me.Controls
'objClass.RecurseControl(ctrl)
'Next
If TypeOf ctr Is TextBox Then
ctr.Text = ""
End If
If ctr.HasChildren Then
For Each c As Control In ctr.Controls
KOSONG_all(c)
Next
End If
End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 30 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 31 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 32 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(1).Membuat CURSOR pindah antar textbox pas di ENTER
(menggunakan TAB )
Langkahnya: 1. Aturlah TAB INDEX di PROPERTIES disetiap TEXTBOX menjadi urutan. Urutan ini
dijadikan URUTAN PINDAH CURSOR. (dari: 1,2,3,4…seterusnya)
Jika di TEXTBOX1 di ENTER,
maka CURSOR pindah ke
TEXTBOX2
1
2
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 33 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
..begitu seterusnya, buatlah urutan angka di TABINDEX sbg inisial urutan perpindahan cursor nya
Code:
Code di : TEXTBOX1 – KEYDOWN
'/ cek; jika ENTER ditekan, maka lakukan TAB
'/ yaitu PINDAH KE TABINDEX berikutnya
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{TAB}") End If
Code di : TEXTBOX2 – KEYDOWN
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{TAB}") End If
..code begitu seterusnya, di setiap textbox
3
4 2
Sendkeys perintah untuk mengirim
penekanan tombol keyboard ke komp (jadi
kita seakan2 menekan tombol keyboard)
Keycode untuk memeriksa tombol
apa yang di tekan oleh user
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 34 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Keuntungan menggunakan SENDKEYS :
CODE disetiap textbox / combobox SAMA SendKeys.Send("{TAB}")
Mudah dalam mengatur URUTAN CURSOR, hanya mengatur properties TABINDEX nya sahaja
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 35 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(2).Membuat CURSOR pindah antar textbox pas di ENTER
(menggunakan ENTER )
Untuk berpindah cursor dengan menggunakan ENTER (bukan sendkeys) tidak ada yang diatur, langsung di ketik CODE nya di setiap TEXTBOX nya Text1 ke text2
Code di : TEXTBOX1 – KEYDOWN
'/ cek;apakah ENTER di tekan?
'/ jika ENTER di tekan, maka taro KURSOR di TEXTBOX berikutnya
If e.KeyCode = Keys.Enter Then „/apakah ENTER ditekan di Text7 ???
Me.TextBox2.Focus() „/jika YA, taro cursor di Text8 End If
Text2 ke text3
Code di : TEXTBOX2 – KEYDOWN
'/ cek;apakah ENTER di tekan?
'/ jika ENTER di tekan, maka taro KURSOR di TEXTBOX berikutnya
If e.KeyCode = Keys.Enter Then „/apakah ENTER ditekan di Text8 ???
Me.TextBox3.Focus() „/jika YA, taro cursor di Text9 End If
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 36 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan 2 Materi yang di dapat Keterangan
1. Buatlah form untuk input nilai siswa
2. Gunakan ENTER untuk pindah antar textbox
3. Gunakan fungsi ISNUMERIC untuk cek input angka
4.
Keterangan: 1.COMBO JURUSAN = INFORMATION TEHNOLOGY, MANAJEMEN INFORMATIKA, 2. hitunglah: TOTAL NILAI = (nilai inggris+vb+sisco) 3. hitunglah: RATA RATA = TOTAL NILAI / 3 4. hitunglah: KETERANGAN: a. jika RATA RATA 61-100 LULUS b. jika RATA RATA 49 – 60 HER
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 37 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
c. jika RATA RATA 0-50 TIDAK LULUS
5. Buatlah PROCEDURE KOSONG untuk mengosongkan textbox 6. Gunakan fungsi ISNUMERIC untuk mengecek angka yang di input di TEXT2, TEXT3, TEXT4
CODE untuk MENGISI COMBOBOX di FORM_LOAD
Code di: FORM _ LOAD
'/ kosongkan form
Call KOSONG()
'/ isi combom jurusn dgn jurusan
With Me.ComboBox1
.Items.Clear()
.Items.Add("TEHNIK KOMPUTER")
.Items.Add("INFO.TEHNOLOGI")
.Items.Add("MANAJEMEN INFORMASI")
End With
.Item.clear kosongkan combobox
.Item.ADD isi combo
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 38 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan 3. Materi yang di dapat Keterangan
1. Ambil tanggal dan jam
2. Memisahkan TAHUN, BULAN, HARI, JAM , MENIT, DETIK
3. Selisih tanggal dan jam
Tanggal & Jam
Timer untuk membuat
TGL,JAM berjalan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 39 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Tampilan saat running:
PROPERTIES:
DateTimePicker untuk TANGGAL .Format=Custom, CustomFormat=dd/MMM/yyyy
DateTimePicker untuk JAM .Format=Custom, CustomFormat=HH:mm:ss
Pengurangan JAM
untuk PARKIR
Selisih TGL untuk
PEMINJAMAN/SEWA
Maju mundur untuk
JATUH TEMPO
Tgl dan Jam untuk
informasi
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 40 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code – code:
Code di: TIMER - TICK
'bikin tgl dan jam konputer
Me.LBL_tgl.Text = Format(Now, "dd-MMM-yy")
Me.lbl_jam.Text = Format(Now, "HH:mm:ss")
Code di: TOMBOL -AMBIL TGL dan JAM
Dim TANGGAL_JAM As Date 'difinisi varisbel sbg TGL
TANGGAL_JAM = Now 'ambil TGL JAM komputer
Me.TextBox1.Text = Format(Now, "dd-MMM-yy HH:mm:ss")
Me.TextBox2.Text = TANGGAL_JAM.Year
Me.TextBox3.Text = Format(Now, "yy")
Me.TextBox4.Text = TANGGAL_JAM.Month
Me.TextBox5.Text = Format(Now, "MMM")
Me.TextBox6.Text = Format(Now, "MMMM")
Me.TextBox7.Text = Format(Now, "MM")
Me.TextBox8.Text = TANGGAL_JAM.Day 'Format(Now, "dd")
Me.TextBox9.Text = Format(Now, "dddd") 'nama hari
Me.TextBox10.Text = Format(Now, "HH:mm:ss") 'jam komputer
Me.TextBox11.Text = TANGGAL_JAM.Hour
Me.TextBox12.Text = TANGGAL_JAM.Minute
Me.TextBox13.Text = TANGGAL_JAM.Second
Me.TextBox14.Text = TANGGAL_JAM.Millisecond
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 41 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di: TOMBOL HASIL (tahun maju mundur)
'cek apakah inputnya angka?
If IsNumeric(Me.TextBox15.Text) = False Then
MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)
Exit Sub
End If
Dim TGL As Date 'variable
Dim TAHUN_maju As Date
TGL = Now 'ambil tgl komputer
TAHUN_maju = TGL.AddYears(Me.TextBox15.Text) 'majukan tahun Me.TextBox16.Text = TAHUN_maju.Date 'tampilkan
'/--------------------------------------------------/
'/metode lain dengan fungsi DATEADD, hasilnya sama
'/--------------------------------------------------/
MsgBox("sekarang dengan fungsi DateAdd....")
TGL = Now 'ambil tgl
TAHUN_maju = DateAdd("yyyy", Val(Me.TextBox15.Text), TGL) 'majukan tahun Me.TextBox16.Text = TAHUN_maju.Date 'tampilkan
Code di: TOMBOL HASIL (bulan maju mundur)
'cek apakah inputnya angka?
If IsNumeric(Me.TextBox17.Text) = False Then
MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)
Exit Sub
End If
Dim TGL As Date
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 42 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Dim BULAN_maju As Date
TGL = Now 'ambil tgl komputer
BULAN_maju = TGL.AddMonths(Me.TextBox17.Text) 'majukan tahun Me.TextBox18.Text = BULAN_maju.Date 'tampilkan
'/--------------------------------------------------/
'/metode lain dengan fungsi DATEADD, hasilnya sama
'/--------------------------------------------------/
MsgBox("sekarang dengan fungsi DateAdd....")
TGL = Now 'ambil tgl
BULAN_maju = DateAdd("m", Val(Me.TextBox17.Text), TGL) 'majukan tahun Me.TextBox18.Text = BULAN_maju.Date 'tampilkan
Code di: TOMBOL HASIL (hari maju mundur)
'cek apakah inputnya angka?
If IsNumeric(Me.TextBox19.Text) = False Then
MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)
Exit Sub
End If
Dim TGL As Date
Dim HARI_maju As Date
TGL = Now 'ambil tgl
HARI_maju = TGL.AddDays(Me.TextBox19.Text) 'majukan tahun Me.TextBox20.Text = HARI_maju.Date 'tampilkan
'/--------------------------------------------------/
'/metode lain dengan fungsi DATEADD, hasilnya sama
'/--------------------------------------------------/
MsgBox("sekarang dengan fungsi DateAdd....")
TGL = Now 'ambil tgl
HARI_maju = DateAdd("d", Val(Me.TextBox19.Text), TGL) 'majukan tahun Me.TextBox20.Text = HARI_maju.Date 'tampilkan
KET: pake tanda MINUS ( - ) untuk mundur
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 43 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di: TOMBOL HASIL (jam maju mundur)
'cek apakah inputnya angka?
If IsNumeric(Me.TextBox22.Text) = False Then
MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)
Exit Sub
End If
Dim TGL As Date
Dim JAM_maju As Date
TGL = Now 'ambil tgl
JAM_maju = TGL.AddHours(Me.TextBox22.Text) 'majukan tahun Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss") 'tampilkan
'/--------------------------------------------------/
'/metode lain dengan fungsi DATEADD, hasilnya sama
'/--------------------------------------------------/
MsgBox("sekarang dengan fungsi DateAdd....")
TGL = Format(Now, "HH:mm:ss") 'ambil jam
JAM_maju = DateAdd("h", Val(Me.TextBox22.Text), TGL) 'majukan tahun Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss") 'tampilkan
Code di: TOMBOL HASIL (menit maju mundur)
'cek apakah inputnya angka?
If IsNumeric(Me.TextBox24.Text) = False Then
MsgBox("INPUT DENGAN ANGKA..", MsgBoxStyle.Information)
Exit Sub
End If
Dim TGL As Date
Dim MENIT_maju As Date
TGL = Now 'ambil tgl
MENIT_maju = TGL.AddMinutes(Me.TextBox24.Text) 'majukan tahun Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss") 'tampilkan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 44 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/--------------------------------------------------/
'/metode lain dengan fungsi DATEADD, hasilnya sama
'/--------------------------------------------------/
MsgBox("sekarang dengan fungsi DateAdd....")
TGL = Format(Now, "HH:mm:ss") 'ambil jam
MENIT_maju = DateAdd("n", Val(Me.TextBox24.Text), TGL) 'majukan tahun Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss") 'tampilkan
Code di: TOMBOL SELISIH (T2 – T1)
'selisih
Dim T1 As Date = Me.DateTimePicker1.Text 'ambil tgl
Dim T2 As Date = Me.DateTimePicker2.Text 'ambil tgl
Dim SELISIH_tgl As TimeSpan 'variable tempat pengurangan tgl
SELISIH_tgl = T2.Date - T1.Date
Me.TextBox21.Text = SELISIH_tgl.TotalDays & " hari"
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 45 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di: TOMBOL SELISIH (T2 – T1)
'/--------------------------------------/
' cari selisih (TOTAL MENIT)
'/--------------------------------------/
Dim Jam1 As DateTime = Me.DateTimePicker3.Text 'ambil jam
Dim Jam2 As DateTime = Me.DateTimePicker4.Text 'ambil jam
Dim SELISIH_jam As TimeSpan 'var.untuk hitungan jam
SELISIH_jam = Jam2 - Jam1
Me.TextBox26.Text = SELISIH_jam.TotalMinutes
'/--------------------------------------/
' cari lama satuan JAM nya (parkir)
'/--------------------------------------/
'variabel buat cari rincian selisih jam
Dim Total_menit As Integer
Dim JAM_nya As Integer
Dim MENIT_nya As Integer
'dipecah menjadi jam
Total_menit = SELISIH_jam.TotalMinutes
JAM_nya = Int(Total_menit / 60)
MENIT_nya = Total_menit Mod 60
Me.TextBox27.Text = JAM_nya & " jam," & MENIT_nya & " menit"
TOMBOL EXIT:
Code di: TOMBOL EXIT
Dim indra As String
indra = MsgBox("MAU KELUAR PROGRAM..?", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If indra = vbYes Then
End
End If
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 46 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
INFORMASI: Untuk perintah MAJU MUNDUR TANGGAL bisa juga menggunakan fungsi DATEADD
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 47 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan 4. Animasi
Latihan 4 : Animasi
Membuat ANIMASI menggunakan TIMER
Membuat TANGGAL dan JAM
Ambil TIMER lalu tempelkan di Form
Name: PANAH
Name: ROKET
Name: KAPAL Name: SUPERMEN
Name: MATAHARI
Berkedip-kedip genit
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 48 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di TIMER1 – TICK
'----- MEMBUAT TGL dan JAM -----'
Me.LBL_TANGGAL.Text = Format(Now, "dd-MMM-yyyy")
Me.LBL_JAM.Text = Format(Now, "HH:mm:ss")
'----- MATAHARI KEDIP KEDIP -----'
If Second(Now) Mod 2 = 0 Then
Me.MATAHARI.Visible = True
Else
Me.MATAHARI.Visible = False
End If
'===== ANIMASI GERAK ====='
'----- SUPERMEN: KE KIRI -----' Me.SUPERMEN.Left = Me.SUPERMEN.Left - 50
If Me.SUPERMEN.Left + Me.SUPERMEN.Width < 0 Then
Me.SUPERMEN.Left = Me.Width
End If
'----- KAPAL: KE KANAN -----' Me.KAPAL.Left = Me.KAPAL.Left + 50
If Me.KAPAL.Left > Me.Width Then
Me.KAPAL.Left = -Me.KAPAL.Width
End If
'----- ROKET : KE ATAS -----' Me.ROKET.Top = Me.ROKET.Top - 50
If Me.ROKET.Top + Me.ROKET.Height < 0 Then
Me.ROKET.Top = Me.Height
End If
'----- PANAH : KE BAWAH -----' Me.PANAH.Top = Me.PANAH.Top + 50
If Me.PANAH.Top > Me.Height Then
Me.PANAH.Top = -Me.PANAH.Height
End If
NOW= perintah
menampilkan TGL
dan JAM
Gunakan FORMAT
untuk
memisahkan
antara TGL dan
JAM
MOD = operasi
sisa hasil bagi
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 49 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan 5
Latihan 5 : TANGGAL dg fungsi FORMAT
COMPONEN TAMBAHAN :
Tambahkan TIMER
CODE di TIMER1 – Tick
„-----AMBIL TGL dan JAM
Me.Label1.Text = Format(Now, "dd-MMM-yyyy")
Me.Label2.Text = Format(Now, "HH:mm:ss")
„-----AMBIL TGL, BULAN dan TAHUN TANGGAL
Me.Label5.Text = Format(Now, "dd")
Me.Label7.Text = Format(Now, "MMMM")
Me.Label9.Text = Format(Now, "yyyy")
„-----AMBIL JAM, MENIT dan DETIK JAM
Me.Label11.Text = Format(Now, "HH")
Me.Label13.Text = Format(Now, "mm")
Me.Label15.Text = Format(Now, "ss")
FUngsi FORMAT:
sangat bermamfaat untuk memformat
angka. (format tgl, jam, angka
ribuan, angka decimal, dll)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 50 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE di TOMBOL JAM MULAI – Click
Me.Timer1.Enabled = True TRUE mengaktifkan timer
CODE di TOMBOL JAM BERHENTI – Click
Me.Timer1.Enabled = False TRUE mematikan timer
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 51 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat
MENU UTAMA, TOOLBAR
& FLOATING
MENU
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 52 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat MENU UTAMA (MenuStrip)
Untuk latihan MENU, tambahkanlah FORM lagi sebanyak 2 form, jadi sekarang ada 3 FORM
AKTIFKAN FORM1 (Klik 2x Form 1)
Tambahkan component : MENUSTRIP
Form :
MENU DATA MOTOR:
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 53 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SUB MENU: HONDA
SUB MENU: YAMAHA
SUB MENU : SUZUKI
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 54 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SUB MENU: BAJAJ
DATA MOBIL:
SUB MENU: HONDA
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 55 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SUB MENU: SUZUKI
SUB MENU: DAIHATSU
MENU KELUAR PROGRAM:
CODE UNTUK MENAMPILKAN FORM2:
Form2.Show()
Ket:
menampilkan FORM 2 yang bukan MDI Child
Form2.ShowDialog()
Ket:
menampilkan FORM 2 yang bukan MDI Child,
secara FOCUS/MODAL
Code: menu EXIT - Click
Dim tanya As String
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 56 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If tanya = vbYes Then
END End If
END selesai
Program
Code: menu PROGRAMMER - Click
Msgbox “Yang buat keren loh” & CHR(13) & “Nama nya: INDRA ES” , MsgBoxStyle.Information Chr(13) Enter
(ganti baris)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 57 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat TOOLBAR (ToolStrip)
Tambahkan COMPONEN : TOOLSTRIP
LAYOUT TOOLBAR:
ToolStrip
Design toolbar
Sub Menu
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 58 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
DESIGN TOOLSTRIP
Properties:
BUTTON
DISPLAY TYPE : menampilkan gambar saja/ gambar + text / Text saja FONT : jenis huruf
Lokasi toolbar
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 59 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FORE COLOR : warna huruf IMAGE : mengambil gambar menu
IMAGE ALIGN : lokasi gambar
IMAGE SCALING : mengatur UKURAN GAMBAR TEXT : judul huruf
TEXT ALIGN : lokasi huruf TEXT IMAGE RELATION : pengaturan LOKASI huruf & gambar
TOOL TIP TEXT : keterangan text (saat mouse berada dg toolbar)
TEXT DIRECTION : rotasi huruf
ToolStrip DROPDOWN BUTTON (untuk membuat SubMenu)
DROP DOWN ITEMs : untuk membuat SUB MENU
DESIGN SUB MENU:
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 60 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Properties:
ToolStrip TEXT BOX TEXT : judul menu
TEXT BOX TEXT ALIGN : atur rata kiri, tengah, kanan text TOOL TIP TEXT : memunculkan kotak keterangan saat MOUSE berada di MENU
CODE di TOOLSTRIP
Untuk mengetikkan CODE di toolstrip, cukup dengan meng-KLIK 2x pada ICON yang dituju, misalnya KLIK 2x pada icon EXIT
Code: ToolSript: EXIT - Click
Dim tanya As String tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If tanya = vbYes Then
END End If
END selesai
Program
Code: ToolScript PROGRAMMER - Click
Msgbox “Yang buat keren loh” & CHR(13) & “Nama nya: INDRA ES” , MsgBoxStyle.Information Chr(13) Enter
(ganti baris)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 61 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 62 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat FLOATING MENU (ConTextMenuStrip)
Jika FORM di KLIK maka akan MUNCUL FLOATING MENU di POSISI KURSOR MOUSE. Untuk membuat MENU ini maka kita
butuhkan sebuah MENU KHUSUS dg component CONTEXTMENUSTRIP
TAMBAHKAN COMPONEN : ConTextMenuStrip
DESIGN:
DESIGN menu ini sama dengan design MENU pada MENUSCTIP
CODE untuk MEMUNCULKAN ConTextMenuStrip. Jika TOMBOL KANAN MOUSE di KLIK di FORM
ConTextMenuStrip:
Menu khusus untuk
Floating Menu
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 63 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE: FORM – Mouse Down
If e.Button = Windows.Forms.MouseButtons.Right Then
Me.ContextMenuStrip1.Show
(System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y)
End If
ATAU:
Me.ContextMenuStrip1.Show (Cursor.Position.X, Cursor.Position.Y)
Code: ConTextMenuStrip : EXIT PROGRAM - Click
Dim tanya As String
tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If tanya = vbYes Then END
End If
END selesai Program
TAMPILAN Floating Menu saat dijalankan, dan saat MOUSE TOMBOL KANAN di KLIK:
Floating menu
muncul jika klik
kanan mouse di
klik
Nyambung
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 64 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat
MDI FORM
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 65 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat MDI Form
Untuk FORM dalam visual basic dapat dibedakan menjadi 3 jenis:
1. FORM BIASA (Single Form) 2. MDI Form (MDI PARENT)
3. MDI Child Form
CONTOH aplikasi menggunakan MDI: Ms WORD, Excel, dll
MEMBUAT MDI PARENT FORM Untuk latihan MDI, tambahkan FORM sebanyak 5 FORM (jadi ada FORM 1 s/d FORM 5)
AKTIFKAN FORM 1 (Klik 2x Form 1), FORM 1 akan kita jadikan MDI PARENT
Untuk membuat MDI biasa menjadi MDI PARENT FORM ,cukup rubah PROPERTIES : IsMDIContainer = TRUE
Merubah FORM biasa meniadi MDI PARENT Form:
PROPERTIES SETTING
Is MDI Container TRUE
Form biasa menjadi
MDI parent
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 66 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat MENU untuk MDI Form
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 67 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE
CODE untuk MENAMPILKAN FORM biasa sebagai FORM MDI CHILD
CODE: Menu : BUKA FORM 2 – Click
‘---MENAMPILKAN FORM BIASA MDI CHILD
Dim Imut As New Form2 Imut.MdiParent = Me Imut.Show()
Ket:
Dim FormChild As New Form2 FORM2 adalah FORM biasa yg akan di MUNCULKAN
FormChild.MdiParent = Me
Me Ini bisa di GANTI dengan NAMA MDI PARENT nya, misalnya MDI PARENT namanya Form1:
FormChild.MdiParent = Form1
CODE: Menu : BUKA FORM 3 – Click ‘---MENAMPILKAN FORM BIASA MDI CHILD
Dim Manis As New Form3 Manis.MdiParent = Me Manis.Show()
begitu seterus nya
FORM3 form child nya, yg di panggil
CODE: Menu : WINDOWS Cascade – Click
‘---MENGATUR FORM CHILD secara CASCADE
Me.LayoutMdi(MdiLayout.Cascade)
Ket:
CASCADE ; mengatur tampilan FORM CHILD secara bertumpuk – puk – puk
CODE: Menu : WINDOWS Vertical – Click
‘---MENGATUR FORM CHILD secara VERTICAL
Me.LayoutMdi(MdiLayout. TileVertical)
Ket:
VERTICAL ; mengatur tampilan FORM CHILD
secara berjajar ke ATAS
CODE: Menu : WINDOWS Horizontal – Click
‘---MENGATUR FORM CHILD secara HORIZONTAL
Me.LayoutMdi(MdiLayout. TileHorizontal)
Ket:
HORIZONTAL ; mengatur tampilan FORM CHILD
secara berjajar ke KESAMPING
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 68 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 69 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
TAMPILAN pada saat program MDI dijalankan:
WINDOWS CASCADE
WINDOWS VERTICAL
WINDOWS HORIZONTAL
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 70 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 71 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
S E L I N G A N
Idih… aa’ …
cilup baaaa
mas Indra ES
senyum nya
wow…
Ah.. ajak makan
siang ah…..
Ih.. akang
indraES.. cute,
mirip Afgan
deh..
Main game
yuk….
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 72 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 73 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Pemograman Database
VBNet
+ SQL server 2005
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 74 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SYSTEM
BENGKEL MOTOR
Indra bengkel + cuci motor selalu bersih dan rapi sekaleeeeeeeeee
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 75 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SYSTEM BENGKEL Database SQL Server
DATABASE : BENGKEL
TABLE :
1.PELANGGAN
FIELD TYPE SIZE ALLOWNULL KET
KODE_PELANGGAN varchar 10 PrimaryKey
NAMA_PELANGGAN varchar 50 V
2.BARANG_JASA
FIELD TYPE SIZE ALLOWNULL KET
KODE_BARANG_JASA varchar 10 PrimaryKey
NAMA_BARANG_JASA varchar 30 V
KATEGORI Varchar 10 (JASA/BARANG) HARGA float V
STOK float v
3.SPAREPART_MASUK
FIELD TYPE SIZE ALLOWNULL KET NO_MASUK varchar 10 PrimaryKey
TGL DateTime default
KODE_BARANG varchar 10 v
NAMA_BARANG varchar 30 v JUMLAH flaot default V
4.SERVICE
FIELD TYPE SIZE ALLOWNULL KET
NO_SERVICE varchar 10 PrimaryKey TGL DateTime default
KODE_PELANGGAN varchar 10 v
SUBTOTAL_SERVICE Float
DISCOUNT Float TOTAL_SERVICE flaot
5.SERVICE_RINCIAN
FIELD TYPE SIZE ALLOWNULL KET NO_SERVICE varchar 10 V
KODE_BARANG_JASA varchar 10 V
NAMA_BARANG_JASA varchar 30 V
HARGA float default V
JUMLAH float default V SUBTOTAL float default V
NO_URUT int default PrimaryKey,
Indentity=Yes, Indentity Increment=1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 76 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 77 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SQL SERVER 2005
EXPRESS
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 78 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SQL SERVER 2005 EXPRESS
Pembuatan database & table LOGIN
Keterangan:
Jika menggunakan versi EXPRESS, maka nama server di-ikuti dengan kata2
\SQLEXPRESS
Jadi pada saat pembuatan program sewaktu KONEKSI ke server kata2 \SQLEXPRESS ini ikut juga
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 79 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Database & Table Tampilan SQL Server 2005 (tampilan express dan full sama saja)
Membuat database Klik KANAN di Database + New Database
1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 80 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
2.Ketik NAMA DATABASE NYA BENGKEL
3.Tentukan LOKASI PENYIMPANAN DATABASE & LOG nya.. klik tombol *…+
4.Jika telah selesai Klik TOMBOL OK… nama database telah dibuat..
2
3
4
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 81 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
5.tampilan SQL Server dengan database baru = BENGKEL
Membuat table 1.Klik KANAN di TABLE + NEW TABLE
5
1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 82 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
2.Ketiklah nama field, type dan primarykey table tsb
3.klik TOMBOL SAVE (disket) jika telah selesai..; ketiklah NAMA TABLENYA PELANGGAN
2
3
3
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 83 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Input data table pelanggan 1.Klik KANAN di TABLE PELANGGAN + OPEN
Muncul grid untuk input data pelanggan
Inputlah table PELANGGAN sbb: 2.Jika telah SELESAI klik tombol PANAH SERU untuk UPDATE/SAVE…
buatlah table selanjutnya
1
INFO: Design untuk modifikasi field table nya
2
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 84 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
ISI DATA BARANG JASA SBB:
No KODE BARANG JASA NAMA BARANG JASA KATEGORI HARGA
1 J01 JASA SERVICE MOTOR BEBEK JASA 20000
2 J02 JASA GANTI BAN JASA 5000
3 003 BUSI DENSO BARANG 10000
4 004 BUSI YOUTUBE BARANG 12000
5 005 BAN DALAM DEPAN BARANG 12000
6 006 BAN DALAM BELAKANG BARANG 17000
7 007 OLI MESRAN BARANG 27000
8 008 OLI CASTROL BARANG 30000
9 009 OLI TOP ONE BARANG 28000
10 010 BUSI DENSO BARANG 10000
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 85 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 86 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
PENGANTAR TEORI DASAR
Database untuk VBNet
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 87 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
KONEKSI VBNet DataBase
Ada banyak TEHNIK untuk koneksi dari VBNet ke Database (sama juga di VB6)
Dengan ODBC
Dengan OLEDB
ODBC
Menggunakan media WINDOWS sebagai PERANTARA koneksi antara VBNet (Vb6) ke database
Di settinga di dalam CONTROL PANEL + ODBC
MUDAH dalam melakukan seting database; misalnya: merubah2 lokasi server, koneksi, dll
Jadi PROGRAM hanya memanggil NAMA ODBC yang ada di windows..
ODBC sangat mudah digunakan untuk koneksi ke BERBAGAI DATABASE (missal: access, SQL server, mysql, firebird, postgres,oracle… bahkan ke excel)
ODBC juga banyak digunakan oleh program lain diluar VBNet (VB6) untuk koneksi ke server, missal CRYSTAL REPORT, Komponen-komponen tambahan, dll
SEBELUM program di jalankan… kita HARUS membuat dulu koneksi database di CONTROL PANEL + ODBC nya windows setiap user komputer
OLEDB
Membuat KONEKSI langsung dari VBNet/Vb6 ke DATABASE
Di setinga di dalam kode2 program
Jika LOKASI SERVER mengalami perubahan alamat (missal DRIVE,FOLDER,dll) maka setingan di program HARUS dirubah dulu.. (setingan TIDAK FLEXIBEL.. kecuali dibuatkan variable khusus untuk masalah SETINGAN LOKASI SERVER yang berpindah2)
Saya sendiri lebih juka menggunakan ODBC, karena kemudahan setingan server & banyaknya koneksi program luar
menggunakan ODBC (seperti crystal report, tool/komponen tambahan) .. tapi semua kembali ke sang Programmernya
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 88 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Untuk latihan pemograman kita menggunakan ODBC
Namun untuk LATIHAN KONEKSI kedua cara ini akan diberikan juga, agar warga belajar bisa membuat koneksi dari berbagai jenis tehnik
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 89 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
ODBC Membuat koneksi ODBC ke database SQL server 2005
Buka ODBC; control panel + administrative tools + odbc
Tampilan ODBC;
1. Klik TOMBOL ADD… 2.Klik SQL NATIVE client + 3.klik tombol FINISH
1
2
3
Info: SQL Native Client SQL2005 SQL server SQL 2000 SQL server native client 10 SQL2008
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 90 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
4.Name (nama odbc nya) : ODBC_BENGKEL
5.Server (nama server): .\SQLEXPRESS
6.Klik TOMBOL NEXT
..setingan untuk login ke databasenya, jika database pas di install TIDAK PAKE PASSWORD (atau tidak pake
security user database), maka form ini di lewatkan saja.. 7.Klik TOMBOL NEXT
4
5
6
7
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 91 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
8.pilih nama DATABASE yang akan di gunakan
9.klik tombol NEXT
10.klik TOMBOL FINISH
8
9
Ini yang suka
KELUPAAN..yahh
10
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 92 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
11. klik TOMBOL TEST DATA SOURCE (buat tes hasil koneksi) 12.koneksi OK, klik OK.. OK
Selesai…
Hasilnya
Muncul nama yang baru ODBC_BENGKEL
11 12
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 93 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 94 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
LATIHAN 1: BUKA KONEKSI KE DATABASE
Membuat koneksi database dengan ODBC & OLEDB
Code: TOMBOL Tes buka dengan ODBC Dim CONN As New Odbc.OdbcConnection
Dim CMD As New Odbc.OdbcCommand
On Error GoTo CEK
Dim AA As String
AA = "Dsn=ODBC_BENGKEL;” & _
“User ID=;PWD=;” & _
“trusted_connection=Yes;"
CONN = New Odbc.OdbcConnection(AA)
CONN.Open()
MsgBox("KONEKSI OK..", MsgBoxStyle.Information)
Exit Sub
CEK:
MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")
End
Connectring dengan ODBC; ODBC_BENGKEL adalah nama odbc di control panel LIHAT tidak ada definisi LOKASI SERVER & NAMA DATABASE nya.. karena sudah diseting di ODBC nya.. bukan di code.
(jadi kalo mau ganti LOKASI SERVER tinggal rubah di odbc nya saja)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 95 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TOMBOL Tes buka dengan OLEDB
Dim CONN As New OleDb.OleDbConnection
Dim CMD As New OleDb.OleDbCommand
On Error GoTo CEK
Dim AA As String
AA = "Provider=SQLOLEDB;” & _
“Data Source=.\sqlexpress;” & _
“Integrated Security=SSPI;” & _
“Initial Catalog=BENGKEL"
CONN = New OleDb.OleDbConnection(AA)
CONN.Open()
MsgBox("KONEKSI OK..", MsgBoxStyle.Information)
Exit Sub
CEK:
MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")
End
Bagaimana kita tahu PENULISAN CODE CONNECTRING yang akan kita pakai… coba
tengok dibawah ini kawan…
Connectring dengan OLEDB; Data source nama server BENGKELnama databasenya
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 96 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Bagaimana membuat / mengambil code
CONNECTION STRING Untuk koneksi ke database
Setiap database mempunyai KODE tersendiri yang berbeda untuk koneksi ke database.. Yuuuuuuuuuuuuuuuk kita coba..
1.Menu DATA + ADD NEW DATA SOURCE
2.KLIK DATABASE + tombol NEXT
1
2
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 97 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
3.KLIK tombol NEW CONNECTION
4.jenis database dan tehnik koneksinya; untuk OLEDB pilihan .NET Framework Data Provider for OLEDB
Disini form menampilkan koneksi yg telah kita buat.. jika BELUM ADA KONEKSI/ mau BIKIN BARU … klik
TOMBOL NEW CONNECTION
3
4
5
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 98 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
6.inputlah NAMA SERVER…
7.Pilih NAMA DATABASE… jika nama server BETUL,maka akan muncul daftar nama databasenya 8.klik TOMBOL TEST CONNECTION untuk tes koneksi ke database
9.setelah OK, klik TOMBOL OK untuk kembali ke form
6
7
8 9
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 99 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
..form kembali kesini
10. bukalah *++Connection string… sehingga kode koneksi terlihat..
11. COPYLAH KODE tsb….
12.lalu KLIK TOMBOL CANCEL……. Jangan NEXT, karena kita HANYA BUTUH code koneksi nya saja
13..KODE ruang kode di form.. PASTElah… selesai
…selesai…
10
12
Copy-pah kode ini.. blok lalu CTRL-C
11
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 100 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 101 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CATATAN CODE SQL :
INPUT DATA BARU
INSERT INTO nama_table (nama_field1, nama_field2) VALUES (data1, data2)
Untuk DATA pada INSERT INTO Type data TEXT gunakan KUTIP SATU
Type data NUMERIC tidak gunakan apa2 Type data TANGGAL gunakan KUTIP SATU
UPDATE DATA
UPDATE nama_table SET Nama_field1 = data1 , Nama_field2 = data2 WHERE Nama_field3 = data3
DELETE DATA
DELETE nama_table WHERE Nama_field1 = data3/kondisinya
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 102 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 103 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
TEORI SEDIKIT
Menampilkan data dg
DATAGRIDVIEW & LISTVIEW
SEDIKIT TEORI MENGENAI CARA KONEKSI VB Net KE DATABASE
Di VB 6 KONEKSI ke DataBase hanya menggunakan 2 variabel & semua TIDAK MEMBEDAKAN OBJECT COMPONEN (pake LISTVIEW / FLEXGRID) yang digunakan:
1. CONN : variable KONEKSI database nya ( Public CONN as ADODB.Connection) 2. RS : variable NAMA TABLE yang akan di BACA (Public RS as ADODB.RecordSet)
,tapi untuk VB.NET, cara koneksi ke database SAMA tapi UNTUK MENAMPILKAN data DI FORM
dibagi menjadi 2 tehnik : TEHNIK MENAMPILKAN DATA dg LISTVIEW dan TEHNIK
MENAMPILKAN DATA dg DATAGRIDVIEW
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 104 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
PENTING Variable Connection
MENGGUNAKAN LISTVIEW
(& sbg koneksi dasar,UMUM ke DataBase)
(DTReader tidak menggukan NEW)**
RS adalah nama variable (RECORDSET) untuk membuka TABLE, TABLE yang akan di BUKA
MENGGUNAKAN DATAGRIDVIEW
(di DIFINISIKAN di MODULE agar dikenal di seluruh Project)
Koneksi ke Database
perintah SQL (select,Insert,Delete,Update)
Var tempat menampung hasil sql: SELECT
perintah SQL (select,Insert,Delete,Update) DataGridView
Var tempat menampung hasil sql: SELECT ) DataGridView
Public CONN As New ODBCConnection
Public CMD As New ODBCCommand
Public RS As ODBCDataReader
Public CMD_Adapter As New ODBCDataAdapter
Public RS_table As New DataTable
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 105 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 106 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan berikut adalah form dengan 1
table…
Ini adalah
CODE CODE
DASAR
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 107 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Form data PELANGGAN
Running:
Running :
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 108 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Data dg ListView
Data dg
DataGridView
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 109 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(1) Menampilkan data ke
LISTVIEW & DATAGRIDVIEW
Tombol_exit
LISTVIEW1
TOMBOL_refresh_ListView
TABControl1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 110 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
DATAGRIDVIEW
TOMBOL_refresh_DataGridView
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 111 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah b:
Membuat MODUL KONEKSI ke database SQL Server
>> MENU = PROJECT + Add Module + Klik tombol ADD
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 112 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di MODULE:
Code di MODULE Ket
'/---var.ini untuk proses simpan INPUT/EDIT data Public STATUS_input_data_baru As Boolean = False
'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya
'/---var.buat khusus DataSet & DataGridView Public CMD_Adapter As New Odbc.OdbcDataAdapter
Public RS_table As New DataTable
PUBLIC Sub Buka_DB()
'/---Procedure untuk koneksi ke database
On Error GoTo CEK Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"
CONN = New Odbc.OdbcConnection(AA)
CONN.Open()
Exit Sub
CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")
End End Sub
TRUE=simpan
sb input FALSE=simpan sb edit
RS bisa
banyak, disesuaikan
dengan kebutuhan dan jumlah TABLE
yg dibuka
RS jumlahnya
bebas, disesuiakan
dg kebutuhan
membuka table
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 113 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Public Sub KOSONG(ByVal obj As Object)
‘procedure untuk mengosongkan TextBox For Each ctl As Control In obj.controls If TypeOf ctl Is TextBox Then ctl.Text = "" End If Next End Sub
INFO:
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 114 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di FORM
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 115 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah c:
Membuat PROCEDURE untuk menampilkan data dari TABLE ke
LISTVIEW & DATAGRIDVIEW
Procedure menampilkan data dari TABLE ke LISTVIEW
Sub TABLE_to_LISTVIEW() Call BUKA_DB() '>buka koneksi db
Dim AA As String = ""
AA = " SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN" CMD = New Odbc.OdbcCommand(AA, CONN) '>buka koneksi||
RS = CMD.ExecuteReader() '>data select dijalankan|| RS.OPEN aa,conn (VB6)
With Me.ListView1 '>setting ListView .Items.Clear()
.FullRowSelect = True .GridLines = True .View = View.Details
.AllowColumnReorder = True
'/----- Bikin Kolom Sesuai Dg Field Nya .Columns.Clear()
.Columns.Add("KODE PELANGGAN", 100) .Columns.Add("NAMA PELANGGAN", 300)
End With
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 116 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/-------------------------------------------------------------------------/
'/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data '/-------------------------------------------------------------------------/
If RS.HasRows Then
Dim lv As ListViewItem
'/----------------------------------------------------------------------/
'/ Gunakan .Read -> Untuk Keperluan LOOPING,
'/ Baca Data Dari Awal-Akhir atau BACA HASIL FIELD nya '/----------------------------------------------------------------------/
While RS.Read
lv = Me.ListView1.Items.Add(RS("KODE_PELANGGAN"))
lv.SubItems.Add(RS("NAMA_PELANGGAN"))
End While
End If
RS.Close() '>tutup recordset || (VB6) Rs.Close CMD.Dispose() '>buang select dr memory || (VB6) set RS=Nothing
End Sub
Procedure menampilkan data dari TABLE ke DATAGRIDVIEW DATAGRIDVIEW tidak perlu dibuat KOLOM untuk lokasi field table, karena secara OTOMATIS
data yang dibaca akan menjadi KOLOM
Sub TABLE_to_GRID() Call BUKA_DB()
Dim BB As String = "" BB = "SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN "
CMD_Adapter = New Odbc.OdbcDataAdapter(BB, CONN) '>buka Conn
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 117 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Dim RS_Table As New DataTable '>siapkan var penampung RS_Table.Clear()
CMD_Adapter.Fill(RS_Table) '>masukkan hasil select ke var
With Me.DataGridView1 .DataSource = RS_Table '>masukkan data ke GRID
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.AllowUserToAddRows = False End With
RS_Table.Dispose()
CMD_Adapter.Dispose() CMD_Adapter = Nothing '>hapus dr memori
End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 118 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah d:
Membuat PROCEDURE untuk menampilkan data dari LISTVIEW
& DATAGRIDVIEW ke FORM
Procedure menampilkan data dari LISTVIEW FORM
Sub LISTVIEW_to_FORM()
On Error Resume Next
Me.TextBox1.Text = Me.ListView1.FocusedItem.Text Me.TextBox2.Text = Me.ListView1.FocusedItem.SubItems(1).Text
End Sub
Procedure menampilkan data dari DATAGRIDVIEW FORM
Sub GRID_to_FORM() On Error Resume Next
Me.TextBox1.Text = Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value Me.TextBox2.Text = Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value
End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 119 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah e:
Membuat PROCEDURE untuk PENCARIAN DATA INTERAKTIF di
ListView & DataGridView
Procedure PENCARIAN DATA INTERAKTIF di LISTVIEW
Sub TABLE_to_LISTVIEW_INTERAKTIF()
Call BUKA_DB() '>buka koneksi db
Dim AA As String = "" AA = "SELECT * FROM PELANGGAN " & _
" WHERE NAMA_PELANGGAN LIKE '%" & Trim(Me.TXT_CARI_listview.Text) & "%'" & _ " ORDER BY NAMA_PELANGGAN "
CMD = New Odbc.OdbcCommand(AA, CONN) '>jalankan select
RS = CMD.ExecuteReader() '>data select disimpan
With Me.ListView1 '>setting ListView .Items.Clear()
.FullRowSelect = True .GridLines = True
.View = View.Details .AllowColumnReorder = True
'/----- Bikin Kolom Sesuai Dg Field Nya
.Columns.Clear() .Columns.Add("KODE PELANGGAN", 100) .Columns.Add("NAMA PELANGGAN", 300)
End With
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 120 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/-------------------------------------------------------------------------/
'/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data
'/-------------------------------------------------------------------------/
If RS.HasRows Then
Dim lv As ListViewItem
'/-----------------------------------------------------------------/
'/ Gunakan .Read -> Untuk Keperluan LOOPING,
'/ Baca Data Dari Awal-Akhir '/-----------------------------------------------------------------/
While RS.Read
lv = Me.ListView1.Items.Add(RS("KODE_PELANGGAN")) lv.SubItems.Add(RS("NAMA_PELANGGAN"))
End While
End If
RS.Close() '>tutup recordset CMD.Dispose() '>buang select dr memory
End Sub
Procedure menampilkan data dari TABLE ke DATAGRIDVIEW DATAGRIDVIEW tidak perlu dibuat KOLOM untuk lokasi field table, karena secara OTOMATIS data
yang dibaca akan menjadi KOLOM
Sub TABLE_to_GRID_INTERAKTIF() Call BUKA_DB()
Dim BB As String = "" BB = "SELECT * FROM PELANGGAN " & _
" WHERE Nama_Pelanggan LIKE '%" & Trim(Me.TXT_CARI_datagridview.Text) & "%'" & _ " ORDER BY NAMA_PELANGGAN "
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 121 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CMD_Adapter = New Odbc.OdbcDataAdapter(BB, CONN) '>buka Conn
Dim RS_Table As New DataTable '>siapkan var penampung RS_Table.Clear()
CMD_Adapter.Fill(RS_Table) '>masukkan hasil select ke var
With Me.DataGridView1 .DataSource = RS_Table '>masukkan data ke GRID
.SelectionMode = DataGridViewSelectionMode.FullRowSelect .AllowUserToAddRows = False End With
RS_Table.Dispose() CMD_Adapter.Dispose()
CMD_Adapter = Nothing '>hapus dr memori
End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 122 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di FORM
Langkah f:
Membuat CODE CODE di FORM
Code di TOMBOL:
Code: TOMBOL_refresh_ListView - Click
Call TABLE_to_LISTVIEW()
Refresh listview
Code: TOMBOL_refresh_DataGridView - Click
Call TABLE_to_GRID()
Refresh grid
Code di TEXTBOX:
Code: TXT_CARI_listview - TextChanged
Call TABLE_to_LISTVIEW_INTERAKTIF()
Cari interaktif
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 123 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TXT_CARI_datagridview - TextChanged
Call TABLE_to_GRID_INTERAKTIF()
Cari interaktif
Code untuk menampilkan data dari ListView & DatagridVIEW Form
Code: ListView1 - SelectedIndexChanged
Call LISTVIEW_to_FORM()
LISTVIEW FORM
Code: DataGridView1 - SelectionChanged
Call GRID_to_FORM()
GRID FORM
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 124 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Hapus data
Mencari data
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 125 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah g:
Membuat HAPUS DATA (Delete) & CARI DATA (Find)
Tombol_EXIT Tombol_DEL Tombol_FIND
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 126 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat CODE CODE di FORM
Code di TOMBOL:
Code: TOMBOL_FIND – Click
Dim CARI As String = InputBox("MASUKKAN KODE PELANGGAN :") If CARI = "" Then
Exit Sub End If
Call BUKA_DB()
Dim AA As String
AA= "SELECT * FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(CARI) & "' " CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader()
'/------------------------------------------------------------------------------/ '/ Untuk Membaca Hasil Data Pake Kode Dr.Read '/------------------------------------------------------------------------------/
If RS.Read Then Me.TextBox1.Text = RS("KODE_PELANGGAN")
Me.TextBox2.Text = RS("NAMA_PELANGGAN") MsgBox("ADA", MsgBoxStyle.Information, "Cari") Else
'/--- Data Tidak Ada (dr.read = FALSE) MsgBox("DATA TIDAK ADA", MsgBoxStyle.Information, "Cari")
End If
RS.Close() CMD.Dispose()
STATUS_input_data_baru = False
Refresh listview
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 127 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TOMBOL_DELETE - Click
'/---cek,apakah data sudah ada,dipilih
If Me.TextBox1.Text = "" Then MsgBox("DATA BELUM DIPILIH..", MsgBoxStyle.Information, "Info") Exit Sub
End If
Dim TANYA As String TANYA = MsgBox("APAKAH DATA AKAN DI HAPUS?", MsgBoxStyle.Information +
MsgBoxStyle.YesNo, "Tanya") If TANYA = vbNo Then
MsgBox("BATAL.....", MsgBoxStyle.Information, "Cancel") Exit Sub
End If
'-----------------------------------' 'DELETE DATA '-----------------------------------'
Call BUKA_DB() Dim AA As String
AA = " DELETE FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(Me.TextBox1.Text) & "' "
CMD = New Odbc.OdbcCommand(aa, CONN)
CMD.ExecuteNonQuery() CMD.Dispose()
Call Kosong(me) Me.TextBox1.Enabled = False
MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information, "Hapus") STATUS_input_data_baru = False Call TABLE_to_LISTVIEW()
HAPUS DATA
Nyambung
Pake EXECUTENONQUERY karena
TIDAK ADA DATA yang diambil.
Hanya eksekusi saja.
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 128 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 129 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Input data baru
Rubah data
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 130 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah g:
Membuat INPUT (New), EDIT (Update) & SIMPAN (Save) DATA
Tombol_EXIT
Tombol_DEL Tombol_FIND Tombol_NEW Tombol_SAVE
Tombol_CANCEL
TEXTBOX1 dibuat
ENABLED=FALSE
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 131 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di FORM:
Code: TOMBOL_CANCEL – Click
Call TOMBOL_hidup()
Call Kosong(ME) '--nonaktifkan lagi textbox1 karena PRIMARY KEY
Me.TextBox1.Enabled = False STATUS_input_data_baru = False
MsgBox("BATAL..", MsgBoxStyle.Information, "Cancel")
Untuk
membatalkan input data
Code: TOMBOL_NEW – Click
'/--rubah STATUS_input_data_baru=TRUE, krn mau input data baru
STATUS_input_data_baru = True
Call TOMBOL_mati()
Call Kosong(ME)
'/---aktifkan TEXTBOX1 karena mau input databaru Me.TextBox1.Enabled = True Me.TextBox1.Focus()
Untuk input data baru
Code: TOMBOL_SAVE – Click
'--cek, apakah data PRIMARY KEY sudah di input
If Trim(Me.TextBox1.Text) = "" Then
MsgBox("DATA HARUS DI ISI", MsgBoxStyle.Information, "Error") Exit Sub End If
Untuk menyimpan
data
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 132 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'SIMPAN DATA
Call BUKA_DB()
'/ Input data baru
'/-------------------------------------------------------------------------------/
'/ CEK APAKAH PRIMARY KEY SUDAH ADA? '/ JIKA SUDAH ADA --> TOLAK DATANYA,KEMBALI KE FORM (exit sub) '/ JIKA BELUM ADA --> SIMPAN DATANYA
'/-------------------------------------------------------------------------------/
If STATUS_input_data_baru = TRUE Then
Dim MM As String MM = "SELECT * FROM PELANGGAN " & _ " WHERE KODE_PELANGGAN='" & Trim(Me.TextBox1.Text) & "'"
CMD = New Odbc.OdbcCommand(MM, CONN)
RS = CMD.ExecuteReader()
If RS.HasRows Then
'/----- DATA SUDAH ADA -----/ MsgBox("KODE SUDAH ADA...", MsgBoxStyle.Information) RS.Close()
CMD.Dispose() Exit Sub End If
RS.Close() '/TUTUP LAGI SELECT NYA
Kode untuk MENGECEK, apakah
PRIMARY KEY sudah ada/ double? Jika sudah ada PROSES
DITOLAK..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 133 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
‘/--------------------------/ ‘/ SIMPAN DATA ‘/--------------------------/ Dim AA As String
AA = " INSERT INTO PELANGGAN " & _
" (KODE_PELANGGAN, NAMA_PELANGGAN) " & _
" VALUES " & _ " ('" & Me.TextBox1.Text & "'," & _ " '" & Me.TextBox2.Text & "')"
CMD = New Odbc.OdbcCommand(AA, CONN) CMD.ExecuteNonQuery() CMD.Dispose()
Else
'/ edit (update)
‘/--------------------------/ '/ UPDATE DATA ‘/--------------------------/
Dim ZZ As String
ZZ = " UPDATE PELANGGAN SET " & _
" KODE_PELANGGAN ='" & Trim(Me.TextBox1.Text) & "', " & _ " NAMA_PELANGGAN ='" & Trim(Me.TextBox2.Text) & "' " & _ " WHERE KODE_PELANGGAN ='" & Trim(Me.TextBox1.Text) & "' "
CMD = New Odbc.OdbcCommand(ZZ, CONN)
CMD.ExecuteNonQuery() CMD.Dispose()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 134 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
End If Call TOMBOL_hidup()
Me.TextBox1.Enabled = False MsgBox("DATA TELAH DI SIMPAN..", MsgBoxStyle.Information, "Simpan")
Call TABLE_to_LISTVIEW() '/up to date kan Listview & DataGridView Call TABLE_to_GRID()
'/jangan lupa untuk merubah status menjadi FALSE '/jadi jika TRUE untuk input data baru, selain itu false STATUS_input_data_baru = False
Code di FORM: procedure
Membuat PROCEDURE di FORM
Procedure untuk mengatur tombol pada saat normal
Sub TOMBOL_hidup() With Me .TOMBOL_new.Visible = True
.TOMBOL_save.Visible = True .TOMBOL_cancel.Visible = False
.TOMBOL_del.Visible = True .TOMBOL_find.Visible = True .TOMBOL_exit.Visible = True
End With End Sub
Posisi
tombol pada saat normal
Procedure untuk mengatur tombol pada saat INPUT DATA
Sub TOMBOL_mati() Posisi tombol pada INPUT
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 135 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
With Me
.TOMBOL_new.Visible = False .TOMBOL_save.Visible = True .TOMBOL_cancel.Visible = True
.TOMBOL_del.Visible = False .TOMBOL_find.Visible = False
.TOMBOL_exit.Visible = False End With End Sub
Code di FORM
FORM – Load
'/jangan lupa untuk merubah status menjadi FALSE '/jika TRUE untuk INPUT DATA BARU (New), '/jika FALSE buat EDIT/DELETE STATUS_input_data_baru = False
'/panggil procedure untuk menampilkan data di Listview,Grid Call BUKA_DB()
Call TABLE_to_LISTVIEW() Call TABLE_to_GRID()
Selesai coding…..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 136 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Keren nya jadi DOUBLE
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 137 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 138 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat
REPORT
Dg Crystal Report + ODBC
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 139 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Report Data Pelanggan
Output:
DESIGN FORM:
Crystal report dalam 1
form
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 140 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE di FORM
Code di : TOMBOL REPORT
Dim Laporan As New CrystalReport1
If Me.RadioButton1.Checked = True Then Laporan.RecordSelectionFormula = "" End If
If Me.RadioButton2.Checked = True Then
Laporan.RecordSelectionFormula =
"{Pelanggan.Kode_pelanggan} ='" & TextBox1.Text & "' "
End If
With Me.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan
.Refresh() End With
Ini
Crystal Report
Viewer
Nyambung
jd 1 baris
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 141 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : FORM - RESIZE
CrystalReportViewer1.HEIGHT = Me.ScaleHeight - CrystalReportViewer1.TOP - 100
CrystalReportViewer1.WIDTH = Me. ScaleWidth- 100
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 142 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Design Report
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 143 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
LANGKAH : Report dg ODBC Ingat ODBC nya harus ada dulu…
MENU : PROJECT + ADD WINDOWS FORM +CRYSTAL REPORT + Ok
1
2
3
Klik + ODBC
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 144 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Jangan LUPA untuk CEK trusted connection
4 Pilih ODBC nya
5
7
6
Untuk database local di cek
Trusted Connection
Ketik/pilih NAMA DB NYA
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 145 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Selesai…
9
8 Pilih TABLE
nya 10
11
12
Klik >> untuk
pilih field
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 146 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Muncul design report standar, setting lah report sbb:
Jadi sbb:
Aktifkan ruang REPORT FOOTER
dg cara:
KLIK KANAN di Kotak report footer
+ DON’T SUPPRESS
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 147 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Selesai…
Beberapa settingan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 148 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Crystal Report
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 149 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Informasi Crystal Report
Crystal Report Dasar
Komposisi bagian kertas untuk report:
REPORT HEADER
(data/judul hanya dicetak di atas 1x di awal report)
PAGE HEADER
(data/judul di cetak di atas setiap halaman)
DETAIL
(data yang di cetak berulang sampai selesai)
REPORT FOOTER
(data/judul hanya dicetak di akhir data habis/selesai)
GROUP Header
GROUP Footer
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 150 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Daftar DATABASE connection & SPECIAL FIELD :
Special Field.
Fungsi2 yg siap
digunakan dl
report
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 151 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SETTING UKURAN KERTAS
Kertas
Portrait /
LandScape
Ukuran
Kertas
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 152 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
MARGIN KERTAS (margin atas, bawah, kiri, kanan report)
[Non-aktifkan Use Default Margins jika ingin merubah2 ukuran margin nya]
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 153 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat MENGURUTKAN DATA (SORT ORDER)
[ pilih FIELD yang akan di URUTKAN, lalu klik tanda panah > atau KLIK 2x ]
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 154 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
MENGATUR ULANG lokasi database report (karena berpindah2 folder/drive)
Selesai…
Buatlah koneksi ulang dg
Klik Create New Connection,
setelah selesai klik UPDATE
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 155 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 156 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat Ukuran Kertas Sendiri (Customize size)
Misalnya kita ingin mencetak dengan KERTAS ½ FOLIO, biasanya untuk
mencetak SURAT JALAN.
Karena kita membutuhkan UKURAN KERTAS yang tidak standard… maka kita harus membuat terlebih
dahulu UKURAN KERTAS yang di inginkan..
Langkah sbb :
1. Buka Control Panel + Double klik Printer and Faxes 2. Klik menu File > Server Properties
3. Di Tab Forms...pilih Create a new form 4. Masukkan nama ukuran kertas pada text box Form Name...beri nama misalkan :
SETENGAHFOLIO (nama bebas)
5. Tentukan satuan unitnya. Bisa dalam cm atau inch 6. Klik tombol Save Form
Nanti di CRYSTAL REPORT tinggal di SETTING UKURAN/JENIS KERTAS nya (lihat Setting ukuran kertas halaman 102)
4
3
5
6
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 157 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 158 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Menggunakan
STORE PROCEDURE
(sp)
Catatan:
Code store procedure tiap-tiap jenis koneksi ke database bereda Jenis: ODBC, Olehdb, SQLclient,dll mempunyai CODE senditi-diri
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 159 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
store procedure untuk Input, Update, Cari, Delete data barang
CODE CODE:
Code: TOMBOL NEW
'/KOSONGIN
Me.TextBox1.Clear()
Me.TextBox2.Clear()
Me.TextBox3.Clear()
Me.TextBox4.Clear()
Me.ComboBox1.Text = ""
Me.TextBox1.Focus()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 160 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TOMBOL SAVE
Call BUKA_DB()
‘/ panggil SP : SP_BARANG_INPUT Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_input(?,?,?,?,?) }", CONN) CMD.CommandType = CommandType.StoredProcedure
‘/ difinisikan variable parameter untuk masuk ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value =TextBox1.Text CMD.Parameters.Add("@nm", OdbcType.VarChar, 30).Value = TextBox2.Text CMD.Parameters.Add("@kategori", OdbcType.VarChar, 10).Value = ComboBox1.Text CMD.Parameters.Add("@harga", OdbcType.Double).Value = TextBox3.Text CMD.Parameters.Add("@stok", OdbcType.Double).Value = TextBox4.Text
‘/ jalankan SP CMD.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information)
Keterangan:
{ CALL sp_barang_input(?,?,?,?,?) }" Memanggil store procedure : sp_barang_input di SQL;
? = sebagai inisial banyaknya parameter yang digunakan di SP
CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = TextBox1.Text
Mendifinisikan parameter2 yang dugunakan DILEWATKAN ke dalam SP
@KD adalah nama parameter yang akan dilewatkan ke dalam SP, nama boleh bebas
10 lebar FIELD di table
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 161 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code: TOMBOL UPDATE
Call BUKA_DB()
‘/ panggil SP : SP_BARANG_UPDATE Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_update(?,?,?,?,?) }", CONN)
CMD.CommandType = CommandType.StoredProcedure
‘/ difinisikan variable parameter untuk masuk ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value =TextBox1.Text CMD.Parameters.Add("@nm", OdbcType.VarChar, 30).Value = TextBox2.Text CMD.Parameters.Add("@kategori", OdbcType.VarChar, 10).Value = ComboBox1.Text CMD.Parameters.Add("@harga", OdbcType.Double).Value = TextBox3.Text CMD.Parameters.Add("@stok", OdbcType.Double).Value = TextBox4.Text
‘/ jalankan SP CMD.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information)
Code: TOMBOL FIND
Dim CARI As String CARI = InputBox("Input kode barang :") If CARI = "" Then Exit Sub End If
‘/ mulai kode SP Call BUKA_DB()
‘/ panggil SP : SP_BARANG_CARI Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_cari(?) }", CONN) CMD.CommandType = CommandType.StoredProcedure
‘/ difinisikan variable parameter untuk dimasukan ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = CARI
‘/ jalankan SP dengan MENGAMBIL HASIL DATA RECORD NYA
RS = CMD.ExecuteReader
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 162 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
‘/ cek, apakah hasil SP ada datanya? Jika ada munculkan di form
If RS.HasRows Then
Me.TextBox1.Text = RS("KODE_BARANG_JASA") Me.TextBox2.Text = RS("NAMA_BARANG_JASA") Me.ComboBox1.Text = RS("KATEGORI") Me.TextBox3.Text = RS("HARGA") Me.TextBox4.Text = RS("STOK") Else MsgBox("DATA TIDAK ADA..", MsgBoxStyle.Information) End If RS.Close() CMD.Dispose()
Code: TOMBOL DELETE
‘/ konfirmasi pertanyaan data yang akan di hapus Dim CARI As String CARI = MsgBox("APAKAH DATA AKAN DI HAPUS ?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If CARI = vbNo Then Exit Sub End If
‘/ mulai kode SP Call BUKA_DB()
‘/ panggil SP : SP_BARANG_HAPUS Dim CMD As OdbcCommand = New OdbcCommand("{ CALL sp_barang_hapus(?) }", CONN) CMD.CommandType = CommandType.StoredProcedure
‘/ difinisikan variable parameter yg akan dimasukan ke SP CMD.Parameters.Add("@kd", OdbcType.VarChar, 10).Value = Me.TextBox1.Text
‘/ jalankan SP CMD.ExecuteNonQuery() CMD.Dispose()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 163 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Me.TextBox1.Text = "" Me.TextBox2.Text = "" Me.ComboBox1.Text = "" Me.TextBox3.Text = "" Me.TextBox4.Text = "" MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information)
Selesai…
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 164 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat STORE PROCEDURE di SQL 2005
CODE STORE PROCEDURE
Store procedure untuk simpan data baru:
CREATE PROCEDURE SP_BARANG_INPUT @kode varchar(10), @nama varchar(30), @kategori varchar(10), @harga float, @stok float AS INSERT INTO BARANG_JASA (kode_barang_jasa,nama_barang_jasa,kategori,harga,stok) VALUES(@kode,@nama, @kategori, @harga,@stok)
Store procedure untuk update data:
CREATE PROCEDURE SP_BARANG_UPDATE @kode varchar(10), @nama varchar(30), @kategori varchar(10), @harga float, @stok float AS UPDATE BARANG_JASA SET Kode_barang_jasa=@kode, Nama_barang_jasa=@nama, kategori=@kategori, harga=@ harga, stok=@ stok WHERE kode_barang_jasa=@kode
@kode bebas,nama variable Varchar(10),varchar(30),float,float harus sama dg masing2 jenis field table nya.
BARANG_JASA(kode_barang_jasa.. -> NAMA FIELD
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 165 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Store procedure untuk cari data:
CREATE PROCEDURE SP_BARANG_CARI @kode varchar(10) AS SELECT * FROM BARANG_JASA WHERE kode_barang_jasa=@kode
Store procedure untuk hapus data:
CREATE PROCEDURE SP_BARANG_HAPUS @kode varchar(10) AS DELETE BARANG_JASA WHERE kode_barang_jasa=@kode
NAMA SP ini (SP_BARANG_INPUT, SP_BARANG_UPDATE) akan di panggil oleh VB
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 166 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 167 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah membuat STORE PROCEDURE di SQL 2005
>> ..Programmability + Store Procedure (KLI KANAN + New Stored Procedure) + muncul kotak..bersihkanlah (hapus semua kode2 default) terlebih dabulu kotak kode SP tsb..
+code SP siap di ketik
Jika sudah mengetik SP, jalankan SP tsb.. dengan KLIK ICON EXECUTE..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 168 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Ini kode untuk alternative dalam pengetikan kode SP
CODE ALTERNATIF SP
Code cepat menjalan SP & TIDAK membedakan jenis koneksi
STORE PROCEDURE langsung di panggil langsung.. (Jadi bisa dibilang ini kode maknyosssssss)
Code: SAVE (menjalan SP dengan cepat,semua tehnik basa)
Call BUKA_DB()
Dim Datanya As String
Datanya = "exec SP_BARANG_INPUT " & _
" '" & TextBox1.Text & "'" & _
" ,'" & TextBox2.Text & "' " & _
" ,'" & ComboBox1.Text & "' " & _
" ,'" & TextBox3.Text & "' " & _
" ,'" & TextBox4.Text & "' " Dim cmd As New Odbc.OdbcCommand(Datanya, CONN) cmd.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information) SP_BARANG_INPUT adalah nama SP
Kode langsung memanggil
SP nya ,dengan perintah
EXEC
Perintah ini (EXEC) =
adalah PERINTAH untuk
menjalankan SP langsung
lewat SQL nya
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 169 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 170 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Langkah MERUBAH STORE PROCEDURE di SQL 2005
Klik kanan di NAMA PROCEDURE nya + MODIFY
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 171 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan Store Procedure
Buatlah program VBNET dengan menggunakan STORE PROCEDURE untuk proses pengolahan data ke database
nya (Menambah data, mencari data dan menghapus data)
Form: PROGRAM PENGGAJIAN
Ket:
1. COMBOBOX TAHUN GAJI isi dengan urutan tahun 2. COMBOBOX BULAN; isi dengan angka bulan= 1...12 3. COMBOBOX NAMA DOSEN; isi dengan nama dosen
Nama dosen Honor per sks
IBU DEWI 100000
BPK JOKO 125000
BPK AMIR 125000
4. HONOR PER SKS ;munculkan otomatis sesuai dengan nama dosennya, saat di klik combo dosen 5. COMBOBOX MATAKULIAH; isi dengan nama2 mata kuliah= VB, LINUX,OFFICE 6. JUMLAH SKS MENGAJAR; di input bebas 7. POTONGAN; adalah potongan honor, diinput bebas (missal potongan koperasi, dll) 8. TOTAL HONOR = (Honor per sks * Jumlah sks mengajar ) – Potongan
Tombol: 1. Tombol NEW; mengosonkan textbox dan combobox 2. Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data
A
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 172 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Latihan Store Procedure Buatlah program VBNET dengan menggunakan STORE PROCEDURE untuk proses pengolahan data ke database
nya (Menambah data, mencari data dan menghapus data)
Form: PROGRAM NILAI PENERIMAAN MAHASISWA
Ket:
9. NOMER UJIAN, CALON MAHASISWA; diinput 10. COMBOBOX JURUSAN; isi dengan nama jurusan= AKUNTANSI, MANAJEMEN, KOMPUTER 11. NILAI B.INGGRIS, MATEMATIKA, KOMPUTER; di input 12. RATA RATA = (nilai b.inggris + matematikan + computer)/3 13. KETERANGAN=
a. Jika RATARATA >70, maka KETERANGAN= LULUS b. Jika RATARATA 60 - 70, maka KETERANGAN= LULUS SYARAT c. Jika RATARATA >60 , maka KETERANGAN= TIDAK LULUS
Tombol:
3. Tombol NEW; mengosonkan textbox dan combobox 4. Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data
B
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 173 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 174 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
REFERENSI STORE PROCEDURE
UNTUK TEHNIK YANG LAINNYA
SqlClient
VB Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated
Security=SSPI;" & _
"Initial Catalog=northwind")
Dim salesCMD As SqlCommand = New SqlCommand("SalesByCategory", nwindConn)
salesCMD.CommandType = CommandType.StoredProcedure
Dim myParm As SqlParameter = salesCMD.Parameters.Add("@CategoryName",
SqlDbType.NVarChar, 15)
myParm.Value = "Beverages"
nwindConn.Open()
Dim myReader As SqlDataReader = salesCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))
Do While myReader.Read()
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))
Loop
myReader.Close()
nwindConn.Close()
Referensi SP
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 175 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
OleDb
VB Dim nwindConn As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB;Data
Source=localhost;Integrated Security=SSPI;" & _
"Initial Catalog=northwind")
Dim salesCMD As OleDbCommand = New OleDbCommand("SalesByCategory", nwindConn)
salesCMD.CommandType = CommandType.StoredProcedure
Dim myParm As OleDbParameter = salesCMD.Parameters.Add("@CategoryName",
OleDbType.VarChar, 15)
myParm.Value = "Beverages"
nwindConn.Open()
Dim myReader As OleDbDataReader = salesCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))
Do While myReader.Read()
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))
Loop
myReader.Close()
nwindConn.Close()
Odbc
VB Dim nwindConn As OdbcConnection = New OdbcConnection("Driver={SQL
Server};Server=localhost;Trusted_Connection=yes;" & _
"Database=northwind")
nwindConn.Open()
Dim salesCMD As OdbcCommand = New OdbcCommand("{ CALL SalesByCategory(?) }",
nwindConn)
salesCMD.CommandType = CommandType.StoredProcedure
Dim myParm As OdbcParameter = salesCMD.Parameters.Add("@CategoryName",
OdbcType.VarChar, 15)
myParm.Value = "Beverages"
Dim myReader As OdbcDataReader = salesCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1))
Do While myReader.Read()
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1))
Loop
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 176 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
myReader.Close()
nwindConn.Close()
A Parameter object can be created using the Parameter constructor, or by calling the Add method of
the Parameters collection of a Command. Parameters.Add will take as input either constructor
arguments or an existing Parameter object. When setting the Value of a Parameter to a null reference,
use DBNull.Value.
For parameters other than Input parameters, you must set the ParameterDirection property to specify
whether the parameter type is InputOutput, Output, or ReturnValue. The following example shows
the difference between creating Input, Output, and ReturnValue parameters.
SqlClient
VB Dim sampleCMD As SqlCommand = New SqlCommand("SampleProc", nwindConn)
sampleCMD.CommandType = CommandType.StoredProcedure
Dim sampParm As SqlParameter = sampleCMD.Parameters.Add("RETURN_VALUE",
SqlDbType.Int)
sampParm.Direction = ParameterDirection.ReturnValue
sampParm = sampleCMD.Parameters.Add("@InputParm", SqlDbType.NVarChar, 12)
sampParm.Value = "Sample Value"
sampParm = sampleCMD.Parameters.Add("@OutputParm", SqlDbType.NVarChar, 28)
sampParm.Direction = ParameterDirection.Output
nwindConn.Open()
Dim sampReader As SqlDataReader = sampleCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))
Do While sampReader.Read()
Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))
Loop
sampReader.Close()
nwindConn.Close()
Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)
Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 177 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
OleDb
VB Dim sampleCMD As OleDbCommand = New OleDbCommand("SampleProc", nwindConn)
sampleCMD.CommandType = CommandType.StoredProcedure
Dim sampParm As OleDbParameter = sampleCMD.Parameters.Add("RETURN_VALUE",
OleDbType.Integer)
sampParm.Direction = ParameterDirection.ReturnValue
sampParm = sampleCMD.Parameters.Add("@InputParm", OleDbType.VarChar, 12)
sampParm.Value = "Sample Value"
sampParm = sampleCMD.Parameters.Add("@OutputParm", OleDbType.VarChar, 28)
sampParm.Direction = ParameterDirection.Output
nwindConn.Open()
Dim sampReader As OleDbDataReader = sampleCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))
Do While sampReader.Read()
Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))
Loop
sampReader.Close()
nwindConn.Close()
Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)
Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)
Odbc
VB Dim sampleCMD As OdbcCommand = New OdbcCommand("{ ? = CALL SampleProc(?, ?) }",
nwindConn)
sampleCMD.CommandType = CommandType.StoredProcedure
Dim sampParm As OdbcParameter = sampleCMD.Parameters.Add("RETURN_VALUE",
OdbcType.Int)
sampParm.Direction = ParameterDirection.ReturnValue
sampParm = sampleCMD.Parameters.Add("@InputParm", OdbcType.VarChar, 12)
sampParm.Value = "Sample Value"
sampParm = sampleCMD.Parameters.Add("@OutputParm", OdbcType.VarChar, 28)
sampParm.Direction = ParameterDirection.Output
nwindConn.Open()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 178 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Dim sampReader As OdbcDataReader = sampleCMD.ExecuteReader()
Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1))
Do While sampReader.Read()
Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1))
Loop
sampReader.Close()
nwindConn.Close()
Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters("@OutputParm").Value)
Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters("RETURN_VALUE").Value)
Using Parameters with a SqlCommand
When using parameters with a SqlCommand, the names of the parameters added to the Parameters
collection must match the names of the parameter markers in your stored procedure. The .NET
Framework Data Provider for SQL Server treats parameters in the stored procedure as named parameters
and searches for the matching parameter markers.
The .NET Framework Data Provider for SQL Server does not support the question mark (?) placeholder
for passing parameters to an SQL statement or a stored procedure. In this case, you must use named
parameters, as in the following example.
SELECT * FROM Customers WHERE CustomerID = @CustomerID
Using Parameters with an OleDbCommand or OdbcCommand
When using parameters with an OleDbCommand or OdbcCommand, the order of the parameters added
to the Parameters collection must match the order of the parameters defined in your stored procedure.
The .NET Framework Data Provider for OLE DB and .NET Framework Data Provider for ODBC treat
parameters in a stored procedure as placeholders and applies parameter values in order. In addition,
return value parameters must be the first parameters added to the Parameters collection.
The .NET Framework Data Provider for OLE DB and .NET Framework Data Provider for ODBC do not
support named parameters for passing parameters to an SQL statement or a stored procedure. In this case,
you must use the question mark (?) placeholder, as in the following example.
SELECT * FROM Customers WHERE CustomerID = ?
As a result, the order in which Parameter objects are added to the Parameters collection must directly
correspond to the position of the question mark placeholder for the parameter.
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 179 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Deriving Parameter Information
Parameters can also be derived from a stored procedure using the CommandBuilder class. Both the
SqlCommandBuilder and OleDbCommandBuilder classes provide a static method,
DeriveParameters, which will automatically populate the Parameters collection of a Command object
with parameter information from a stored procedure. Note that DeriveParameters will overwrite any
existing parameter information for the Command.
Deriving parameter information does require an added trip to the data source for the information. If
parameter information is known at design-time, you can improve the performance of your application by
setting the parameters explicitly.
The following code example shows how to populate the Parameters collection of a Command object
using CommandBuilder.DeriveParameters.
VB Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Initial
Catalog=Northwind;Integrated Security=SSPI;")
Dim salesCMD As SqlCommand = New SqlCommand("Sales By Year", nwindConn)
salesCMD.CommandType = CommandType.StoredProcedure
nwindConn.Open()
SqlCommandBuilder.DeriveParameters(salesCMD)
nwindConn.Close()
END
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 180 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 181 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat
LOGIN
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 182 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
LOGIN,
UserPassword
Biasanya system mempunyai HAK HAK terhadap seorang user.
Dalam latihan ini kita mencoba membeda USER menjadi 2 :
Jenis USer
ADMIN :semua menu muncul USER :menu DATA MASTER, menu REPORT - TIDAK MUNCUL (Visible=True)
BUATLAH TABLE SBB: nama table= user_password
>> LEVEL_USER isi dengan ADMIN / USER
>> isi data user password
BUATLAH FORM MENU (Form1) UNTUK CONTOH LOGIN:
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 183 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 184 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
BUATLAH FORM LOGIN SYSTEM dengan DATABASE:
CODE di MODULE
MODULE1
Gunakan MODUL sebelumnya… jika sudah ada berarti tidak perlu
buat modul kembali yahhhhhh…
CODE di FORM Code : FORM – LOAD
Me.TextBox1.Text = "" Me.TextBox2.Text = ""
Me.TextBox1.Focus()
Code : TOMBOL OK If Me.TextBox1.Text = "" Or Me.TextBox2.Text = "" Then
MSGBOX("User dan Password harus di isi..")
Exit Sub End If
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 185 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Call BUKA_db()
Dim AA As String = "" AA = " SELECT * FROM USER_PASSWORD " & _
" WHERE NAMA_USER='" & Trim(Me.TextBox1.Text) & "' " & _
" AND PASSWORD='" & Trim(Me.TextBox2.Text) & "' "
CMD = New Odbc.OdbcCommand(AA, CONN)
RS = CMD.ExecuteReader()
If Not RS.Read Then
MsgBox("USER PASSWORD SALAH", MsgBoxStyle.Information)
RS.Close()
CMD.Dispose()
Exit Sub
Else
Msgbox (“OK”)
RS.Close()
CMD.Dispose()
Me.Hide()
Form2.Show()
End If
Me.hide form login di matikan (di
sembunyikan)
Form2.show munculkan form menu utama
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 186 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
( s e l i n g a n )
FORM LOGIN CARA HEMAT+CEPAT
Tanpa DataBase:hanya me-ngeCEK input TEXT1 & TEXT2 saja
CODE di FORM Code : FORM – LOAD
Me.TextBox1.Text = "" Me.TextBox2.Text = ""
Me.TextBox1.Focus()
Code : TOMBOL OK (cara code hemat & cepat) If Me.TextBox1.Text = "ADMIN" AND Me.TextBox2.Text = "ADMIN" Then
MSGBOX ("OK")
Me.Hide
Form2.Show() Else
MSGBOX ("USER PASSWORD SALAH")
Exit Sub
End If
Keterangan: jadi hanya mengecek TEXT1 dan TEXT2, apakah sama dengan user-password yang telah kita tentukan
saja..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 187 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 188 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
STOK (info saja)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 189 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
membuat
APLIKASI STOK DASAR
INPUT Pembelian sparepart
.barang masuk.
(stok+)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 190 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
TEORI DASAR
STOK
Teori dasar stok :
PROSES BARANG MASUK (Pembelian)
Proses Urutan proses data (PENTING BRO) Ket
Input Table sparepart_masuk simpan data masuk
Table barang UPDATE stok barang + (bertambah)
Delete Table barang UPDATE stok barang – (berkurang)
Table sparepart_masuk HAPUS data transaksi
PROSES BARANG KELUAR (Penjualan)
Proses Urutan proses data (PENTING BRO) Ket
Input Table PENJUALAN simpan data masuk
Table barang UPDATE stok barang – (berkurang)
Delete Table barang UPDATE stok barang + (bertambah)
Table PENJUALAN HAPUS data transaksi
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 191 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Form barang masuk
NAMA BARANG,
STOK muncul
otomatis jika
COMBO Kode
Barang di KLIK
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 192 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
NGOBROL-NGOBROL Form dg 2 table
Untuk form barang masuk menggunakan 2 table, yaitu :
1. Table BARANG_JASA 2. Table SPAREPART_MASUK
Maka di form kita juga menggunakan 2 RECORDSET dan di difinisikan di MODULE. Yaitu
Public RS as ODBC.OdbcDataReader Public RS2 as ODBC.OdbcDataReader
Pembuatan 2 RS ini untuk keperluan jika dibukanya data/table secara bersamaan. Dan untuk menghindari bentrok nya data antara table 1 dan table 2 Jadi RS kita butuhkan sesuai dengan banyaknya table yang akan di buka secara bersamaan, misalnya 1 form menggunakan 3 table…kita boleh membuat RS sebanyak 3 buah ini untuk antisipasi jika ada proses yang membuka SEKALIGUS 3 TABLE BERSAMAAN.. Gunakan RS yang berbeda untuk membuka table lainnya, agar tidak bentrok RS nya
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 193 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di MODULE:
Code di MODULE Ket
'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL
Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya
Public RS2 As Odbc.OdbcDataReader ‘recordset/Tablenya
PUBLIC Sub Buka_DB() '/---Procedure untuk koneksi ke database On Error GoTo CEK
Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"
CONN = New Odbc.OdbcConnection(AA)
CONN.Open()
Exit Sub CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")
End
End Sub
TRUE=simpan
sb input FALSE=simpan sb edit
RS bisa
banyak, disesuaikan
dengan kebutuhan dan jumlah TABLE
yg dibuka Tambah 1 RS; jadi 2 RS,
karena menggunakan 2
table
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 194 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Public Sub KOSONG(ByVal obj As Object)
‘procedure untuk mengosongkan TextBox For Each ctl As Control In obj.controls If TypeOf ctl Is TextBox Then ctl.Text = "" End If Next End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 195 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di FORM pembuatan
PROCEDURE
Procedure ini untuk Mengisi COMBO BARANG dengan KODE BARANG
Sub ISI_COMBO_BARANG()
Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA ORDER BY KODE_BARANG_JASA" CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() '/ Combo di kosongkan doloooo Me.ComboBox1.Items.Clear() '/-----------------------------------------------------------------/ '/ Gunakan .Hasrows Untuk Mengecek Jumlah Data Yg Diambil '/ Biasanya Untuk Cek Apakah Table Ada Recordnya.. Cari Data '/-----------------------------------------------------------------/
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 196 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
If RS.HasRows Then
'/-----------------------------------------------------------------/ '/ Untuk membaca/baca RECORD Gunakan RS.READ
'/-----------------------------------------------------------------/
While RS.Read
Me.ComboBox1.Items.Add(RS("KODE_BARANG_JASA")) End While
End If '/ Tutup table kembali RS.Close() CMD.Dispose() End Sub
Procedure ini untuk MENAMPILKAN NAMABARANG,STOK ketika combo barang di klik
Sub MUNCULKAN_nama_barang()
'/ Menampilkan Nama Barang Ketika Combo Di Click ‘/ gunakan RS2, untuk menghindari bentrok nya data dg RS Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA WHERE KODE_BARANG_JASA='" & Me.ComboBox1.Text & "' "
CMD = New Odbc.OdbcCommand(AA, CONN)
RS2 = CMD.ExecuteReader()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 197 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/ Gunakan RS.READ untuk membaca data
If RS2.Read Then
'/ Ambil field nya dan munculkan ke form Me.TextBox2.Text = RS2("NAMA_BARANG_JASA") Me.TextBox4.Text = RS2("STOK")
Else Me.TextBox2.Text = "" Me.TextBox4.Text = "" MsgBox("NAMA BARANG TIDAK ADA", MsgBoxStyle.Information)
End If '/ tutup kembali table RS2.Close() CMD.Dispose()
End Sub
Procedure
Munculkan_nama_barang
Menggunakan RS2 ini
untuk menghindari
bentrok nya data dengan
yang ada di RS
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 198 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di FORM pembuatan
CODE di FORM
Code di: FORM – LOAD
Call KOSONG(Me) Call ISI_COMBO_BARANG()
Code di: COMBOBOX1 – SelectedIndexChanged
Call Munculkan_NAMA_BARANG()
CODE di TOMBOL
Code di: TOMBOL EXIT
Me.Close()
Code di: TOMBOL CANCEL
Call KOSONG (ME) MsgBox("PROSES DIBATALKAN", MsgBoxStyle.Information)
Code di: TOMBOL NEW
Call KOSONG (ME)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 199 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Me.TextBox1.Focus()
Code di: TOMBOL SAVE
'/=========================================/ '/
'/ SIMPAN DATA BARANG MASUK '/ ADA 2 PROSES :
'/ (1). SIMPAN DATA TRANSAKSI KE TABLE SPAREPART_MASUK '/ (2). UPDATE STOK BARANG DI TABLE BARANG_JASA, STOK + '/
'/=========================================/ '/ Cek input angka If IsNumeric(Me.TextBox3.Text) = False Then
MsgBox("ISI JUMLAH DENGAN ANGKA", MsgBoxStyle.Information) Exit Sub
End If
Call BUKA_DB()
'/-----------------------------------------------------/ '/ 1.CEK PRIMARY KEY '/-----------------------------------------------------/
Dim AA As String = "" AA = " SELECT * FROM SPAREPART_MASUK " & _
" WHERE NO_MASUK='" & Trim(Me.TextBox1.Text) & "' "
CMD = New Odbc.OdbcCommand(AA, CONN)
RS = CMD.ExecuteReader()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 200 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/ CEK apakah nomer sudah ada/ punya data – baris (ROWS)
If RS.HasRows Then
'/---------------------------------------------------------/
'/ NO.MASUK SUDAH ADA, PROSES DIBATALKAN '/---------------------------------------------------------/
MsgBox("NO.MASUK SUDAH ADA...", MsgBoxStyle.Information) RS.Close()
CMD.Dispose() Exit Sub End If RS.Close() CMD.Dispose()
'’’yg ini tidak perlu di tulis, hanya catatan saya sahaja..
'’’CONVERT(DATETIME, '2009-01-01 00:00:00', 102) '" CONVERT(DATETIME,'" & Me.DateTimePicker1.Value & "',102), " & _
'/ PROSES #1 '/=====================================/
'/ 1.SIMPAN TRANSAKSI NYA KE TABLE SPAREPART_MASUK '/=====================================/
Dim MANIS As String = "" MANIS = " INSERT INTO SPAREPART_MASUK " & _
"(NO_MASUK,TGL,KODE_BARANG,NAMA_BARANG,JUMLAH)" & _
" VALUES " & _
" ('" & Me.TextBox1.Text & "', " & _
" '" & Me.DateTimePicker1.Value & "', " & _
" '" & Me.ComboBox1.Text & "', " & _
" '" & Me.TextBox2.Text & "', " & _
Me.TextBox3.Text & ")"
CMD = New Odbc.OdbcCommand(MANIS, CONN) CMD.ExecuteNonQuery()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 201 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CMD.Dispose()
'/ PROSES #2
'/=======================================/
'/ 2.UPDATE (+) STOK DI TABEL BARANG '/=======================================/
Dim KEREN As String = ""
KEREN = " UPDATE BARANG_JASA " & _
" SET STOK=STOK+" & Val(Me.TextBox3.Text) & _
" WHERE KODE_BARANG_JASA='" & Trim(Me.ComboBox1.Text) & "' "
CMD = New Odbc.OdbcCommand(KEREN, CONN)
CMD.ExecuteNonQuery() CMD.Dispose()
MsgBox("DATA TELAH DI SIMPAN,CEK STOK BARANG", MsgBoxStyle.Information)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 202 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(1) LATIHAN
Coba buat untuk FIND & DELETE TRANSAKSI BARANG MASUK.. ingat update stok –
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 203 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(2) LATIHAN TRANSAKSI: Nasabah
COBA BUAT TRANSAKSI APLIKASI REKENING NASABAH
FORM MENU UTAMA
FORM INPUT DATA NASABAH
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 204 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FORM LIHAT DATA SALDO NASABAH
FORM SETORAN NASABAH
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 205 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FORM PENARIKAN SALDO NASABAH
FORM REPORT SALDO NASABAH
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 206 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Design report saldo nasabah:
Database & Table tentukan sendiri… ;-)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 207 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 208 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Membuat Transaksi
1-Many
(Master Detail)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 209 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
SYSTEM BENGKEL Database SQL Server
DATABASE : BENGKEL
TABLE :
1.PELANGGAN
FIELD TYPE SIZE ALLOWNULL KET
KODE_PELANGGAN varchar 10 PrimaryKey
NAMA_PELANGGAN varchar 50 V
2.BARANG_JASA
FIELD TYPE SIZE ALLOWNULL KET
KODE_BARANG_JASA varchar 10 PrimaryKey
NAMA_BARANG_JASA varchar 30 V
KATEGORI Varchar 10 (JASA/BARANG) HARGA float V
STOK float v
3.SPAREPART_MASUK
FIELD TYPE SIZE ALLOWNULL KET NO_MASUK varchar 10 PrimaryKey
TGL DateTime default
KODE_BARANG varchar 10 v
NAMA_BARANG varchar 30 v JUMLAH flaot default V
4.SERVICE
FIELD TYPE SIZE ALLOWNULL KET
NO_SERVICE varchar 10 PrimaryKey TGL DateTime default
KODE_PELANGGAN varchar 10 v
SUBTOTAL_SERVICE Float
DISCOUNT Float TOTAL_SERVICE flaot
5.SERVICE_RINCIAN
FIELD TYPE SIZE ALLOWNULL KET NO_SERVICE varchar 10 V
KODE_BARANG_JASA varchar 10 V
NAMA_BARANG_JASA varchar 30 V
HARGA float default V
JUMLAH float default V SUBTOTAL float default V
NO_URUT int default PrimaryKey,
Indentity=Yes, Indentity Increment=1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 210 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
NGOBROL-NGOBROL
Form transaksi service bengkel ini menggunakan 4 table, yaitu :
1. Table PELANGGAN 2. Table BARANG_JASA 3. Table SERVICE sebagai HEADER (1 –one) 4. Table SERVICE_RINCIAN sebagai DETAIL NYA (Many)
Karena menggunakan >1 table maka, untuk keperluan dalam proses pembacaan data sebaiknya kita gunakan > 1 DATAREADER. Jadi difinisi datareader di MODULE menggunakan >1 datareader Potongan kode di module:
'/---var.buat koneksi ke database Public CONN As New Odbc.OdbcConnection ‘koneksi ke DB Public CMD As New Odbc.OdbcCommand ‘jalankan perintah SQL
Public RS As Odbc.OdbcDataReader ‘recordset/Tablenya
Public RS2 As Odbc.OdbcDataReader ‘recordset/Tablenya
Public RS3 As Odbc.OdbcDataReader ‘recordset/Tablenya
DATAREADER lebih dari 1
( >1)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 211 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FORM MASTER DETAIL
Info: UNTUK MEMPERSINGKAT KODE, MAKA:
Disini hanya di ketik code-code pokoknya saja
Transaksi tidak dengan CODE PROSES EDIT UPDATE SERVICE, setelah data selesai di input maka data di SIMPAN TRANSAKSI dan di PRINT BON SERVICE
Code tidak mengatur tombol mana yang aktif, atau tombol mana saja yang tidak aktif
1.No. service otomatis
3.Nama customer otomatis muncul
Ini adalah
LISTVIEW
4.Nama barang,harga otomatis muncul
2.Combo berisi
kode_pelanggan dari table pelanggan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 212 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
DESIGN REPORT
KETERANGAN:
Untuk setingan 1 many; yaitu 1 (One) nya untuk pengelompokan data / group nya berdasarkan NO_SERVICE,
maka di report kita buat ruang baru yaitu GROUP dengan field group: SERVICE.NO_SERVICE
Ini adalah
sebuah GROUP
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 213 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
RUNNING
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 214 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI MODUL
Code di: MODULE
Public CONN As New Odbc.OdbcConnection ‘/koneksi ke db Public CMD As New Odbc.OdbcCommand ‘/perintah sql Public RS As Odbc.OdbcDataReader ‘/buka table Public RS2 As Odbc.OdbcDataReader ‘/buka table Public RS3 As Odbc.OdbcDataReader ‘/buka table
Sub BUKA_DB() On Error GoTo CEK Dim AA As String AA = "Dsn=ODBC_BENGKEL;User ID=;PWD=;trusted_connection=Yes;"
CONN = New Odbc.OdbcConnection(AA) ‘/buka db
CONN.Open() Exit Sub CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR")
End End Sub
RS banyak karena banyak table
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 215 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI FORM
Procedure Procedure untuk membuat nomer otomatis
Sub NOMER_OTOMATIS()
'/----------------------------------------------/
'/
'/ INI UNTUK MEMBUAT No.URUT BARU
'/ FORMAT NOMER ADALAH : THN/BLN/NOMER URUT
'/ CONTOH NOMER :
„/
„/ 12/6/0001
'/ 12 = TAHUN 1 DIGIT
'/ 6 = BULAN
'/ 0001 = NOMER URUT 4 DIGIT
'/ NOMER MENJADI 1 LAGI SAAT TAHUN BARU
'/
'/-----------------------------------------------/
Call BUKA_DB()
'/---1.BUKA DATA PER TAHUN DAN NOMER DESC, TIAP TAHUN NOMER 1 LAGI Dim bb As String bb = " SELECT TOP 1 NO_SERVICE FROM SERVICE " & _
" WHERE Year(TGL) =" & Year(Now) & _
" ORDER BY NO_SERVICE DESC"
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 216 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CMD = New Odbc.OdbcCommand(bb, CONN) RS = CMD.ExecuteReader() '/---2.AMBIL NOMER AKHIR Dim NOMER_akhir As String = "" If RS.Read Then NOMER_akhir = RS("NO_SERVICE") End If RS.Close() CMD.Dispose() '/---3.AMBIL 4 DIGIT DIBELAKANG NOMER; 0001 Dim NOMER As String = "" NOMER = Microsoft.VisualBasic.Right(NOMER_akhir, 4) '/---4.KONVERSI STRING KE NUMERIC, JUMLAHKAH NOMER +1 Dim NOMER_BARU As String NOMER_BARU = Val(NOMER) + 1 '/---5.BUAT NOMER BARU, GABUNGKAN Dim BULAN As String = Format(Now, "MM") '/Month(Now) Dim TAHUN As String = Format(Now, "yy") '/Year(Now) '/--- GABUNGKAN NOMER DENGAN NOL, DAN AMBIL NOMER NYA Dim NOMER_NYA As String = ""
NOMER_NYA = Microsoft.VisualBasic.Right("0000" & NOMER_BARU, 4)
'/---6.TAMPILKAN NOMER BARU Me.TextBox1.Text = TAHUN & "/" & BULAN & "/" & NOMER_NYA End Sub
NOMER OTOMATIS
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 217 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Procedure untuk isi combo pelanggan
Sub COMBO_PELANGGAN()
Call BUKA_DB()
Dim ABC As String = "" ABC = " SELECT * FROM PELANGGAN ORDER BY KODE_PELANGGAN" CMD = New Odbc.OdbcCommand(ABC, CONN) ‘/buka table sql Dim rs As Odbc.OdbcDataReader rs = CMD.ExecuteReader() ‘/ambil data ke RS
Me.ComboBox1.Items.Clear() ‘/kosongkan combo dulu
If rs.HasRows Then ‘/data mau di baca
While rs.Read ‘/mulai looping Me.ComboBox1.Items.Add(rs("KODE_PELANGGAN")) ‘/masukan ke combo End While Else MsgBox("DATA PELANGGAN TIDAK ADA..", MsgBoxStyle.Information) End If rs.Close() ‘/tutup table CMD.Dispose() ‘/hapus dari memory End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 218 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Procedure untuk mencari data pelanggan
Sub CARI_DATA_PELANGGAN()
Call BUKA_DB()
Dim BB As String = "" ‘/ buka table dengan WHERE untuk seleksi data yg dicari BB = " SELECT * FROM PELANGGAN WHERE KODE_PELANGGAN='" & ComboBox1.Text & "' "
CMD = New Odbc.OdbcCommand(BB, CONN) ‘/buka table RS2 = CMD.ExecuteReader() If RS2.Read Then ‘/data ada tidak TextBox2.Text = RS2("NAMA_PELANGGAN") ‘/ada, munculkan data Else MsgBox("DATA TIDAK ADA..", MsgBoxStyle.Information) End If RS2.Close() CMD.Dispose() End Sub
Procedure untuk mencari data barang
Sub CARI_DATA_BARANG() Dim BB As String = "" ‘/ buka table dengan WHERE untuk seleksi data yg dicari BB = " SELECT * FROM BARANG_JASA WHERE KODE_BARANG_JASA='" & TextBox3.Text & "' "
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 219 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CMD = New Odbc.OdbcCommand(BB, CONN) ‘/buka table RS = CMD.ExecuteReader() If RS.Read Then ‘/baca data TextBox4.Text = RS("NAMA_BARANG_JASA") ‘/munculkan nama ke textbox TextBox5.Text = RS("HARGA") ‘/munculkan harga ke textbox TextBox6.Focus() '/taro kursor di jumlah Else MsgBox("DATA BARANG TIDAK ADA..", MsgBoxStyle.Information) TextBox4.Text = "" TextBox5.Text = "0" TextBox3.Focus() '/taor kursor di kode barang End If RS.Close() CMD.Dispose() End Sub
Procedure untuk menghitung grand total
Sub HITUNG_GRAND_TOTAL() '/BACA DATA SUBTOTAL DI LISTVIEW Dim xSUBTOTAL As Double = 0 Dim MM As Integer = 0 '/ GUNAKAN LOOPING UNTUK MEM-TOTAL SUBTOTAL DI LISTVIEW For MM = 0 To Me.ListView1.Items.Count - 1 '/ AMBIL DATA DI LISTVIEW, DAN JUMLAH KAN '/ SubItems (4) adalah kolom SUBTOTAL
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 220 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
xSUBTOTAL = xSUBTOTAL + Val(ListView1.Items(MM).SubItems(4).Text)
Next Me.TextBox8.Text = xSUBTOTAL '/HITUNG GRAND TOTAL=SUBTOTAL - DISCOUNT If IsNumeric(TextBox8.Text) = False Then TextBox8.Text = "0" If IsNumeric(TextBox9.Text) = False Then TextBox9.Text = "0" Me.TextBox10.Text = TextBox8.Text - TextBox9.Text End Sub
Procedure untuk kosongkan textbox
Sub KOSONG_DEH() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" TextBox10.Clear() Me.DateTimePicker1.Value = Now ComboBox1.Text = "" End Sub
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 221 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Procedure untuk setting listview
Sub LISTVIEW_SETTING() With Me.ListView1 .Items.Clear() .FullRowSelect = True .GridLines = True .View = View.Details .AllowColumnReorder = True '/----- BIKIN KOLOM .Columns.Clear() .Columns.Add("KODE BARANG JASA", 150) .Columns.Add("NAMA BARANG JASA ", 200) .Columns.Add("HARGA", 100, HorizontalAlignment.Right) .Columns.Add("JUMLAH", 100, HorizontalAlignment.Right) .Columns.Add("SUBTOTAL", 100, HorizontalAlignment.Right) End With End Sub
Procedure untuk simpan data
Sub SIMPAN_DATA() Call BUKA_DB()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 222 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/------------------------------------------------------------------------------------------------------/
'/ 1.SIMPAN DATA HEADER DI TABLE: SERVICE '/------------------------------------------------------------------------------------------------------/ Dim AA As String = "" AA = " INSERT INTO SERVICE " & _ "(NO_SERVICE,TGL,KODE_PELANGGAN,SUBTOTAL_SERVICE,DISCOUNT,TOTAL_SERVICE)" & _ " VALUES " & _ " ('" & Me.TextBox1.Text & "' " & _ " ,'" & Me.DateTimePicker1.Value & "' " & _ " ,'" & Me.ComboBox1.Text & "' " & _ " ,'" & Me.TextBox8.Text & "' " & _ " ,'" & Me.TextBox9.Text & "' " & _ " ,'" & Me.TextBox10.Text & "')" CMD = New Odbc.OdbcCommand(AA, CONN) CMD.ExecuteNonQuery() CMD.Dispose() '/-------------------------------------------------------------------------------------------------/ '/ 2.
'/ SIMPAN DATA BARANG DI TABLE: SERVICE_RINCIAN
'/ GUNAKAN LOOPING UNTUK MEMBACA DI LISTVIEW '/-------------------------------------------------------------------------------------------------/ Dim xKODE As String = "" Dim xNAMA As String = "" Dim xHARGA As Double = 0 Dim xJUMLAH As Double = 0 Dim xSUBTOTAL As Double = 0 Dim BB As Integer = 0 Dim MM As Integer = 0
1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 223 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/-------- GUNAKAN LOOPING DI LISTVIEW -----/
For MM = 0 To Me.ListView1.Items.Count - 1
'/------------------------------------------------------/ '/ 3. AMBIL DATA DI LISTVIEW '/------------------------------------------------------/ xKODE = Me.ListView1.Items(MM).Text xNAMA = ListView1.Items(MM).SubItems(1).Text xHARGA = ListView1.Items(MM).SubItems(2).Text xJUMLAH = ListView1.Items(MM).SubItems(3).Text xSUBTOTAL = ListView1.Items(MM).SubItems(4).Text '/------------------------------------------------------/ '/ 4. '/ SIMPAN KE TABLE: SERVICE_RINCIAN '/------------------------------------------------------/ Dim KK As String = "" KK = " INSERT INTO SERVICE_RINCIAN " & _ "(NO_SERVICE,KODE_BARANG_JASA,NAMA_BARANG_JASA,HARGA,JUMLAH,SUBTOTAL)" & _
" VALUES " & _ " ('" & TextBox1.Text & "' " & _ " ,'" & xKODE & "' " & _ " ,'" & xNAMA & "' " & _ " ,'" & xHARGA & "' " & _ " ,'" & xJUMLAH & "' " & _ " ,'" & xSUBTOTAL & "') " CMD = New Odbc.OdbcCommand(KK, CONN) CMD.ExecuteNonQuery() CMD.Dispose()
2
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 224 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
'/-----------------------------------------------------------------------------------------/ '/ 5.
'/ KODE TAMBAHAN JIKA MENGGUNAKAN APLIKASI STOK
'/ UPDATE STOK BARANG; STOK BARANG DIKURANGI '/-----------------------------------------------------------------------------------------/ Dim UU As String UU = " UPDATE BARANG_JASA SET " & _ " STOK=STOK - " & xJUMLAH & _ " WHERE KODE_BARANG_JASA='" & xKODE & "' " CMD = New Odbc.OdbcCommand(UU, CONN) CMD.ExecuteNonQuery() CMD.Dispose()
Next MsgBox("DATA TELAH DI SIMPAN", MsgBoxStyle.Information) End Sub
3
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 225 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI TOMBOL
Code di : TOMBOL INPUT
‘/ kosongkan textbox Call KOSONG_DEH() Call LISTVIEW_SETTING() ‘/ bikin nomer otomatis Call NOMER_OTOMATIS()
Code di : TOMBOL SIMPAN '/---------------------------------------------------------/ '/ CEK APAKAH PRIMARY KEY (NO.SERVICE) SUDAH ADA? '/---------------------------------------------------------/ Dim AA As String = "" AA = "SELECT * FROM SERVICE " & _ " WHERE NO_SERVICE='" & Trim(Me.TextBox1.Text) & "'" CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() If RS.HasRows Then MsgBox("NO SERVICE SUDAH ADA...", MsgBoxStyle.Information)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 226 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
RS.Close() CMD.Dispose() Exit Sub End If CMD.Dispose() RS.Close() '/ PANGGIL PROCEDIRE SIMPAN DATA Call simpan_data()
Code di : TOMBOL PRINT ‘/FORM14: adalah form yg ada CrystalPreview nya ‘/ rubah nama FORM14, seusuai dengan nama form Preview masing-masing Dim FF As New Form14 ‘/ CrystalReport1 adalah nama crystal report BON service Dim Laporan As New CrystalReport1 Laporan.RecordSelectionFormula = "{SERVICE.NO_SERVICE}='" & Me.TextBox1.Text & "'"
With FF.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan .Refresh() End With FF.WindowState = FormWindowState.Maximized FF.ShowDialog()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 227 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TOMBOL CARI NOMER '/----- 1. INPUT NO.PENJUALAN YG DICARI -----/ Dim cari As String = InputBox("INPUT NO SERVICE=") If cari = "" Then Exit Sub End If Call BUKA_DB() '/----- 2.BACA DATA HEADER DARI TABLE SERVICE -----/ Dim AA As String = "" AA = " SELECT * FROM SERVICE " & _ " WHERE NO_SERVICE='" & Trim(cari) & "' " CMD = New Odbc.OdbcCommand(AA, CONN) RS = CMD.ExecuteReader() '/----- 3. CEK APAKAH DATA ADA / TIDAK -----/
If RS.Read Then
'/------------------------------------------------------------------------------------------/
'/ 4. MUNCULKANN DATA HEADER
'/-----------------------------------------------------------------------------------------/ Me.TextBox1.Text = RS("NO_SERVICE") Me.DateTimePicker1.Value = RS("TGL") Me.ComboBox1.Text = RS("KODE_PELANGGAN") Me.TextBox8.Text = RS("SUBTOTAL_SERVICE") Me.TextBox9.Text = RS("DISCOUNT") Me.TextBox10.Text = RS("TOTAL_SERVICE") RS.Close() CMD.Dispose()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 228 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Else MsgBox("NO PENJUALAN TIDAK ADA", MsgBoxStyle.Information) RS.Close() CMD.Dispose() Exit Sub End If '/----------------------------------------------------------------------------------------------------------/ '/ 5.
'/ BACA DATA BARANG DI TABLE: SERVICE_RINCIAN
'/-----------------------------------------------------------------------------------------------------------/ Dim BB As String = "" BB = " SELECT * FROM SERVICE_RINCIAN " & _ " WHERE NO_SERVICE='" & Trim(cari) & "' "
CMD = New Odbc.OdbcCommand(BB, CONN) RS = CMD.ExecuteReader() If RS.Read Then
Dim lv As ListViewItem While RS.Read '/ 6-----. MASUKAN DATA KE LISTVIEW -----/ lv = Me.ListView1.Items.Add(RS("KODE_BARANG_JASA")) '/KODE lv.SubItems.Add(RS("NAMA_BARANG_JASA")) '/NAMA lv.SubItems.Add(RS("HARGA")) '/HARGA lv.SubItems.Add(RS("JUMLAH")) '/JUMLAH lv.SubItems.Add(RS("SUBTOTAL")) '/SUBTOTAL End While End If RS.Close() CMD.Dispose()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 229 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TOMBOL HAPUS
***kode tombol hapus coba buat sendiri dehhh **
Code di : TOMBOL EXIT
Me.Close()
Code di : TOMBOL HITUNG TOTAL
Call HITUNG_GRAND_TOTAL()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 230 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE di RINCIAN BARANG (DETAIL)
Code di : TOMBOL EDIT BARANG
'/----- MUNCULKAN DATA LISTVIEW KE TEXTBOX -----/ On Error Resume Next
Me.TextBox3.Text = Me.ListView1.FocusedItem.Text ‘/kode barang Me.TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text ‘/nama barang Me.TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text ‘/harga Me.TextBox6.Text = Me.ListView1.FocusedItem.SubItems(3).Text ‘/jumlah Me.TextBox7.Text = Me.ListView1.FocusedItem.SubItems(4).Text ‘/subtotal
Code di : TOMBOL DELETE BARANG '/----- HAPUS BARANG DI LISTVIEW -----/ On Error Resume Next
ListView1.FocusedItem.Remove()
'/ JANGAN LUPA UNTUK HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 231 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TOMBOL SAVE (simpan data baru) '/------------------------------------------------------------------------------------/ '/ MASUKKAN DATA BARANG DI TEXTBOX KE LISTVIEW '/------------------------------------------------------------------------------------/ Dim lv As ListViewItem lv = Me.ListView1.Items.Add(TextBox3.Text) '/KODE lv.SubItems.Add(TextBox4.Text) '/NAMA lv.SubItems.Add(TextBox5.Text) '/HARGA lv.SubItems.Add(TextBox6.Text) '/JUMLAH lv.SubItems.Add(TextBox7.Text) '/SUBTOTAL TextBox3.Text=”” TextBox4.Text=”” TextBox5.Text=”” TextBox6.Text=”” TextBox7.Text=”” TextBox3.Focus() '/ JANGAN LUPA UNTUK HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()
TOMBOL SAVE: Untuk simpan data baru (bukan Edit)
TOMBOL UPDATE (EDIT): Untuk rubah data barang pada posisi barang yg di KLIK
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 232 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TOMBOL UPDATE (rubah data) '/-------------------------------------------------------------------------/ '/ UPDATE BARANG DI LISTVIEW DI POSISI AKTIF '/--------------------------------------------------------------------------/ Dim BARIS As Integer
BARIS = Me.ListView1.FocusedItem.Index '/Ambil urutan brg bdi LV Me.ListView1.Items(BARIS).SubItems(0).Text = TextBox3.Text Me.ListView1.Items(BARIS).SubItems(1).Text = TextBox4.Text Me.ListView1.Items(BARIS).SubItems(2).Text = TextBox5.Text Me.ListView1.Items(BARIS).SubItems(3).Text = TextBox6.Text Me.ListView1.Items(BARIS).SubItems(4).Text = TextBox7.Text TextBox3.Text=”” TextBox4.Text=”” TextBox5.Text=”” TextBox6.Text=”” TextBox7.Text=”” TextBox3.Focus() '/ JANGAN LUPA UNTUK… HITUNG GRAND TOTAL Call HITUNG_GRAND_TOTAL()
Code di : TOMBOL CANCEL '/ KOSONGKAN TEXTBOX BARANG TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox3.Focus()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 233 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TOMBOL AMBIL BARANG (Lookup) '/ MUNCULKAN FORM LOOKUP BANTUAN DATA BARANG '/ FORM_LOOKUP adalah nama form lookupnya, RUBAHLAH NAMA FORM INI '/ sesuai dengan nama form masing-masing
Form_lookup.ShowFOCUS()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 234 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI OBJECT FORM
Code di : FORM - LOAD Call KOSONG_DEH() '/ KOSONGKAN TEXTBOX
Call COMBO_pelanggan() '/ ISI COMBO PELANGGAN
Call LISTVIEW_SETTING() '/ SETTING LISTVIEW
Code di : COMBOBOX1 - SelectedIndexChanged '/ CARI DATA PELANGGAN SETELAH KODE_PELANGGAN DI COMBO DI PILIH Call CARI_DATA_PELANGGAN()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 235 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Code di : TEXBOX3 - KeyDown
'/----- jika ENTER ditekan ,maka cari data barang ------/
If e.KeyCode = Keys.Enter Then
Call CARI_DATA_BARANG() End If
Code di : TEXTBOX6 - TextChanged
'/-----------------------------------------------------------------------------------------/ '/ HITUNG SUBTOTAL=HARGA*JUMLAH '/ JIKA ADA PERKALIAN LANGSUNG DI LOKASI -CHANGE- '/ JANGAN LUPA PAKE : ON ERROR RESUME NEXT '/-----------------------------------------------------------------------------------------/ On Error Resume Next If IsNumeric(TextBox6.Text) = False Then TextBox6.Text = "0" End If
'/ HITUNG SUBTOTAL = HARGA * JUMLAH TextBox7.Text = TextBox5.Text * TextBox6.Text
SELESAI….
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 236 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 237 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
(Tambahan)
Membuat form bantuan (form lookup)
AMBIL DATA BARANG (Ambil data barang dan munculkan ke form transaksi)
Ini adalah LISTVIEW
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 238 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI FORM
PROCEDURE
Procedure untuk menampilkan data ke listview
Sub TABLE_to_LISTVIEW() '/----------------------------------------------------------------------/ '/ TAMPILKAN DATA BARANG KE LISTVIEW '/----------------------------------------------------------------------/ Call BUKA_DB() Dim AA As String = "" AA = " SELECT * FROM BARANG_JASA ORDER BY KODE_BARANG_JASA" CMD = New Odbc.OdbcCommand(AA, CONN) '/ buka tabel RS = CMD.ExecuteReader() With Me.ListView1 '/ setting lisrtview nya .Items.Clear() .FullRowSelect = True .GridLines = True .View = View.Details .AllowColumnReorder = True '/----- BIKIN KOLOM --------/ .Columns.Clear() .Columns.Add("KODE BARANG JASA", 150) '/ kolom, 150 lebarnya .Columns.Add("NAMA BARANG JASA", 150)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 239 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
.Columns.Add("HARGA", 85) .Columns.Add("STOK", 85) .Columns.Add("KATEGORI", 85) End With '/--------------------------------------/ '/ BACA DATA BARANG '/--------------------------------------/
If RS.HasRows Then '/ apakah datanya ada
Dim lv As ListViewItem
While RS.Read '/ baca datanya
lv = Me.ListView1.Items.Add(RS("KODE_BARANG_JASA")) '/ masukan ke LV lv.SubItems.Add(RS("NAMA_BARANG_JASA")) lv.SubItems.Add(RS("HARGA")) lv.SubItems.Add(RS("STOK")) lv.SubItems.Add(RS("KATEGORI")) End While End If RS.Close() '/ tutup table CMD.Dispose() End Sub
Procedure untuk mengambil data di listview dan di TAMPILKAN ke form transaksi
Sub AMBIL_DATA_BARANG() '/------------------------------------------------/ '/ AMBIL DATA LISTVIEW '/------------------------------------------------/
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 240 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
On Error Resume Next '/ MASUKAN DATA BARANG KE FROM TRANSAKSI '/ Form_transaksi adalah nama form 1-many nya, RUBAHLAH nama ini '/ sesuai dengan nama form masing-masing
With Form_TRANSAKSI
.TextBox3.Text = Me.ListView1.FocusedItem.Text '/kode .TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text '/nama .TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text '/harga End With
End Sub
CODE DI : TOMBOL
Code di : TOMBOL REFRESH Call TABLE_to_LISTVIEW()
Code di : TOMBOL CANCEL Me.Close()
Code di : TOMBOL OK AMBIL Call AMBIL_DATA_BARANG() Me.Close()
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 241 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
CODE DI : FORM
Code di : FORM - LOAD Call TABLE_to_LISTVIEW()
Code di : LISTVIEW - KEYDOWN '/ jika di LV di ENTER, maka ambil data nya dan munculkan di form transaksi
If e.KeyCode = Keys.Enter Then
Call AMBIL_DATA_BARANG() Me.Close() End If
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 242 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
REPORT
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 243 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FORM CRYSTAL REPORT PREVIEW
Form ini untuk menampilkan report dari CrystalReport
Code di : FORM - RESIZE
On error resume next CrystalReportViewer1.HEIGHT = Me.Height - CrystalReportViewer1.TOP - 50 CrystalReportViewer1.WIDTH = Me. Width- 50
Ini adalah CrystalReportViewer1
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 244 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
REPORT BON SERVICE
Report menggunakan penambahan ruang yaitu GROUP.
Ruang GROUP ini untuk mengelompokan data , atau untuk data yang 1 (One) nya (report 1-Many)
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 245 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Design Report
CETAK BON SERVICE:
Report menggunakan GROUP: field SERVICE.No_Service
KONEKSI dengan ODBC
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 246 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
>> klik OK
>> klik Create New Connection + ODBC + Make New Connection
>> klik Next
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 247 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
>> pilih nama ODBC nya, >>klik Next
>> Kosongkan USER, PASSWORD,CEK Trusted COnnection>> klik Next
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 248 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
>> Nama table muncul, AMBIL table2 untuk report, >>Klik Next
>> Klik NExt
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 249 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
>> Pilih field untuk report >> Next >> Next
Service.Subtotal_service Service.Discount
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 250 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
FINISH
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 251 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Bikin GROUP
Pilih
SERVICE. NO_SERVICE
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 252 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
REPORT jadi tambah ruang
baru, yaitu : GROUP
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 253 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Design lah report sbb:
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 254 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 255 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 256 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
MEMBUAT LAPORAN
TRANSAKSI harian (menggunakan 2 tanggal –range- )
Format report menggunakan Laporan bon
CODE:
Code: TOMBOL REPORT - Click
Dim AA As New Form3 ‘/--Nama form preview
Dim Laporan As New CrystalReport1 ‘/--Nama crystal report
Laporan.RecordSelectionFormula = "{SERVICE.NO_TGL} >=CDATE („" & DateTimePicker1.Text & "‟) AND
{SERVICE.TGL} <= CDATE („” & DateTimePicker2.Text & "‟) “
With AA.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan
.Refresh() End With
AA.Show()
NYAMBUNG
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 257 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Perhatikan FORMULA untuk 2 tanggal (RANGE):
biasanya digunakan dalam laporan transaksi, Penulisannya BERSAMBUNG yah….
Laporan.RecordSelectionFormula =
"{SERVICE.TGL} >=CDATE („" & DateTimePicker1.Text & "‟)
AND
{SERVICE.TGL} <=CDATE („” & DateTimePicker2.Text & "‟)“
…jadi menggunakan fungsi CDATE, tanggal di apit dengan KUTIP SATU
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 258 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 259 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Alhamdulillah Selesai…
Modul ini untuk programmer pemula yang sedang belajar dengan
gigih dan kerja kerasssssssssssssss
Salam dari ane
Indra E Sanjaya ‘Afgan
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 260 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 261 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
NIKAH yuuukk... jangan PACARAN..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 262 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Yang sudah BEKERJA.. segeralah MENIKAH.. jangan Pacaran
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 263 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
PADA AKHIRNYA..
Dan.... …pada akhirnya jumlah perempuan semakin banyak & banyak
Dan…
Pada akhirnya Jumlah laki-laki semakin sedikit & sedikit..
Dan… Pada akhirnya hukum POLIGAMI akan diterima oleh
masyarakat umum (Muslim & Non Muslim) dengan sendirinya..
| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |
P a g e | 264 modul belajar sendiri VBNet oleh Indra Afgan – update 25-Maret-2012
Jangan lupa SHOLAT kepada ALLAH SWT
Jangan lupa untuk MEMBACA AL-QURAN setiap hari, 1 ayat saja… mudahkan