You are on page 1of 264

| IndraES | 0857.73.59.59.

69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

Modul belajar sendiri, dibuat sendiri & untuk yang mau belajar sendirian aja..

Oleh: Indra Erawan Sanjaya,Skom

VBNet 2005
&

SQL 2005

Page |1

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 |

PDF ini diupdate tanggal:

10-juni-2012
(b)

Page |2

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 |

DAFTAR ISI

Page |3

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 |

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:

Stttt..... foto ini harap di rahasiakan, tidak semua orang tahu akan hal ini.. apalagi media Infotaiment

( foto ane pas masih kuliah di Gunadarma depok )

Page |4

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 |

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...

Page |5

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 |

foto-foto keren:

Waktu SMA (keren abizzz):

Waktu KULIAH (ganteng nya masih ada banyak..)

Nah ini yang sekarang,sisa2 gantengnya masih ada loh..

Page |6

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 |

Page |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 |

Web ane :

www.mysystem-indonesia.com
web yang menjual program untuk perusahaan manufacture | masih

BETA

Page |8

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 |

Page |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 |

VB Net
P a g e | 10 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 | 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 |

Hal2 versi VbNet & Database


VERSI VISUAL BASIC: 1. VB 4, VB 5, 2. VB 6 3. VB Net 2002, VB Net 2003 4. VB Net 2005 5. VB Net 2008, VB Net 2010 masih tetap digunakan pengguna VBNet minimal pake versi 2005 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 3. SQL server 2005 4. SQL server 2008

ada kendala koneksi di windows7 minimal versi sekarang, banyak digunakan

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)

P a g e | 12

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 |

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

P a g e | 13

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 e n t I n g (Start-up form)

Mengatur FORM AWAL yang akan di

RUNNING
1 2

1. Klik 2x My Project , atau dari menu = PROJECT + PROPERTIES 2. Muncul form diatas. Pilih START-UP FORM, pilih form nya deh..

P a g e | 14

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 |

Beberapa Code-code dasar perbedaan VB6 & VBNet

P a g e | 15

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 |

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 FORM : MENAMPILKAN FORM Form1.Show Me.close 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 TextBox1.Text=

.atau

Mengecek Penekanan Tombol Keyboard


PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN Contoh : di TEXTBOX3 akan di CEK, apakah tombol di TEXTBOX3 akan di CEK, apakah tombol ENTER di ENTER di tekan. tekan. Lokasi kode = TEXTBOX3 KEYDOWN If KEYCODE = VBKEYReturn Then Msgbox TOMBOL ENTER DI TEKAN End If Lokasi kode = TEXTBOX3 KEYDOWN IF e.KeyCode = Keys.Return Then Msgbox TOMBOL ENTER DI TEKAN End If

P a g e | 16

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 |

Mengecek Penekanan Tombol Keyboard dg SENDKEYS


PENEKANAN TOMBOL, MENGECEK TOMBOL APA YANG DI TEKAN Contoh : di TEXTBOX3 akan di CEK, apakah tombol di TEXTBOX3 akan di CEK, apakah tombol ENTER di tekan. ENTER di tekan. Lokasi kode = TEXTBOX3 KEYDOWN Lokasi kode = TEXTBOX3 KEYDOWN IF e.KeyCode = Keys.Return Then If KEYCODE = VBKEYReturn Then SendKeys.Send("{TAB}") SENDKEYS {TAB} End If 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 : Dim Tanya As String Tanya=Msgbox(INGIN KELUAR?,VbQuestion+VbYesNo) Tanya = MsgBox("KELUAR?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If Tanya=VbYes Then If Tanya = vbYes Then Unload me Me.Close() End if End If Bentuk lain;

MessageBox.Show("Programmer: IndraES", "Info",

P a g e | 17

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 |

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)

P a g e | 18

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 |

Msgbox Format(DATE,dd-MMMyyyy)

HH:MM Me.Text = "LongTime :" & FormatDateTime(Now, DateFormat.LongTime) HH:MM:SS Me.Text = "ShortDate :" & FormatDateTime(Now, DateFormat.ShortDate) ddMMM-yyyy Me.Text = FormatDateTime(Now, DateFormat.LongDate) dd-MMMM-yyyy Me.Text = "GeneralDate :" & FormatDateTime(Now, DateFormat.GeneralDate) dd-MMMM-yyyy HH:MM:SS

Format (DATE,dd) Format (DATE,MMM) Format(DATE,yyyy) Msgbox Day(Date)/ Month(Date)/ Year(Date) Msgbox Hour(Time)/ Minute(Time)/ Second(Time)

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 Me.Label13.Text Me.Label14.Text Me.Label15.Text = = = = "Now.hour :" & Now.Hour HH "Now.minute :" & Now.Minute MM "Now.second :" & Now.Second SS "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

P a g e | 19

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 |

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

P a g e | 20

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 |

Yooook... Mulai latihan VbNet Tanpa Database


P a g e | 21 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 |

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

P a g e | 22

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 |

1 2 3
1. 2. 3. 4.

Ketik nama FILE PROJECT nya Tentukan LOKASI tempat folder nya, klik tombol BROWSE Jika sudah klik TOMBOL OK Program visual basic Net sudah siap dehhhhhhhhh..

Toolbox Form design Project, form, modul, dll

P a g e | 23

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 |

Latihan 1
Materi yang di dapat
1. 2. 3. 4. 5. Fungsi mengosongkan textbox Ber-pindah antar TEXTBOX (di ENTER) atau fungsi TAB INDEX Menggunakan perintah ISNUMERIC untuk cek angka Format angka RIBUAN dan DESIMAL dg FORMAT() Keluar form dengan KONFIRMASI pertanyaan

Keterangan

P a g e | 24

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 |

SETINGAN PROPERTIES:
LABEL
Properties TEXT AUTOSIZE=False BACKCOLOR=Transparant TEXTALIGNMENT IMAGE IMAGEALIGMENT Keterangan Untuk ngetik text nya Agar bias dirubah ukurannya Agar backgraound warna transparan Jenis kerataan/ posisi Untuk ambil/memberi gambar pada label Untuk posisi gambar

PICTUREBOX
Terkadang object di VBNET mucul SEGITIGA KECIL, ini adalah setingan pokok

Properties CHOOSE IMAGE SIZE MODE

Keterangan Ambil gambar Pengaturan ukuran gambar

TEXTBOXBOX
Properties TEXT FONT FORECOLOR MAXLENGTH PASSWORD CHART Keterangan Untuk ngetik text nya Pengaturan huruf (model,efek,dll) Warna huruf Panjang maximal input data Symbol untuk password agar tidak terbaca

BUTTON
Properties TEXT TEXT ALIGMENT IMAGE IMAGE ALIGMENT P a g e | 25 Untuk ngetik text nya Posisi text Ambil gambar Posisi gambar modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012 Keterangan

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

CODE-CODE PROCEDURE:
Procedure kosong untuk mengosongkan textbox

Sub KOSONG()
Me.TextBox1.Clear() Me.TextBox2.Clear() Me.TextBox3.Text=

.Clear kosongkan object

END SUB

CODE-CODE :
Code: TOMBOL KOSONG
CALL KOSONG Me.TextBox1. '/ panggil procedure kosongkan textbox

Focus()

.FOCUS taro kursor di textbox

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. End If

Close()
Catatan:

/Close tutup form

Me.CLOSE END
P a g e | 26

keluar dari form, form nya close, program masih jalan.


Tapi Kalo form Cuma ada 1 maka form keluar & program keluar

keluar dari program, program akan berhenti,keluar,selesai..

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 |

Code: TOMBOL HITUNG TAMBAH (+)


'/penjumlahan Me.TextBox3.Text =

VAL fungsi untuk


merubah string ke numeric

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
fungsi untuk cek apakah yg di input angka numeric?

= 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)

