transaksionetomany

15
Materi Visual Basic II (Database Mysql) – Lab F Sore By. DCP Ijay Kiki Page 1 Sesutau Yang sulit Itu Akan Terasa Mudah Jika Kita Mau Mempelajari & Memahaminya….. Seperti Magic yg Tidak Pernah Terfikirkan Oleh Mu Akan Mengalir apa adanya Jika Kita Mengerti Apa yg Kita Lakukan Dan Pelajari…. Belajarlah Memahami Diri Sendiri, Apa yang dibutuhkan Oleh Diri mu Sendiri …

Upload: duwi-cahya-putri-buani

Post on 30-Oct-2014

201 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

By. DCP Ijay Kiki Page 1

Sesutau Yang sulit Itu Akan Terasa Mudah Jika Kita Mau

Mempelajari & Memahaminya…..

Seperti Magic yg Tidak Pernah Terfikirkan Oleh Mu Akan

Mengalir apa adanya Jika Kita Mengerti Apa yg Kita Lakukan

Dan Pelajari….

Belajarlah Memahami Diri Sendiri, Apa yang dibutuhkan

Oleh Diri mu Sendiri …

Page 2: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Table Barang

Field Name Type Data Size KeteranganKode_Barang Char 5 PKNama_Barang Varchar 25Harga_Barang DoubleStok Int

Table Transaksi

Table Detail

Field Name Type Data Size KeteranganNoTransaksi Char 8KodeBarang Char 5Qty IntSubtotal Double

Table Sem

Buat Form Barang

Coding :Di Modul :Public dbpenjualan As New ADODB.ConnectionPublic rsbarang As New ADODB.RecordsetPublic rssem As New ADODB.RecordsetPublic rsdetail As New ADODB.RecordsetPublic rstransaksi As ADODB.Recordset

Public Sub koneksi()dbpenjualan.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Penjualan"dbpenjualan.OpenEnd Sub

By. DCP Ijay Kiki Page 2

NoTransaksi TypeData Size KeteranganNoTransaksi Char 8 PKTglTransaksi Varchar DateTotalBayar Double

Field Name Type Data Size KeteranganKodeBarang Char 5NamaBarang Varchar 25HargaBarang DoubleQty IntSubtotal Double

Page 3: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Dim simpandata As BooleanSub bersih() For Each x In Me If TypeName(x) = "TextBox" Then x.Text = "" NextEnd Sub

Function aktif(pakai As Boolean) For Each x In Me If TypeName(x) = "TextBox" Then x.Enabled = pakai NextEnd Function

Function tombol(tambah, simpan, batal, ubah, hapus, keluar As Boolean) cmdadd.Enabled = tambah cmdsave.Enabled = simpan cmdcancel.Enabled = batal cmdedit.Enabled = ubah cmddelete.Enabled = hapus cmdclose.Enabled = keluarEnd Function

Sub nomor()sqlbarang = "select * from barang order by Kode_Barang desc"Set rsbarang = dbpenjualan.Execute(sqlbarang, , adCmdText) If rsbarang.BOF And rsbarang.EOF Then txtkode.Text = Format("B") & "0001"

Else rsbarang.MoveFirst txtkode.Text = Format("B") & Format(Val(Right(rsbarang!Kode_Barang, 4)) + 1, "0000") End IfEnd Sub

Sub tampil()txtkode.Text = rsbarang.Fields("Kode_Barang")txtnama.Text = rsbarang.Fields("Nama_Barang")txtharga.Text = rsbarang.Fields("Harga_Barang")txtstok.Text = rsbarang.Fields("Stok")End Sub

Sub isigrid()sqlbarang = "select * from barang order by Kode_Barang asc"Set rsbarang = dbpenjualan.Execute(sqlbarang, , adCmdText)Set Grid1.DataSource = rsbarangGrid1.RefreshEnd Sub

Private Sub cmdadd_Click() simpandata = True nomor tombol False, True, True, False, False, False txtkode.Enabled = False aktif TrueEnd Sub

By. DCP Ijay Kiki Page 3

Page 4: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Private Sub cmdcancel_Click() tombol True, False, False, True, True, True aktif False bersih txtcari.Enabled = TrueEnd Sub

Private Sub cmdclose_Click() Unload MeEnd Sub

Private Sub cmddelete_Click()sqlbarang = "delete from barang where Kode_Barang='" & txtkode.Text & "'"tanya = MsgBox("Yakin Data Akan Di Hapus", vbQuestion + vbYesNo)If tanya = vbYes Then dbpenjualan.Execute sqlbarang MsgBox "Data Berhasil Di Hapus" isigridEnd IfEnd Sub

Private Sub cmdedit_Click() simpandata = False tombol False, True, True, False, False, False txtkode.Enabled = False aktif TrueEnd Sub

