Demo image Demo image Demo image Demo image Demo image Demo image

Form Data Operator

  • Jumat, 13 April 2012

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