IsNumeric(Me.TextBox4.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 fungsi
format angka, tgl, jam, dll

Format(MANIS_deh, "#.00")

'/2 digit desimal

P a g e | 27

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 | 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 |

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

P a g e | 29

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 | 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 |

(1).Membuat CURSOR pindah antar textbox pas di ENTER


(menggunakan TAB )
Jika di TEXTBOX1 di ENTER, maka CURSOR pindah ke TEXTBOX2

Langkahnya: 1. Aturlah TAB INDEX di PROPERTIES disetiap TEXTBOX menjadi urutan. Urutan ini dijadikan URUTAN PINDAH CURSOR. (dari: 1,2,3,4seterusnya)

P a g e | 32

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 |

3 4
2

..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

Sendkeys perintah untuk mengirim


penekanan tombol keyboard ke komp (jadi kita seakan2 menekan tombol keyboard)

Code di : TEXTBOX2 KEYDOWN


If e.KeyCode = Keys.Enter Then

SendKeys.Send("{TAB}")
End If

Keycode untuk memeriksa tombol


apa yang di tekan oleh user

..code begitu seterusnya, di setiap textbox

P a g e | 33

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 |

Keuntungan menggunakan SENDKEYS :


CODE disetiap textbox / combobox SAMA Mudah dalam mengatur URUTAN CURSOR, hanya mengatur properties TABINDEX nya sahaja

SendKeys.Send("{TAB}")

P a g e | 34

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 |

(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() End If /jika YA, taro cursor di Text8

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() End If /jika YA, taro cursor di Text9

P a g e | 35

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 |

Latihan 2
Materi yang di dapat
1. 2. 3. 4. Buatlah form untuk input nilai siswa Gunakan ENTER untuk pindah antar textbox Gunakan fungsi ISNUMERIC untuk cek input angka

Keterangan

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 P a g e | 36 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 |

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

P a g e | 37

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 |

Latihan 3.
Materi yang di dapat
1. 2. 3. Ambil tanggal dan jam Memisahkan TAHUN, BULAN, HARI, JAM , MENIT, DETIK Selisih tanggal dan jam

Keterangan

Tanggal & Jam

Timer untuk membuat TGL,JAM berjalan

P a g e | 38

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 |

Tampilan saat running:

Tgl dan Jam untuk informasi

Selisih TGL untuk PEMINJAMAN/SEWA

Maju mundur untuk JATUH TEMPO

Pengurangan JAM untuk PARKIR

PROPERTIES: DateTimePicker untuk TANGGAL .Format=Custom, CustomFormat=dd/MMM/yyyy DateTimePicker untuk JAM .Format=Custom, CustomFormat=HH:mm:ss

P a g e | 39

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 |

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 TANGGAL_JAM = Now 'difinisi varisbel sbg TGL '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 Me.TextBox5.Text Me.TextBox6.Text Me.TextBox7.Text = = = = TANGGAL_JAM.Month Format(Now, "MMM") Format(Now, "MMMM") Format(Now, "MM") 'Format(Now, "dd") 'nama hari 'jam komputer

Me.TextBox8.Text = TANGGAL_JAM.Day Me.TextBox9.Text = Format(Now, "dddd") Me.TextBox10.Text Me.TextBox11.Text Me.TextBox12.Text Me.TextBox13.Text Me.TextBox14.Text = = = = = Format(Now, "HH:mm:ss") TANGGAL_JAM.Hour TANGGAL_JAM.Minute TANGGAL_JAM.Second TANGGAL_JAM.Millisecond

P a g e | 40

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 |

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 Dim TAHUN_maju As Date TGL = Now TAHUN_maju = TGL.AddYears(Me.TextBox15.Text) Me.TextBox16.Text = TAHUN_maju.Date 'variable 'ambil tgl komputer 'majukan tahun 'tampilkan

'/--------------------------------------------------/ '/metode lain dengan fungsi , 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

DATEADD

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

P a g e | 41

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 |

Dim BULAN_maju As Date TGL = Now BULAN_maju = TGL.AddMonths(Me.TextBox17.Text) Me.TextBox18.Text = BULAN_maju.Date 'ambil tgl komputer 'majukan tahun 'tampilkan

'/--------------------------------------------------/ '/metode lain dengan fungsi DATEADD, hasilnya sama '/--------------------------------------------------/ MsgBox("sekarang dengan fungsi DateAdd....") TGL = Now BULAN_maju = DateAdd("m", Val(Me.TextBox17.Text), TGL) Me.TextBox18.Text = BULAN_maju.Date

'ambil tgl 'majukan tahun '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 HARI_maju = TGL.AddDays(Me.TextBox19.Text) Me.TextBox20.Text = HARI_maju.Date 'ambil tgl 'majukan tahun 'tampilkan

'/--------------------------------------------------/ '/metode lain dengan fungsi DATEADD, hasilnya sama '/--------------------------------------------------/ MsgBox("sekarang dengan fungsi DateAdd....") TGL = Now HARI_maju = DateAdd("d", Val(Me.TextBox19.Text), TGL) Me.TextBox20.Text = HARI_maju.Date

'ambil tgl 'majukan tahun 'tampilkan

KET: pake tanda MINUS ( - ) untuk mundur

P a g e | 42

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 |

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 JAM_maju = TGL.AddHours(Me.TextBox22.Text) Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss") 'ambil tgl 'majukan tahun 'tampilkan

'/--------------------------------------------------/ '/metode lain dengan fungsi DATEADD, hasilnya sama '/--------------------------------------------------/ MsgBox("sekarang dengan fungsi DateAdd....") TGL = Format(Now, "HH:mm:ss") JAM_maju = DateAdd("h", Val(Me.TextBox22.Text), TGL) Me.TextBox23.Text = Format(JAM_maju, "HH:mm:ss")

'ambil jam 'majukan tahun '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 MENIT_maju = TGL.AddMinutes(Me.TextBox24.Text) Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss") 'ambil tgl 'majukan tahun 'tampilkan

P a g e | 43

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 |

'/--------------------------------------------------/ '/metode lain dengan fungsi DATEADD, hasilnya sama '/--------------------------------------------------/ MsgBox("sekarang dengan fungsi DateAdd....") TGL = Format(Now, "HH:mm:ss") MENIT_maju = DateAdd("n", Val(Me.TextBox24.Text), TGL) Me.TextBox25.Text = Format(MENIT_maju, "HH:mm:ss")

'ambil jam 'majukan tahun 'tampilkan

Code di: TOMBOL SELISIH (T2 T1)


'selisih Dim T1 As Date = Me.DateTimePicker1.Text Dim T2 As Date = Me.DateTimePicker2.Text Dim SELISIH_tgl As TimeSpan 'ambil tgl 'ambil tgl 'variable tempat pengurangan tgl

SELISIH_tgl = T2.Date - T1.Date Me.TextBox21.Text = SELISIH_tgl.TotalDays & " hari"

P a g e | 44

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 |

Code di: TOMBOL SELISIH (T2 T1)


'/--------------------------------------/ ' cari selisih (TOTAL MENIT) '/--------------------------------------/ Dim Jam1 As DateTime = Me.DateTimePicker3.Text Dim Jam2 As DateTime = Me.DateTimePicker4.Text Dim SELISIH_jam As TimeSpan 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" 'ambil jam 'ambil jam 'var.untuk hitungan jam

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

P a g e | 45

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 |

INFORMASI: Untuk perintah MAJU MUNDUR TANGGAL bisa juga menggunakan fungsi DATEADD

P a g e | 46

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 |

Latihan 4. Animasi

Latihan 4 : Animasi
Membuat ANIMASI menggunakan TIMER Membuat TANGGAL dan JAM

Name: MATAHARI
Berkedip-kedip genit

Name: SUPERMEN

Name: KAPAL

Name: ROKET Name: PANAH

Ambil TIMER lalu tempelkan di Form

P a g e | 47

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 |

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
NOW= perintah menampilkan TGL dan JAM Gunakan FORMAT untuk memisahkan antara TGL dan JAM MOD = operasi sisa hasil bagi

'===== 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

P a g e | 48

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 |

Latihan 5

Latihan 5 : TANGGAL dg fungsi

FORMAT

COMPONEN TAMBAHAN : Tambahkan TIMER


CODE di

TIMER1 Tick
FUngsi FORMAT: sangat bermamfaat untuk memformat angka. (format tgl, jam, angka ribuan, angka decimal, dll)

-----AMBIL TGL dan JAM Me.Label1.Text = Format(Now, "dd-MMM-yyyy") Me.Label2.Text = Format(Now, "HH:mm:ss") -----AMBIL TGL, Me.Label5.Text = Me.Label7.Text = Me.Label9.Text = BULAN dan TAHUN TANGGAL Format(Now, "dd") Format(Now, "MMMM") 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")

P a g e | 49

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 |

CODE di

TOMBOL JAM MULAI Click


TRUE mengaktifkan timer

Me.Timer1.Enabled = True

CODE di

TOMBOL JAM BERHENTI Click


TRUE mematikan timer

Me.Timer1.Enabled = False

P a g e | 50

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 |

Membuat

MENU UTAMA, TOOLBAR & FLOATING MENU


P a g e | 51 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 |

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:

P a g e | 52

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 |

SUB MENU: HONDA

SUB MENU: YAMAHA

SUB MENU : SUZUKI

P a g e | 53

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 |

SUB MENU: BAJAJ

DATA MOBIL:

SUB MENU: HONDA

P a g e | 54

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 |

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()
Code:

Ket: menampilkan FORM 2 yang bukan MDI Child, secara FOCUS/MODAL

menu EXIT - Click


modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

Dim tanya As String

P a g e | 55

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If tanya = vbYes Then END End If

END selesai Program

Code: Msgbox Yang buat keren loh & CHR(13) & Nama nya: INDRA ES , MsgBoxStyle.Information

menu PROGRAMMER - Click

Chr(13) Enter (ganti baris)

P a g e | 56

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 |

Membuat TOOLBAR
(ToolStrip)

Tambahkan COMPONEN : TOOLSTRIP

ToolStrip

Sub Menu
LAYOUT TOOLBAR:

Design toolbar

P a g e | 57

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 |

Lokasi toolbar

DESIGN TOOLSTRIP

Properties:

BUTTON
DISPLAY TYPE FONT : menampilkan gambar saja/ gambar + text / Text saja : jenis huruf

P a g e | 58

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 |

FORE COLOR IMAGE IMAGE ALIGN IMAGE SCALING TEXT TEXT ALIGN TEXT IMAGE RELATION TOOL TIP TEXT TEXT DIRECTION

: : : : : : : : :

warna huruf mengambil gambar menu lokasi gambar mengatur UKURAN GAMBAR judul huruf lokasi huruf pengaturan LOKASI huruf & gambar keterangan text (saat mouse berada dg toolbar) rotasi huruf

ToolStrip DROPDOWN BUTTON (untuk membuat SubMenu)


DROP DOWN ITEMs : untuk membuat SUB MENU

DESIGN SUB MENU:

P a g e | 59

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 |

Properties:

ToolStrip TEXT BOX

TEXT TEXT BOX TEXT ALIGN TOOL TIP TEXT

: judul menu : atur rata kiri, tengah, kanan 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


END selesai Program

Dim tanya As String tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If tanya = vbYes Then END End If

Code: Msgbox Yang buat keren loh & CHR(13) & Nama nya: INDRA ES , MsgBoxStyle.Information

ToolScript PROGRAMMER - Click

Chr(13) Enter (ganti baris)

P a g e | 60

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 | 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 |

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

ConTextMenuStrip: Menu khusus untuk Floating Menu

CODE untuk MEMUNCULKAN ConTextMenuStrip. Jika TOMBOL KANAN MOUSE di KLIK di FORM

P a g e | 62

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 |

CODE:

FORM Mouse Down

If e.Button = Windows.Forms.MouseButtons.Right Then Nyambung 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


END selesai Program

Dim tanya As String tanya = MsgBox("Mau keluar program", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If tanya = vbYes Then END End If

TAMPILAN Floating Menu saat dijalankan, dan saat MOUSE TOMBOL KANAN di KLIK:

Floating menu muncul jika klik kanan mouse di klik

P a g e | 63

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 |

Membuat

MDI FORM

P a g e | 64

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 |

Membuat
1. 2. 3. FORM BIASA (Single Form) MDI Form (MDI PARENT) MDI Child Form

MDI Form

Untuk FORM dalam visual basic dapat dibedakan menjadi 3 jenis:

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

P a g e | 65

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 |

Membuat MENU untuk MDI Form

P a g e | 66

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 |

CODE CODE untuk MENAMPILKAN FORM biasa sebagai FORM MDI CHILD CODE:

Menu : BUKA FORM 2 Click


Ket:

---MENAMPILKAN FORM BIASA MDI CHILD

Dim Imut As New Form2 Imut.MdiParent = Me Imut.Show()

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


begitu seterus nya

---MENAMPILKAN FORM BIASA MDI CHILD

Dim Manis As New Form3 Manis.MdiParent = Me Manis.Show()

FORM3 form child nya, yg di panggil

CODE:

Menu : WINDOWS Cascade Click


Ket: CASCADE ; mengatur tampilan FORM CHILD secara bertumpuk puk puk

---MENGATUR FORM CHILD secara CASCADE

Me.LayoutMdi(MdiLayout.Cascade)

CODE:

Menu : WINDOWS Vertical Click


Ket: VERTICAL ; mengatur tampilan FORM CHILD secara berjajar ke ATAS

---MENGATUR FORM CHILD secara VERTICAL

Me.LayoutMdi(MdiLayout. TileVertical)

CODE:

Menu : WINDOWS Horizontal Click


Ket: HORIZONTAL ; mengatur tampilan FORM CHILD secara berjajar ke KESAMPING

---MENGATUR FORM CHILD secara HORIZONTAL

Me.LayoutMdi(MdiLayout. TileHorizontal)

P a g e | 67

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 | 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 |

TAMPILAN pada saat program MDI dijalankan:


WINDOWS CASCADE

WINDOWS VERTICAL

WINDOWS HORIZONTAL

P a g e | 69

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 | 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 |

SELINGAN
Ih.. akang indraES.. cute, mirip Afgan deh..

Main game yuk.

Ah.. ajak makan siang ah..

mas Indra ES senyum nya wow

Idih aa cilup baaaa

P a g e | 71

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 | 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 |

Pemograman Database VBNet + SQL server 2005

P a g e | 73

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 |

SYSTEM

BENGKEL MOTOR
Indra bengkel + cuci motor selalu bersih dan rapi sekaleeeeeeeeee
P a g e | 74 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 |

SYSTEM BENGKEL
Database SQL Server
DATABASE TABLE : :

BENGKEL

1.PELANGGAN FIELD KODE_PELANGGAN NAMA_PELANGGAN 2.BARANG_JASA FIELD KODE_BARANG_JASA NAMA_BARANG_JASA KATEGORI HARGA STOK 3.SPAREPART_MASUK FIELD NO_MASUK TGL KODE_BARANG NAMA_BARANG JUMLAH 4.SERVICE FIELD NO_SERVICE TGL KODE_PELANGGAN SUBTOTAL_SERVICE DISCOUNT TOTAL_SERVICE 5.SERVICE_RINCIAN FIELD NO_SERVICE KODE_BARANG_JASA NAMA_BARANG_JASA HARGA JUMLAH SUBTOTAL NO_URUT

TYPE varchar varchar

SIZE 10 50

ALLOWNULL V

KET PrimaryKey

TYPE varchar varchar Varchar float float

SIZE 10 30 10

ALLOWNULL V V v

KET PrimaryKey (JASA/BARANG)

TYPE varchar DateTime varchar varchar flaot

SIZE ALLOWNULL 10 default 10 v 30 v default V

KET PrimaryKey

TYPE varchar DateTime varchar Float Float flaot

SIZE ALLOWNULL 10 default 10 v

KET PrimaryKey

TYPE varchar varchar varchar float float float int

ALLOWNULL KET 10 V 10 V 30 V default V default V default V default PrimaryKey, Indentity=Yes, Indentity Increment=1

SIZE

P a g e | 75

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 | 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 |

SQL SERVER 2005

EXPRESS

P a g e | 77

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 |

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

P a g e | 78

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 |

Database & Table


Tampilan SQL Server 2005 (tampilan express dan full sama saja)

Membuat database
Klik KANAN di Database + New Database

P a g e | 79

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 |

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..

P a g e | 80

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 |

5.tampilan SQL Server dengan database baru = BENGKEL

Membuat table
1.Klik KANAN di TABLE + NEW TABLE

P a g e | 81

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 |

2.Ketiklah nama field, type dan primarykey table tsb

2
3.klik TOMBOL SAVE (disket) jika telah selesai..; ketiklah NAMA TABLENYA PELANGGAN

P a g e | 82

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 |

Input data table pelanggan


1.Klik KANAN di TABLE PELANGGAN + OPEN INFO: Design untuk modifikasi field table nya

1
Muncul grid untuk input data pelanggan

Inputlah table PELANGGAN sbb: 2.Jika telah SELESAI klik tombol PANAH SERU untuk UPDATE/SAVE

buatlah table selanjutnya

P a g e | 83

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 |

ISI DATA BARANG JASA SBB:


No 1 2 3 4 5 6 7 8 9 10 KODE BARANG JASA J01 J02 003 004 005 006 007 008 009 010 NAMA BARANG JASA JASA SERVICE MOTOR BEBEK JASA GANTI BAN BUSI DENSO BUSI YOUTUBE BAN DALAM DEPAN BAN DALAM BELAKANG OLI MESRAN OLI CASTROL OLI TOP ONE BUSI DENSO KATEGORI JASA JASA BARANG BARANG BARANG BARANG BARANG BARANG BARANG BARANG HARGA 20000 5000 10000 12000 12000 17000 27000 30000 28000 10000

P a g e | 84

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 | 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 |

PENGANTAR TEORI DASAR


Database untuk VBNet

P a g e | 86

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 |

KONEKSI
VBNet DataBase
Ada banyak TEHNIK untuk koneksi dari VBNet ke Database (sama juga di VB6)

ODBC Dengan OLEDB


Dengan 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

P a g e | 87

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 |

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

P a g e | 88

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 |

ODBC
Membuat koneksi ODBC ke database SQL server 2005
Buka ODBC; control panel + administrative tools + odbc Tampilan ODBC;

3
1. Klik TOMBOL ADD 2.Klik SQL NATIVE client + 3.klik tombol FINISH Info: SQL Native Client SQL2005 SQL server SQL 2000 SQL server native client 10 SQL2008

P a g e | 89

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 |

6
4.Name (nama odbc nya) : ODBC_BENGKEL 5.Server (nama server): .\SQLEXPRESS 6.Klik TOMBOL NEXT

7
..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

P a g e | 90

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 |

Ini yang suka KELUPAAN..yahh

9
8.pilih nama DATABASE yang akan di gunakan 9.klik tombol NEXT

10
10.klik TOMBOL FINISH

P a g e | 91

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 |

11
11. klik TOMBOL TEST DATA SOURCE (buat tes hasil koneksi) Selesai Hasilnya

12
12.koneksi OK, klik OK.. OK

Muncul nama yang baru ODBC_BENGKEL

P a g e | 92

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 | 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 |

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
P a g e | 94 modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012 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 |

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
Connectring dengan OLEDB; Data source nama server BENGKELnama databasenya

Bagaimana kita tahu

PENULISAN CODE CONNECTRING yang akan kita pakai coba


tengok dibawah ini kawan

P a g e | 95

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 |

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
2.KLIK DATABASE + tombol NEXT

P a g e | 96

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 |

Disini form menampilkan koneksi yg telah kita buat.. jika BELUM ADA KONEKSI/ mau BIKIN BARU klik

TOMBOL NEW CONNECTION

3.KLIK tombol NEW CONNECTION

5
4.jenis database dan tehnik koneksinya; untuk OLEDB pilihan .NET Framework Data Provider for OLEDB

P a g e | 97

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 |

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

P a g e | 98

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 |

11
Copy-pah kode ini.. blok lalu CTRL-C

10

12
..form kembali kesini 10. bukalah *++Connection string sehingga kode koneksi terlihat..

11.

COPY

LAH KODE tsb.

12.lalu KLIK TOMBOL CANCEL. Jangan NEXT, karena kita HANYA BUTUH code koneksi nya saja

13..KODE ruang kode di form..

PASTE
selesai

lah selesai

P a g e | 99

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 | 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 |

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

P a g e | 101

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 | 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 |

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 MENAMPILKAN DATA dg

LISTVIEW

dan TEHNIK

DATAGRIDVIEW

P a g e | 103

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 |

PENTING
Variable Connection
MENGGUNAKAN LISTVIEW

(& sbg koneksi dasar,UMUM ke DataBase)


Koneksi ke Database perintah SQL (select,Insert,Delete,Update) Public CONN As New ODBCConnection Public CMD As New ODBCCommand Public RS As ODBCDataReader

Var tempat menampung hasil sql: SELECT

(DTReader tidak menggukan NEW)**

RS adalah nama variable (RECORDSET) untuk membuka TABLE, TABLE yang akan di BUKA

MENGGUNAKAN DATAGRIDVIEW
perintah SQL (select,Insert,Delete,Update) DataGridView Var tempat menampung hasil sql: SELECT ) DataGridView Public CMD_Adapter As New ODBCDataAdapter

Public RS_table As New DataTable

(di DIFINISIKAN di MODULE agar dikenal di seluruh Project)

P a g e | 104

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 | 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 |

Latihan berikut adalah form dengan 1 table

Ini adalah

CODE CODE DASAR

P a g e | 106

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 |

Form data PELANGGAN

Running:

Running :

P a g e | 107

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 |

Data dg ListView

Data dg DataGridView

P a g e | 108

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 |

(1) Menampilkan data ke LISTVIEW & DATAGRIDVIEW

Tombol_exit

TABControl1

LISTVIEW1

TOMBOL_refresh_ListView

P a g e | 109

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 |

DATAGRIDVIEW

TOMBOL_refresh_DataGridView

P a g e | 110

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 |

Langkah b:

Membuat

MODUL

KONEKSI ke database SQL Server

>> MENU = PROJECT + Add Module + Klik tombol ADD

P a g e | 111

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 |

Code di MODULE:
Code di MODULE '/---var.ini untuk proses simpan INPUT/EDIT data
Public STATUS_input_data_baru As Boolean = False

Ket
TRUE=simpan sb input FALSE=simpan sb edit RS bisa banyak, disesuaikan dengan kebutuhan dan jumlah TABLE yg dibuka

'/---var.buat koneksi ke database


Public CONN As New Odbc.OdbcConnection Public CMD As New Odbc.OdbcCommand Public RS As Odbc.OdbcDataReader koneksi ke DB jalankan perintah SQL 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()

RS jumlahnya bebas, disesuiakan dg kebutuhan membuka table

Exit Sub CEK: MsgBox(Err.Description, MsgBoxStyle.Information, "CONNECTION ERROR") End End Sub

P a g e | 112

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 |

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:

P a g e | 113

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 |

Code di FORM

P a g e | 114

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 |

Membuat PROCEDURE untuk menampilkan data dari TABLE ke LISTVIEW & DATAGRIDVIEW
Procedure menampilkan data dari TABLE ke LISTVIEW

Langkah c:

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() With Me.ListView1 .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 '>data select dijalankan|| RS.OPEN aa,conn (VB6) '>setting ListView

P a g e | 115

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 |

'/-------------------------------------------------------------------------/ '/ 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() CMD.Dispose() End Sub '>tutup recordset || (VB6) Rs.Close '>buang select dr memory || (VB6) set RS=Nothing

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

P a g e | 116

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 |

Dim RS_Table As New DataTable RS_Table.Clear() CMD_Adapter.Fill(RS_Table) With Me.DataGridView1 .DataSource = RS_Table

'>siapkan var penampung

'>masukkan hasil select ke var

'>masukkan data ke GRID

.SelectionMode = DataGridViewSelectionMode.FullRowSelect .AllowUserToAddRows = False End With

RS_Table.Dispose() CMD_Adapter.Dispose() CMD_Adapter = Nothing End Sub

'>hapus dr memori

P a g e | 117

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 |

Membuat PROCEDURE untuk menampilkan data dari LISTVIEW & DATAGRIDVIEW ke FORM
Procedure menampilkan data dari LISTVIEW FORM

Langkah d:

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

P a g e | 118

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 |

Membuat PROCEDURE untuk PENCARIAN DATA INTERAKTIF di ListView & DataGridView


Procedure PENCARIAN DATA INTERAKTIF di LISTVIEW

Langkah e:

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) RS = CMD.ExecuteReader() With Me.ListView1 .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 '>jalankan select

'>data select disimpan '>setting ListView

P a g e | 119

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 |

'/-------------------------------------------------------------------------/ '/ 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() CMD.Dispose() 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

'>tutup recordset

'>buang select dr memory

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 " P a g e | 120 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 |

CMD_Adapter = New Odbc.OdbcDataAdapter(BB, CONN) Dim RS_Table As New DataTable RS_Table.Clear() CMD_Adapter.Fill(RS_Table) With Me.DataGridView1 .DataSource = RS_Table '>siapkan var penampung

'>buka Conn

'>masukkan hasil select ke var

'>masukkan data ke GRID

.SelectionMode = DataGridViewSelectionMode.FullRowSelect .AllowUserToAddRows = False End With

RS_Table.Dispose() CMD_Adapter.Dispose() CMD_Adapter = Nothing End Sub

'>hapus dr memori

P a g e | 121

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 |

Code di FORM
Langkah f:

Membuat CODE CODE di FORM


Code di TOMBOL:
Code:

TOMBOL_refresh_ListView - Click
Refresh listview

Call TABLE_to_LISTVIEW()

Code:

TOMBOL_refresh_DataGridView - Click
Refresh grid

Call TABLE_to_GRID()

Code di TEXTBOX:
Code:

TXT_CARI_listview - TextChanged
Cari interaktif

Call TABLE_to_LISTVIEW_INTERAKTIF()

P a g e | 122

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 |

Code:

TXT_CARI_datagridview - TextChanged
Cari interaktif

Call TABLE_to_GRID_INTERAKTIF()

Code untuk menampilkan data dari ListView & DatagridVIEW Form


Code:

ListView1 - SelectedIndexChanged
LISTVIEW FORM

Call LISTVIEW_to_FORM()

Code:

DataGridView1 - SelectionChanged
GRID FORM

Call GRID_to_FORM()

P a g e | 123

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 |

Hapus data Mencari data

P a g e | 124

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 |

Langkah g:

Membuat HAPUS DATA (Delete) & CARI DATA (Find)

Tombol_DEL

Tombol_FIND

Tombol_EXIT

P a g e | 125

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 |

Membuat CODE CODE di FORM


Code di TOMBOL:
Code:

TOMBOL_FIND Click
Refresh listview

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

P a g e | 126

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 |

Code:

TOMBOL_DELETE - Click
HAPUS DATA

'/---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

Nyambung

'-----------------------------------' '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

Pake EXECUTENONQUERY karena

TIDAK ADA DATA yang diambil.


Hanya eksekusi saja.

MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information, "Hapus") STATUS_input_data_baru = False