Private Sub cmdsave_Click()If simpandata = True Then sqlbarang = "insert into barang values('" & txtkode.Text & "','" & txtnama.Text & "','" & txtharga.Text & "','" & txtstok.Text & "')" dbpenjualan.Execute sqlbarangElse sqlbarang = "update barang set Nama_Barang='" & txtnama.Text & "',Harga_Barang='" & txtharga.Text & "',Stok='" & txtstok.Text & "' where Kode_Barang='" & txtkode.Text & "'" dbpenjualan.Execute sqlbarangEnd Ifisigridtombol True, False, False, True, True, Trueaktif Falsebersihtxtcari.Enabled = TrueEnd Sub

Private Sub Form_Load() Call koneksi isigrid tombol True, False, False, True, True, True aktif False bersih txtcari.Enabled = TrueEnd Sub

By. DCP Ijay Kiki Page 4

Page 5: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Private Sub txtcari_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then sqlbarang = "select * from barang where kode_barang='" & txtcari.Text & "'" Set rsbarang = dbpenjualan.Execute(sqlbarang, , adCmdText) If rsbarang.EOF And rsbarang.BOF Then MsgBox "Data Tidak Di Temukan" Else tampil End IfEnd IfEnd Sub

Buat Form Transaksi Seperti Gambar Berikut Di Dalam Projek Penjualan yg Telah Di Buat.

Sub nomor()sqltransaksi = "SELECT * FROM transaksi ORDER BY NoTransaksi desc"Set rstransaksi = dbpenjualan.Execute(sqltransaksi, , adCmdText) If rstransaksi.BOF And rstransaksi.EOF Then txtnotrans.Text = Format(Date, "ddmm") & "0001" Else rstransaksi.MoveFirst txtnotrans.Text = Format(Date, "ddmm") & Format(Val(Right(rstransaksi!NoTransaksi, 4)) + 1, "0000")

End IfEnd Sub

Function tombol(tambah, simpan, batal, keluar, brg, ubay, qty As Boolean) cmdadd.Enabled = tambah cmdsave.Enabled = simpan cmdcancel.Enabled = batal cmdexit.Enabled = keluar cmbbrg.Enabled = brg txtqty.Enabled = qty txtubay.Enabled = ubayEnd Function

Sub tdkaktif()For Each X In Me If TypeName(X) = "TextBox" Or TypeName(X) = "ComboBox" Then

X.Enabled = False end if

By. DCP Ijay Kiki Page 5

Page 6: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

NextEnd Sub

Sub bersih()For Each X In MeIf TypeName(X) = "TextBox" Or TypeName(X) = "ComboBox" Then X.Text = ""end ifNextEnd Sub

Sub simpan()tgl = Format(Date, "yyyy-mm-dd")sqlsem = "select * from sem"Set rssem = dbpenjualan.Execute(sqlsem, , adCmdText)If rssem.RecordCount <> 0 Then rssem.MoveFirst While Not rssem.EOF sqldetail = "insert into detail values('" & txtnotrans.Text & "','" & rssem!kodebarang & "','" & rssem!qty & "','" & rssem!subtotal & "')" dbpenjualan.Execute sqldetail sqlhapussem = "delete from sem" dbpenjualan.Execute sqlhapussem rssem.MoveNext WendisigridEnd Ifsqltransaksi = "insert into transaksi values('" & txtnotrans.Text & "','" & tgl & "','" & Me.txttobay.Text & "')"

dbpenjualan.Execute sqltransaksiEnd Sub

Sub tampil()txtnmbrg.Text = rsbarang.Fields("Nama_Barang")txthrgbrg.Text = rsbarang.Fields("Harga_Barang")End Sub

Sub isigrid()sqlsem = "select * from sem "Set rssem = dbpenjualan.Execute(sqlsem, , adCmdText)Set grid1.DataSource = rssemgrid1.RefreshEnd Sub

Sub kode()sqlbarang = "select * from barang order by Kode_Barang asc"Set rsbarang = dbpenjualan.Execute(sqlbarang, , adCmdText)If rsbarang.RecordCount = 0 Then MsgBox "Ricord Kosong"Else rsbarang.MoveFirstWhile Not rsbarang.EOFcmbbrg.AddItem rsbarang.Fields("Kode_Barang") rsbarang.MoveNextWendEnd IfEnd Sub

By. DCP Ijay Kiki Page 6

Page 7: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Private Sub cmbbrg_Click()sqlbarang = "select * from barang where kode_barang='" & cmbbrg.Text & "'"Set rsbarang = dbpenjualan.Execute(sqlbarang, , adCmdText)tampilEnd Sub

