transaksionetomany
TRANSCRIPT
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 …
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
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
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
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
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
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
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
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)
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
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
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 . .