Call TABLE_to_LISTVIEW()

P a g e | 127

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 | 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 |

Input data baru Rubah data

P a g e | 129

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 |

Membuat INPUT (New), EDIT (Update) & SIMPAN (Save) DATA


TEXTBOX1 dibuat ENABLED=FALSE

Langkah g:

Tombol_CANCEL

Tombol_EXIT

Tombol_NEW

Tombol_SAVE

Tombol_DEL

Tombol_FIND

P a g e | 130

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 |

Code di FORM:
Code:

TOMBOL_CANCEL Click
Untuk membatalkan input data

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")

Code:

TOMBOL_NEW Click
Untuk input data baru

'/--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()

Code:

TOMBOL_SAVE Click
Untuk menyimpan data

'--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

P a g e | 131

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 |

'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() Kode untuk MENGECEK, apakah 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

PRIMARY KEY sudah ada/


double? Jika sudah ada PROSES DITOLAK..

P a g e | 132

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 |

/--------------------------/ / 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() P a g e | 133 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 |

End If Call TOMBOL_hidup() Me.TextBox1.Enabled = False MsgBox("DATA TELAH DI SIMPAN..", MsgBoxStyle.Information, "Simpan") Call TABLE_to_LISTVIEW() Call TABLE_to_GRID() '/up to date kan Listview & DataGridView

