Rabu, 24 Maret 2010

form Buku dalam VB

Imports System.Data
Imports System.Data.OleDb
Public Class FrmBuku
Dim MyCon As New Koneksi
Dim MyProc As New ProsesRec
Private Sub BacaRec(ByVal KataSQL As String, ByVal KataDtSet As String)
objDtTbl.Clear()
StrSQL = KataSQL
objCmd = New OleDbCommand
objCmd.Connection = MyCon.open
objCmd.CommandType = CommandType.Text
objCmd.CommandText = StrSQL
objDtAdp = New OleDbDataAdapter(objCmd)
objDtAdp.Fill(objDtSet, KataDtSet)
MyCon.close()
objDtTbl = objDtSet.Tables(KataDtSet)
End Sub
Private Sub Blank()
Dim urut As Integer
Dim kode As String
'-------- Mengosongkan Text Box --------
TxtJudul.Text = ""
TxtKarang.Text = ""
TxtTerbit.Text = ""
'------- Mengisi kode -> AutoIncrement -----
BacaRec("select * from buku order by kode_buku desc", "buku")
If objDtTbl.Rows.Count = 0 Then
TxtKode.Text = "B0001"
Else
kode = objDtTbl.Rows(0).Item(0)
urut = Val(Microsoft.VisualBasic.Right(kode, 4))
urut += 1
If urut < 10 Then
TxtKode.Text = "B000" & urut
ElseIf urut < 100 Then
TxtKode.Text = "B00" & urut
ElseIf urut < 1000 Then
TxtKode.Text = "B0" & urut
Else
TxtKode.Text = "B" & urut
End If
End If
'-------- Meletakkan Kursor di Judul
TxtJudul.Select()
End Sub
Private Sub Tampil()
Dim i As Integer
BacaRec("select * from buku", "buku")
DG1.Columns.Clear()
DG1.Columns.Add(0, "Kode Buku")
DG1.Columns(0).Width = 150
DG1.Columns.Add(1, "Judul")
DG1.Columns.Add(2, "Pengarang")
DG1.Columns.Add(3, "Penerbit")
For i = 0 To objDtTbl.Rows.Count - 1
DG1.Rows.Add()
DG1.Rows(i).Cells(0).Value = objDtTbl.Rows(i).Item(0)
DG1.Rows(i).Cells(1).Value = objDtTbl.Rows(i).Item(1)
DG1.Rows(i).Cells(2).Value = objDtTbl.Rows(i).Item(2)
DG1.Rows(i).Cells(3).Value = objDtTbl.Rows(i).Item(3)
Next
DG1.AlternatingRowsDefaultCellStyle.BackColor = Color.Lavender
'DG1.DataSource = objDtTbl
End Sub

Private Sub FrmBuku_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Blank()
Tampil()
End Sub

Private Sub FrmBuku_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub TxtJudul_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtJudul.KeyPress
'jika ditekan enter maka
'kursor ke pengarang
If e.KeyChar = Chr(13) Then
TxtKarang.Select()
End If
End Sub

Private Sub TxtKarang_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtKarang.KeyPress
If e.KeyChar = Chr(13) Then
TxtTerbit.Select()
End If
'TxtCoba.Text = Asc(e.KeyChar)
End Sub

Private Sub TxtTerbit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtTerbit.TextChanged

End Sub

Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click
MyProc.InsertBuku(TxtKode.Text, TxtJudul.Text, TxtKarang.Text, TxtTerbit.Text)
Blank()
Tampil()
End Sub

Private Sub CmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCancel.Click
Blank()
Tampil()
End Sub

Private Sub CmdTampil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTampil.Click
Me.Close()
End Sub

Private Sub CmdEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdEdit.Click
Dim Kode As String
If CmdEdit.Text = "Edit" Then
Kode = InputBox("Masukkan Kode Buku Yang Ingin Anda Edit", "Edit Buku")
BacaRec("select * from buku where kode_buku='" & Kode & "'", "caribuku")
If objDtTbl.Rows.Count > 0 Then
TxtKode.Text = objDtTbl.Rows(0).Item(0)
TxtJudul.Text = objDtTbl.Rows(0).Item(1)
TxtKarang.Text = objDtTbl.Rows(0).Item(2)
TxtTerbit.Text = objDtTbl.Rows(0).Item(3)
End If
CmdEdit.Text = "Koreksi"
Else
MyProc.UpdateBuku(TxtKode.Text, TxtJudul.Text, TxtKarang.Text, TxtTerbit.Text)
Blank()
Tampil()
CmdEdit.Text = "Edit"
End If
End Sub
End Class