&& 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