'/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 Posisi 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

Procedure untuk mengatur tombol pada saat INPUT DATA

Sub TOMBOL_mati()
P a g e | 134

Posisi tombol pada INPUT

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 |

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..

P a g e | 135

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 |

Keren nya jadi DOUBLE

P a g e | 136

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 | 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 |

Membuat

REPORT
Dg Crystal Report + ODBC
P a g e | 138 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 |

Report Data Pelanggan


Output:

Crystal report dalam 1 form

DESIGN FORM:

P a g e | 139

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 |

Ini

Crystal Report Viewer

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
Nyambung jd 1 baris

Laporan.RecordSelectionFormula = "{Pelanggan.Kode_pelanggan} ='" & TextBox1.Text & "' "


End If With Me.CrystalReportViewer1 .DisplayGroupTree = False .ReportSource = Laporan .Refresh() End With P a g e | 140 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 |

Code di :

FORM - RESIZE

CrystalReportViewer1.HEIGHT = Me.ScaleHeight - CrystalReportViewer1.TOP - 100 CrystalReportViewer1.WIDTH = Me. ScaleWidth- 100

P a g e | 141

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 |

Design Report

P a g e | 142

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 |

LANGKAH : Report dg ODBC


Ingat ODBC nya harus ada dulu

MENU : PROJECT + ADD WINDOWS FORM +CRYSTAL REPORT + Ok

