&& Form Data Operator Metode Adodb &&
&& Modul
&&
Public koneksi As New ADODB.Connection
Public rsoperator As New ADODB.Recordset
Sub buka_koneksi()
koneksi.CursorLocation = adUseClient
koneksi.Open
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
App.Path &
"\Access\data.mdb"
End Sub
&& Koding
&&
Dim EDIT As Boolean
'edit variabel bebas, hanya ada 2 pilihan true & false
Private Sub Form_Load()
isi_status
buka_koneksi
tampildata
isilistopt
EDIT = False
End Sub
Sub isi_status()
Me.cmbstatus.Clear
Me.cmbstatus.AddItem "Kawin"
Me.cmbstatus.AddItem "Belum Kawin"
Me.cmbstatus.AddItem "Duda"
Me.cmbstatus.AddItem "Janda"
End Sub
Sub tampildata()
If
rsoperator.State = adStateClosed Then
rsoperator.Open "select*from Operator", koneksi, adOpenKeyset,
adLockOptimistic
End If
For i = 0 To 4
Me.txtopt(i).Text = rsoperator.Fields(i)
Next
'validasi jenis
kelamin
If
rsoperator.Fields("jk") = "Laki -laki" Then
Me.optjk(0).Value = True
Me.optjk(1).Value = False
Else
Me.optjk(0).Value = False
Me.optjk(1).Value = True
End If
'validasi status
Me.cmbstatus.Text
= rsoperator.Fields("sts")
Me.DTPicker1.Value
= rsoperator.Fields("tglmasuk")
If
rsoperator.Fields("foto") = "-" Then
Me.imgfoto.Picture = LoadPicture("")
Else
Me.imgfoto.Picture = LoadPicture(App.Path & "\Gambar\"
& rsoperator.Fields("foto"))
End If
End Sub
Private Sub isilistopt()
With rsoperator
.Requery 'refresh
.MoveFirst
Me.ListOperator.ListItems.Clear
While Not .EOF
Set isi =
Me.ListOperator.ListItems.Add(, , .Fields("kdopr"))
isi.SubItems(1) = .Fields("namaopr")
isi.SubItems(2) = .Fields("alamat")
isi.SubItems(3) = .Fields("kota")
.MoveNext
Wend
.MoveFirst
End With
End Sub
Private Sub Command4_Click(Index As Integer) ‘tombol navigator
With rsoperator
Select Case Index
Case 0
.MoveFirst
Case 1
.MovePrevious
If
.BOF Then
.MoveFirst
End If
Case 2
.MoveNext
If
.EOF Then
.MoveLast
End If
Case 3
.MoveLast
End Select
tampildata
End With
End Sub
Private Sub Command1_Click(Index As Integer) 'operasi
Select Case Index
Case 0 'tambah
tekskosong
kodeotomatis
Me.txtopt(1).SetFocus
Case 1 'simpan
simpandata
'Me.Command1(0).SetFocus
'tambah
Me.txtopt(0).Enabled = True
rsoperator.MoveFirst
tampildata
EDIT =
False
Case 2 'edit
Me.txtopt(0).Enabled = False
SendKeys
"{home}+{end}"
Me.txtopt(1).SetFocus
EDIT =
True
Case 3 'hapus
caridatA$
= InputBox("Masukkan Kode Operator", "Hapus Data",
"Opr-00000")
With
rsoperator
.MoveFirst
.Find "kdopr='" & caridatA$ & "'"
If Not
.EOF Then
tampildata
If
MsgBox("Apakah data akan di hapus..?", vbQuestion + vbYesNo) = vbYes
Then
.Delete adAffectCurrent
.MoveFirst
tampildata
MsgBox "Data berhasil dihapus...."
End If
Else
MsgBox "Kode tersebut belum terdaftar"
End If
.Requery
isilistopt
End With
Case 4 'batal
If Not
rsoperator.EOF Then rsoperator.MoveFirst
Me.txtopt(0).Enabled = True
tampildata
End Select
End Sub
Sub kodeotomatis()
With rsoperator
If .State = 0
Then .Open
If Not .EOF
Then .MoveLast
If
.RecordCount = 0 Then
Me.txtopt(0).Text = "Opr-000001"
Else
Me.txtopt(0).Text = "Opr-" + Right("000000" +
Trim(Str(Val(Right(.Fields(0), 6)) + 1)), 6)
End If
End With
End Sub
Sub tekskosong()
For i = 0 To
Me.txtopt.UBound
Me.txtopt(i).Text = ""
Next
Me.optjk(0).Value
= False
Me.optjk(1).Value
= False
Me.imgfoto.Picture
= LoadPicture("")
End Sub
Private Sub Label1_Click() ‘cari
gambar
With
Me.CommonDialog1
.DialogTitle =
"Cari Gambar"
.ShowOpen
Me.imgfoto.Picture = LoadPicture(.FileName)
End With
End Sub
Sub tutupoperator()
rsoperator.Close
Set rsoperator =
Nothing
End Sub
Sub simpandata()
With rsoperator
If EDIT = False
Then
.AddNew
End If
For i = 0
To 4
.Fields(i) = Me.txtopt(i).Text
Next
If
Me.optjk(0).Value = True Then
.Fields(5) =
"Laki-laki"
Else
.Fields(5) = "Perempuan"
End If
.Fields(6)
= Me.cmbstatus.Text
.Fields(7)
= Me.DTPicker1.Value
'simpan
nama file
If
Me.CommonDialog1.FileName = "" Then
.Fields(8) = "-"
Else
FileCopy Me.CommonDialog1.FileName, App.Path & "\Gambar\"
& Me.CommonDialog1.FileTitle
.Fields(8) = Me.CommonDialog1.FileTitle
End If
.Update
'refresh isi
list
isilistopt
End With
End Sub
Private Sub txtopt_KeyPress(Index As Integer, KeyAscii As
Integer)
If KeyAscii = 13 Then
If Index < 5
Then
SendKeys
"{tab}"
End If
End If
End Sub