Private Sub cmdadd_Click() kode nomor tombol False, True, True, True, True, True, True txttgl.Text = Format(Date, "dd-mmm-yyyy")End Sub

Private Sub cmdcancel_Click() tdkaktif tombol True, False, False, True, False, False, False bersihEnd Sub

Private Sub cmdexit_Click() Unload MeEnd Sub

Private Sub cmdsave_Click() simpan tdkaktif tombol True, False, False, True, False, False, False bersihEnd Sub

Private Sub Form_Load() bersih Call koneksi isigrid tdkaktif tombol True, False, False, True, False, False, FalseEnd Sub

Private Sub txtqty_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then caribrg = "select * from barang where Kode_Barang='" & cmbbrg.Text & "'"Set rsbarang = dbpenjualan.Execute(caribrg, , adCmdText) If rsbarang!stok > 0 Then 'Menyimpan Ke Table Sem subttl = Val(txthrgbrg.Text) * Val(txtqty.Text) sqlsem = "insert into sem values('" & cmbbrg.Text & "', '" & txtnmbrg.Text & "','" & txthrgbrg.Text & "','" & txtqty.Text & "','" & subttl & "')"Set rssem = dbpenjualan.Execute(sqlsem, , adCmdText) txttobay.Text = subttl + Val(txttobay.Text) isigrid 'Pengurangan Stok Barang Di Table Barang stok = Val(rsbarang.Fields("Stok")) - Val(txtqty.Text) updatebarang = "update barang set stok='" & stok & "' where Kode_Barang='" & cmbbrg.Text & "'" Set rsbarang = dbpenjualan.Execute(updatebarang, , adCmdText) a = MsgBox("Input Data Lagi?", vbQuestion + vbYesNo) If a = vbYes Then cmbbrg.Text = ""

By. DCP Ijay Kiki Page 7

Page 8: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

txtnmbrg.Text = "" txthrgbrg.Text = "" txtqty.Text = "" Else tdkaktif cmdsave.SetFocus End If

Else MsgBox "Stok Kurang"End IfEnd IfEnd Sub

By. DCP Ijay Kiki Page 8

Page 9: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Cara Koneksi Menggunakan MySQLSoftwere yang di Bautuhkan : MysqlConnector 3.5.1

Langka PertamaKlik Star Pilih Control Panel Administrative Tools DataSource (OdBc).

Seperti Gambar Berikut :

Klik Control Panel, Akan Tampil Gambar.

Akan Tampil Gambar Berikut :

By. DCP Ijay Kiki Page 9

Klik Administrative Tools

Klik Data Source (ODBC)

Page 10: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Akan Tampil Gambar Berikut :

Akan Tampil Gambar Berikut

Akan Tampil Gambar Berikut :

By. DCP Ijay Kiki Page 10

Klik Add

Double Klik Mysql ODBC 3.51 Driver

Isikan Data :

Data Source Nama : Nama Connector *Bebas

Server : localhostUser :rootPasswore : password *Jika Menggunakan Apache2Triad Dan Ada Passwordnya JIka Tdk Ada Passwor Tdk Perlu Di Isi.Database : Pilih Dengan Database yg Akan Di Pakai

Finish Untuk Pembuatan Connector Next Back To Project Penjualan yg Sudah Di Buat Sebelumnya

Page 11: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Langkah PertamaTambahkan Commponent Bari Dengan Menekan Tombol Ctrl + TAkan Tampil Gambar Berikut :

Check List Componen yang akan di tambahkan yaitu1. Microsot Ado Data Control 6.0 (OLEDB)2. Microsoft Herachial FlexGrid Control 6.0(OLDB)

Setelah Di Tambahkan, Maka Kedua Komponen Tersebut akan tampil di dalam Tools Box, Selanjutnya Tambahkan Kedua Object Tersebut Kedalam Form.

Langkah Ke dua Adalah Koneksi.Klik Kana Di Adodc1 yang tadi sudah di tambahkan kedalam form Pilih ADODC Propeties.Akan Tampil Gambar Berikut :

By. DCP Ijay Kiki Page 11

Langkah Penulisan Connection Di Dalam Visual Basic

Klik Bulid

Page 12: TransaksiOneToMany

Materi Visual Basic II (Database Mysql) – Lab F Sore

Maka Akan Tampil Gambar Berikut :

Akan Tampil Gambar Berikut :

Akan Tampil Gambar Berikut :

Tambahkan 1 Buah Modul Dengan CaraKlik Project Di Menubar Pilih Modul Klik Open

Finish

By. DCP Ijay Kiki Page 12

Pilih & Klik Microsoft OLE DB Provider For ODBC Driver KLik Next

Plih Nama Conector yg Sudah Anda Buat Yaitu : Penjualan_12073353

Klik OK

Copy Ini Klik Ok

Paste Di Disini . .