2 3
Klik

+ ODBC

P a g e | 143

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 |

Pilih ODBC nya

4 5 6

Untuk database local di cek Trusted Connection

Ketik/pilih NAMA DB NYA

Jangan LUPA untuk CEK trusted connection

P a g e | 144

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 |

9 8
Pilih TABLE nya

10

Klik >> untuk pilih field

11 12
Selesai

P a g e | 145

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 |

Muncul design report standar, setting lah report sbb:

Aktifkan ruang REPORT FOOTER dg cara: KLIK KANAN di Kotak report footer + DONT SUPPRESS

Jadi sbb:

P a g e | 146

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 |

Selesai

Beberapa settingan

P a g e | 147

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 |

Crystal Report
P a g e | 148 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 |

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)
GROUP Header

GROUP Footer

DETAIL
(data yang di cetak berulang sampai selesai)

P a g e | 149

modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012 REPORT FOOTER
(data/judul hanya dicetak di akhir data habis/selesai)

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

Daftar DATABASE connection & SPECIAL FIELD :

Special Field.
Fungsi2 yg siap digunakan dl report

P a g e | 150

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 |

SETTING UKURAN KERTAS

Ukuran Kertas

Kertas Portrait / LandScape

P a g e | 151

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 |

MARGIN KERTAS (margin atas, bawah, kiri, kanan report)

