Anda di halaman 1dari 7

BAB II

PEMBAHASAN
Data base PROGRAM

Listing Program DATA OBAT


Public cn As ADODB.Connection
Public rn As ADODB.Recordset
Public rs As ADODB.Recordset
Public Statusubah As Boolean

Private Sub Form_Load()


Set cn = New ADODB.Connection
cn.Provider = "microsoft.jet.oledb.4.0"
cn.CursorLocation = adUseClient
cn.Open App.Path & "\obat.mdb"
Set rs = New ADODB.Recordset
rs.Open "Select *from obat order by kode_obat asc", cn, adOpenDynamic,
adLockOptimistic
If rs.RecordCount = 0 Then
Call KondisiRecordKosong
Else
rs.MoveFirst
Call TampilkanData
Call KunciTextEditor
End If
Statusubah = False
End Sub
Private Sub Form_Activate()
Set DataGrid1.DataSource = rs
End Sub
Sub KondisiRecordKosong()
cmdsimpan.Enabled = True
cmdbaru.Caption = "Batal"
cmdpertama.Enabled = False
cmdsebelum.Enabled = False
cmdsesudah.Enabled = False
cmdterakhir.Enabled = False
cmdexit.Enabled = True
cmdubah.Enabled = False
cmdhapus.Enabled = False
kodeobat.Locked = False
namaobat.Locked = False
Jenisobat.Locked = False
satuan.Locked = False
jumlah.Locked = False
kodeobat.Text = ""
namaobat.Text = ""
Jenisobat.Text = ""
satuan.Text = ""
jumlah.Text = ""
End Sub

Sub TampilkanData()
kodeobat.Text = rs.Fields("kode_obat")
namaobat.Text = rs.Fields("nama_obat")
Jenisobat.Text = rs.Fields("jenis_obat")
satuan.Text = rs.Fields("satuan")
jumlah.Text = rs.Fields("jumlah")
kodeobat.Enabled = False
End Sub
Sub KunciTextEditor()
kodeobat.Locked = True
namaobat.Locked = True
Jenisobat.Locked = True
satuan.Locked = True
jumlah.Locked = True
End Sub
Sub BukaTextEditor()
kodeobat.Locked = False
namaobat.Locked = False
Jenisobat.Locked = False
satuan.Locked = False
jumlah.Locked = False
kodeobat.SetFocus = False
End Sub
Sub KondisiMauIsiData()
cmdsimpan.Enabled = True
cmdpertama.Enabled = False
cmdsebelum.Enabled = False
cmd.sesudah.Enabled = False
cmd.terakhir.Enabled = False
cmdbaru.Caption = "baru"
cmdexit.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
kodeobat.Text = ""
namaobat.Text = ""
Jenisobat.Text = ""
satuan.Text = ""
jumlah.Text = ""
kodeobat.Locked = False
namaobat.Locked = False
Jenisobat.Locked = False
satuan.Locked = False
jumlah.Locked = False
kodeobat.SetFocus
End Sub
Sub KondisiHanyaTampilkan()
cmdsimpan.Enabled = False
cmdpertama.Enabled = True
cmdsebelum.Enabled = True
cmd.sesudah.Enabled = True
cmd.terakhir.Enabled = True
cmdbaru.Caption = "Baru"4
cmdubah.Caption = "Ubah"
cmdexit.Enabled = True

cmdubah.Enabled = True
cmdhapus.Enabled = True
kodeobat.Locked = True
namaobat.Locked = True
Jenisobat.Locked = True
satuan.Locked = True
jumlah.Locked True
kodebarang.Enabled = False
End Sub
Sub KondisiMauUbahData()
cmdubah.Caption = "Ubah"
cmdsimpan.Enabled = True
cmdbaru.Caption = "Batal"
cmdpertama.Enabled = False
cmd.sebelum.Enabled = False
cmdsesudah.Enabled = False
cmdterakhir.Enabled = False
cmdexit.Enabled = False
cmdubah.Enabled = False
cmdhapus.Enabled = False
kodeobat.Locked = False
jumlah.Locked = False
kodeobat.Locked = False
kodeobat.Enabled = True
kodeobat.SetFocus
Statusubah = True
End Sub
Private Sub kodeobat_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
namaobat.SetFocus
End If
End Sub
Private Sub namaobat_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Jenisobat.SetFocus
End If
End Sub
Private Sub jenisobat_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
satuan.SetFocus
End If
End Sub
Private Sub satuan_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
jumlah.SetFocus
End If
End Sub
5
Private Sub jumlah_KeyPress(KeyAscii
As Integer)
If KeyAscii = 13 Then
cmdsimpan.SetFocus

End If
End Sub
Private Sub cmdpertama_Click()
If Not rs.EOF Then
rs.MoveFirst
Call TampilkanData
End If
End Sub
Private Sub cmdsebelum_click()
rs.MovePrevious
If rs.EOF Then
rs.MoveNext
End If
Call TampilkanData
End Sub
Private Sub cmdsesudah_click()
rs.MoveNetxt
If rs.EOF Then
rs.MovePrevious
End If
Call TampilkanData
End Sub
Private Sub cmdterakhir_click()
If Not rs.EOF Then
rs.MoveLast
Call TampilkanData
End If
End Sub
Private Sub cmdbaru_click()
If cmdbaru.Caption = "Baru" Then
Call KondisiMauIsiData
rs.AddNew
Else
If rs.RecordCount = 0 Then
Call KondisiRecordKosong
Else
If kodeobat.Text = "" Then
kodeobat.SetFocus
Else
rs.CancelUpdate
Call TampilkanData
Call KondisiHanyaTampilkan
End If
End If
End If
Statusubah = False
End Sub
6

Private Sub cmdsimpan_click()

If kodeobat.Text = "" Or namaobat.Text = "" Or Jenisobat.Text = "" Or satuan.Text = ""


Or jumlah.Text = "" Then
MsgBox "Isi semua data yang diberikan", vbExclamation, "Masukan Data"
Exit Sub
End If
If Statusubah = False Then
Set rs = New ADODB.Recordset
rs.Open "select * from obat", cn, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
rs.MoveFirst
rs.Find ("kode_obat = " & kodeobat.Text & "")
If Not rs.EOF Then
MsgBox "Kode Obat Telah Ada,Silahkan isi yang baru", vbInformation, "Mencari data"
rs.Close
Exit Sub
End If
End If
End If

If rs.RecordCount = 0 Then
rs.AddNew
End If
rs.Fields("kode_obat") = Trim(kodeobat.Text)
rs.Fields("nama_obat") = Trim(namaobat.Text)
rs.Fields("jenis_obat") = Trim(Jenisobat.Text)
rs.Fields("satuan") = Trim(satuan.Text)
rs.Fields("jumlah") = Trim(jumlah.Text)
rs.Update
rs.Requery
Call TampilkanData
Call KondisiHanyaTampilkan
Statusubah = False
End Sub
Private Sub cmdubah_click()
Call KondisiMauUbahData
End Sub
Private Sub cmdhapus_Click()
a = MsgBox("Data benar mau di hapus ?", vbYesNo, "Konfirmasi")
If a = vbYes Then
If rs.RecordCount <> 0 Then
rs.Delete
If rs.RecordCount = 0 Then
Call KondisiRecordKosong
Call BukaTextEditor
Else
Call cmdsebelum_click
End If
End If
Else
7
Call TampilkanData
End If
End Sub

Private Sub cmdexit_click()


rs.Close
Unload Me
End Sub
Private Sub DataGrid1_click()
Set DataGrid1.DataSource = rs
Call TampilkanData
End Sub

Anda mungkin juga menyukai