[Non-aktifkan Use Default Margins jika ingin merubah2 ukuran margin nya]

P a g e | 152

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 |

Membuat MENGURUTKAN DATA (SORT ORDER)

[ pilih FIELD yang akan di URUTKAN, lalu klik tanda panah > atau KLIK 2x ]

P a g e | 153

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 |

MENGATUR ULANG lokasi database report (karena berpindah2 folder/drive)

Buatlah koneksi ulang dg Klik Create New Connection, setelah selesai klik UPDATE

Selesai P a g e | 154 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 | 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 |

Membuat Ukuran Kertas Sendiri


(Customize size)
Misalnya kita ingin mencetak dengan

KERTAS FOLIO
mencetak SURAT JALAN.

, biasanya untuk

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

6 4 3

5
Nanti di CRYSTAL REPORT tinggal di SETTING UKURAN/JENIS KERTAS nya (lihat Setting ukuran kertas halaman 102)

P a g e | 156

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 | 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 |

Menggunakan

STORE PROCEDURE (sp)


Catatan: Code store procedure tiap-tiap jenis koneksi ke database bereda Jenis: ODBC, Olehdb, SQLclient,dll mempunyai CODE senditi-diri

P a g e | 158

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 |

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()

P a g e | 159

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 |

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

P a g e | 160

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 |

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
P a g e | 161 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 |

/ 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()
P a g e | 162 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 |

Me.TextBox1.Text = "" Me.TextBox2.Text = "" Me.ComboBox1.Text = "" Me.TextBox3.Text = "" Me.TextBox4.Text = "" MsgBox("DATA TELAH DI HAPUS..", MsgBoxStyle.Information)

Selesai

P a g e | 163

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 |

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
@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

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

P a g e | 164

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 |

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

P a g e | 165

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 | 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 |

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..

P a g e | 167

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 |

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 & "' " & _ Kode langsung memanggil SP nya ,dengan perintah " ,'" & ComboBox1.Text & "' " & _ EXEC " ,'" & TextBox3.Text & "' " & _ Perintah ini (EXEC) = " ,'" & TextBox4.Text & "' " adalah PERINTAH untuk
Dim cmd As New Odbc.OdbcCommand(Datanya, CONN) cmd.ExecuteNonQuery() MsgBox("OK", MsgBoxStyle.Information)
SP_BARANG_INPUT adalah nama SP
menjalankan SP langsung lewat SQL nya

P a g e | 168

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 | 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 |

Langkah MERUBAH STORE PROCEDURE di SQL 2005

Klik kanan di NAMA PROCEDURE nya + MODIFY

P a g e | 170

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 |

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. 2. 3. COMBOBOX TAHUN GAJI isi dengan urutan tahun COMBOBOX BULAN; isi dengan angka bulan= 1...12 COMBOBOX NAMA DOSEN; isi dengan nama dosen Nama dosen Honor per sks IBU DEWI 100000 BPK JOKO 125000 BPK AMIR 125000 HONOR PER SKS ;munculkan otomatis sesuai dengan nama dosennya, saat di klik combo dosen COMBOBOX MATAKULIAH; isi dengan nama2 mata kuliah= VB, LINUX,OFFICE JUMLAH SKS MENGAJAR; di input bebas POTONGAN; adalah potongan honor, diinput bebas (missal potongan koperasi, dll) TOTAL HONOR = (Honor per sks * Jumlah sks mengajar ) Potongan

4. 5. 6. 7. 8. Tombol: 1. Tombol NEW; mengosonkan textbox dan combobox 2. Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data

P a g e | 171

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 |

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. 10. 11. 12. 13. NOMER UJIAN, CALON MAHASISWA; diinput COMBOBOX JURUSAN; isi dengan nama jurusan= AKUNTANSI, MANAJEMEN, KOMPUTER NILAI B.INGGRIS, MATEMATIKA, KOMPUTER; di input RATA RATA = (nilai b.inggris + matematikan + computer)/3 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. 4. Tombol NEW; mengosonkan textbox dan combobox Tombol SAVE, FIND, DELETE; gunakan Store procedure untuk simpan,cari dan hapus data

P a g e | 172

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 | 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 |

REFERENSI
STORE PROCEDURE

UNTUK TEHNIK YANG LAINNYA


Referensi SP
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()

P a g e | 174

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 |

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

P a g e | 175

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 |

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)

P a g e | 176

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 |

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()

P a g e | 177

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 |

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.

P a g e | 178

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 |

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

P a g e | 179

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 | 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 |

Membuat

LOGIN
P a g e | 181 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 |

LOGIN,

UserPassword
Biasanya system mempunyai HAK HAK terhadap seorang user. Dalam latihan ini kita mencoba membeda USER menjadi 2 : Jenis USer ADMIN USER :semua menu muncul :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:

P a g e | 182

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 | 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 |

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

P a g e | 184

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 |

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()

Me.hide form login di matikan (di sembunyikan) Form2.show munculkan form menu utama

Form2.Show()
End If

P a g e | 185

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 |

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

jadi hanya mengecek TEXT1 dan TEXT2, apakah sama dengan user-password yang telah kita tentukan saja.. P a g e | 186 modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

Keterangan:

| 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 |

STOK
(info saja)
P a g e | 188 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 |

membuat

APLIKASI STOK DASAR

INPUT
Pembelian sparepart

.barang masuk.

(stok+)
P a g e | 189 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 |

TEORI DASAR

STOK
Teori dasar stok :

PROSES BARANG MASUK (Pembelian)


Proses Input Urutan proses data (PENTING BRO) Table sparepart_masuk simpan data masuk Table barang UPDATE stok barang Delete Ket

+ (bertambah)

Table barang UPDATE stok barang (berkurang) Table sparepart_masuk HAPUS data transaksi

PROSES BARANG KELUAR (Penjualan)


Proses Input Urutan proses data (PENTING BRO) Table PENJUALAN simpan data masuk Table barang UPDATE stok barang Delete Ket

(berkurang)

Table barang UPDATE stok barang + (bertambah) Table PENJUALAN HAPUS data transaksi

P a g e | 190

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 |

Form barang masuk

NAMA BARANG, STOK muncul otomatis jika COMBO Kode Barang di KLIK

P a g e | 191

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 |

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 tablekita 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

P a g e | 192

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 |

Code di MODULE:
Code di MODULE Ket
TRUE=simpan sb input FALSE=simpan sb edit RS bisa banyak, disesuaikan dengan kebutuhan dan jumlah TABLE yg dibuka

'/---var.buat koneksi ke database


Public CONN As New Odbc.OdbcConnection Public CMD As New Odbc.OdbcCommand koneksi ke DB jalankan perintah SQL

Public RS As Odbc.OdbcDataReader Public RS2 As Odbc.OdbcDataReader

recordset/Tablenya recordset/Tablenya

Tambah 1 RS; jadi 2 RS, karena menggunakan 2 table

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

P a g e | 193

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 |

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

P a g e | 194

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 |

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 '/-----------------------------------------------------------------/

P a g e | 195

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 |

If RS.HasRows Then '/-----------------------------------------------------------------/ '/ Untuk membaca/baca RECORD Gunakan RS.READ '/-----------------------------------------------------------------/ While RS.Read End While End If '/ Tutup table kembali RS.Close() CMD.Dispose() End Sub
Me.ComboBox1.Items.Add(RS("KODE_BARANG_JASA"))

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()
P a g e | 196

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 |

'/ 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

P a g e | 197

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 |

CODE di FORM
Code di:

Code di FORM pembuatan

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
modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

Call KOSONG (ME)


P a g e | 198

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

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()

P a g e | 199

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 |

'/ 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()


P a g e | 200 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 |

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)

P a g e | 201

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 |

(1) LATIHAN
Coba buat untuk FIND & DELETE TRANSAKSI BARANG MASUK.. ingat update stok

P a g e | 202

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 |

(2) LATIHAN TRANSAKSI: Nasabah


COBA BUAT TRANSAKSI APLIKASI REKENING NASABAH

FORM MENU UTAMA

FORM INPUT DATA NASABAH

P a g e | 203

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 |

FORM LIHAT DATA SALDO NASABAH

FORM SETORAN NASABAH

P a g e | 204

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 |

FORM PENARIKAN SALDO NASABAH

FORM REPORT SALDO NASABAH

P a g e | 205

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 |

Design report saldo nasabah:

Database & Table tentukan sendiri ;-)

P a g e | 206

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 | 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 |

Membuat Transaksi

1-Many
(Master Detail)
P a g e | 208 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 |

SYSTEM BENGKEL
Database SQL Server
DATABASE TABLE : :

BENGKEL

1.PELANGGAN FIELD KODE_PELANGGAN NAMA_PELANGGAN 2.BARANG_JASA FIELD KODE_BARANG_JASA NAMA_BARANG_JASA KATEGORI HARGA STOK 3.SPAREPART_MASUK FIELD NO_MASUK TGL KODE_BARANG NAMA_BARANG JUMLAH 4.SERVICE FIELD NO_SERVICE TGL KODE_PELANGGAN SUBTOTAL_SERVICE DISCOUNT TOTAL_SERVICE 5.SERVICE_RINCIAN FIELD NO_SERVICE KODE_BARANG_JASA NAMA_BARANG_JASA HARGA JUMLAH SUBTOTAL NO_URUT

TYPE varchar varchar

SIZE 10 50

ALLOWNULL V

KET PrimaryKey

TYPE varchar varchar Varchar float float

SIZE 10 30 10

ALLOWNULL V V v

KET PrimaryKey (JASA/BARANG)

TYPE varchar DateTime varchar varchar flaot

SIZE ALLOWNULL 10 default 10 v 30 v default V

KET PrimaryKey

TYPE varchar DateTime varchar Float Float flaot

SIZE ALLOWNULL 10 default 10 v

KET PrimaryKey

TYPE varchar varchar varchar float float float int

ALLOWNULL KET 10 V 10 V 30 V default V default V default V default PrimaryKey, Indentity=Yes, Indentity Increment=1

SIZE

P a g e | 209

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 |

NGOBROL-NGOBROL
Form transaksi service bengkel ini menggunakan 4 table, yaitu : 1. 2. 3. 4. Table PELANGGAN Table BARANG_JASA Table SERVICE Table SERVICE_RINCIAN sebagai HEADER (1 one) 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 Public CMD As New Odbc.OdbcCommand koneksi ke DB jalankan perintah SQL

Public RS As Odbc.OdbcDataReader Public RS2 As Odbc.OdbcDataReader Public RS3 As Odbc.OdbcDataReader

recordset/Tablenya recordset/Tablenya recordset/Tablenya

DATAREADER lebih dari 1 ( >1)

P a g e | 210

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 |

FORM MASTER DETAIL


1.No. service otomatis 3.Nama customer otomatis muncul

2.Combo berisi kode_pelanggan dari table pelanggan

4.Nama barang,harga otomatis muncul

Ini adalah

LISTVIEW

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

P a g e | 211

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 |

DESIGN REPORT
Ini adalah sebuah GROUP

KETERANGAN: Untuk setingan 1 many; yaitu 1 (One) nya untuk pengelompokan data / group nya berdasarkan NO_SERVICE,

GROUP dengan field group: SERVICE.NO_SERVICE


maka di report kita buat ruang baru yaitu

P a g e | 212

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 |

RUNNING

P a g e | 213

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 |

CODE DI MODUL
Code di:

MODULE
/koneksi ke db /perintah sql /buka table /buka table /buka table
RS banyak karena banyak table

Public CONN As New Odbc.OdbcConnection Public CMD As New Odbc.OdbcCommand Public RS As Odbc.OdbcDataReader Public RS2 As Odbc.OdbcDataReader Public RS3 As Odbc.OdbcDataReader

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

P a g e | 214

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 |

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 = 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"
P a g e | 215 modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

12/6/0001

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

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") Dim TAHUN As String = Format(Now, "yy")

NOMER OTOMATIS

'/Month(Now) '/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

P a g e | 216

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 |

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) Dim rs As Odbc.OdbcDataReader rs = CMD.ExecuteReader() Me.ComboBox1.Items.Clear() /buka table sql /ambil data ke RS /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

P a g e | 217

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 |

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) RS2 = CMD.ExecuteReader() /buka table

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 & "' "
P a g e | 218 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 |

CMD = New Odbc.OdbcCommand(BB, CONN) RS = CMD.ExecuteReader()

/buka table

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
P a g e | 219 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 |

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

P a g e | 220

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 |

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()
P a g e | 221 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 |

'/------------------------------------------------------------------------------------------------------/

'/ 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

P a g e | 222

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 |

'/-------- 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()

P a g e | 223

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 |

'/-----------------------------------------------------------------------------------------/ '/ 5. '/ KODE TAMBAHAN JIKA MENGGUNAKAN APLIKASI '/ 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()

STOK

Next
MsgBox("DATA TELAH DI SIMPAN", MsgBoxStyle.Information) End Sub

P a g e | 224

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 |

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)
P a g e | 225 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 |

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()

P a g e | 226

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 |

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()
P a g e | 227 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 |

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()

P a g e | 228

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 |

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()

P a g e | 229

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 |

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 Me.TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text Me.TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text Me.TextBox6.Text = Me.ListView1.FocusedItem.SubItems(3).Text Me.TextBox7.Text = Me.ListView1.FocusedItem.SubItems(4).Text /kode barang /nama barang /harga /jumlah /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()

P a g e | 230

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 |

TOMBOL SAVE: Untuk simpan data baru (bukan Edit)

TOMBOL UPDATE (EDIT): Untuk rubah data barang pada posisi barang yg di KLIK

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()

P a g e | 231

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 |

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()
P a g e | 232 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 |

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()

P a g e | 233

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 |

CODE DI OBJECT FORM


Code di : FORM - LOAD
Call KOSONG_DEH() Call COMBO_pelanggan() Call LISTVIEW_SETTING() '/ KOSONGKAN TEXTBOX '/ ISI COMBO PELANGGAN '/ SETTING LISTVIEW

Code di : COMBOBOX1 - SelectedIndexChanged


'/ CARI DATA PELANGGAN SETELAH KODE_PELANGGAN DI COMBO DI PILIH Call CARI_DATA_PELANGGAN()

P a g e | 234

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 |

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.
P a g e | 235 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 | 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 |

(Tambahan)

Membuat form bantuan (form lookup)

AMBIL DATA BARANG


(Ambil data barang dan munculkan ke form transaksi)

Ini adalah LISTVIEW

P a g e | 237

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 |

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) RS = CMD.ExecuteReader() 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", 150)
P a g e | 238

'/ buka tabel

'/ setting lisrtview nya

'/ kolom, 150 lebarnya

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 |

.Columns.Add("HARGA", 85) .Columns.Add("STOK", 85) .Columns.Add("KATEGORI", 85) End With '/--------------------------------------/ '/ BACA DATA BARANG '/--------------------------------------/ If RS.HasRows Then 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() CMD.Dispose() End Sub '/ tutup table '/ apakah datanya ada

Procedure untuk mengambil data di listview dan di TAMPILKAN ke form transaksi Sub

AMBIL_DATA_BARANG()
modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

'/------------------------------------------------/ '/ AMBIL DATA LISTVIEW '/------------------------------------------------/


P a g e | 239

| IndraES | 0857.73.59.59.69 | Imut | Manis | Keren | Ganteng | Penyayang | Sabar |Cool | Lucu | Lincah |

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 .TextBox4.Text = Me.ListView1.FocusedItem.SubItems(1).Text .TextBox5.Text = Me.ListView1.FocusedItem.SubItems(2).Text End With End Sub

'/kode '/nama '/harga

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()

P a g e | 240

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 |

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. Then Call AMBIL_DATA_BARANG() Me.Close() End If

Enter

P a g e | 241

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 |

REPORT

P a g e | 242

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 |

FORM CRYSTAL REPORT PREVIEW

Ini adalah CrystalReportViewer1

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

P a g e | 243

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 |

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)

P a g e | 244

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 |

Design Report

CETAK BON SERVICE:

Report menggunakan GROUP: field SERVICE.No_Service KONEKSI dengan ODBC

P a g e | 245

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 |

>> klik OK

>> klik Create New Connection + ODBC + Make New Connection >> klik Next

P a g e | 246

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 |

>> pilih nama ODBC nya, >>klik Next

>> Kosongkan USER, PASSWORD,CEK Trusted COnnection>> klik Next

P a g e | 247

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 |

>> Nama table muncul, AMBIL table2 untuk report, >>Klik Next

>> Klik NExt

P a g e | 248

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 |

Service.Subtotal_service Service.Discount

>> Pilih field untuk report >> Next

>> Next

P a g e | 249

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 |

FINISH

P a g e | 250

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 |

Bikin GROUP

Pilih

SERVICE. NO_SERVICE

P a g e | 251

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 |

REPORT jadi tambah ruang baru, yaitu : GROUP

P a g e | 252

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 |

Design lah report sbb:

P a g e | 253

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 | 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 |

MEMBUAT LAPORAN
TRANSAKSI harian
(menggunakan 2 tanggal range- ) Format report menggunakan Laporan bon

CODE: Code:

TOMBOL REPORT - Click


/--Nama form preview /--Nama crystal report NYAMBUNG

Dim AA As New Form3 Dim Laporan As New CrystalReport1

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()

P a g e | 256

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 |

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

P a g e | 257

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 | 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 |

Alhamdulillah
Selesai Modul ini untuk programmer pemula yang sedang belajar dengan gigih dan kerja kerasssssssssssssss Salam dari ane

Indra E Sanjaya Afgan

P a g e | 259

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 | 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 |

NIKAH yuuukk... jangan PACARAN..

P a g e | 261

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 |

Yang sudah BEKERJA.. segeralah MENIKAH.. jangan Pacaran

P a g e | 262

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 |

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..

P a g e | 263

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 |

Jangan lupa SHOLAT kepada ALLAH SWT

Jangan lupa untuk MEMBACA AL-QURAN setiap hari, 1 ayat saja mudahkan

P a g e | 264

modul belajar sendiri VBNet oleh Indra Afgan update 25-Maret-2012

You might also like