Untitled

 avatar
unknown
plain_text
9 months ago
3.6 kB
7
Indexable
Public rsKaryawan As New ADODB.Recordset





Private Sub Form_Load()
    Pilih_Tabel_Karyawan
    Tampil_Tabel_Karyawan
    Text_Alamat_Karyawan = ""
    Text_Gaji_Karyawan = ""
    Text_Jabatan_Karyawan = ""
    Text_Kode_Karyawan = ""
    Text_Nama_Karyawan = ""
    
    
End Sub
Sub Pilih_Tabel_Karyawan()
On Error GoTo ErrorHandler
QKaryawan = "SELECT * FROM Tabel_Karyawan"
'Pastikan koneksi terbuka
If koneksi.State = adStateClosed Then
Koneksi_DB
End If
'Tutup recordset jika terbuka
If rsKaryawan.State = adStateOpen Then
rsKaryawan.Close
End If
'Buka recordset
rsKaryawan.Open QKaryawan, koneksi, adOpenDynamic, adLockOptimistic
Exit Sub
ErrorHandler:
MsgBox "Error: " & Err.Description
End Sub
Sub Tampil_Tabel_Karyawan()
Set DataGrid1.DataSource = rsKaryawan
End Sub


Private Sub Hapus_Karyawan_Click()
'menghapusdata di datagrid
    If MsgBox("Apakah data akan dihapus?)", vbYesNo) = vbYes Then
    rsKaryawan.Delete
    End If
End Sub

Private Sub Simpan_Karyawan_Click()
'Menyimpan Data dari text box ke datagrid
 If MsgBox("Apakah Data Akan Disimpan?", vbYesNo) = vbYes Then
    'Data berasal dari nama dari setiap Text Box
        Simpan_Tabel_Karyawan Text_Kode_Karyawan.Text, Text_Nama_Karyawan.Text, Text_Alamat_Karyawan.Text, Text_Jabatan_Karyawan.Text, Text_Gaji_Karyawan.Text
        MsgBox "Data Berhasil Disimpan", vbOKOnly, "Informasi"
    End If
    rsKaryawan.Sort = DataGrid1.Columns(0).DataField
End Sub
'kd, nm, al, jb, dan gj merupakan variabel (tidak berdasar data)
Sub Simpan_Tabel_Karyawan(kd As String, nm As String, al As String, jb As String, gj As String)
    Dim QSimpan As String
'Tabel_Karyawan merupakan nama tabel yang terdapat pada access
' ID, Nama, Alamat, Jabatan, dan Gaji merupakan nama setiap kolom berdasarkan pada access
    QSimpan = "INSERT INTO Tabel_Karyawan(ID, Nama, Alamat, Jabatan, Gaji) VALUES('" & kd & "', '" & nm & "', '" & al & "', '" & jb & "', '" & gj & "')"
    koneksi.Execute QSimpan
    rsKaryawan.Requery
End Sub


Function Tampil_DataKaryawan(Field)
    Tampil_DataKaryawan = rsKaryawan(Field)
End Function
'menampilkan datagrid ke text box
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    Text_Kode_Karyawan = Tampil_DataKaryawan(0)
    Text_Nama_Karyawan = Tampil_DataKaryawan(1)
    Text_Alamat_Karyawan = Tampil_DataKaryawan(2)
    Text_Jabatan_Karyawan = Tampil_DataKaryawan(3)
    Text_Gaji_Karyawan = Tampil_DataKaryawan(4)
End Sub

Private Sub Ubah_Tabel_Karyawan_Click()
'Memastikan Semua Field Tidak Kosong (Optional)
    If Text_Kode_Karyawan.Text = "" Or Text_Nama_Karyawan.Text = "" Or Text_Alamat_Karyawan.Text = "" Or Text_Jabatan_Karyawan.Text = "" Or Text_Gaji_Karyawan.Text = "" Then
    MsgBox "Semua Field Harus Diisi", vbExclamation
    Exit Sub
    End If
    
    Ubah_Data Text_Kode_Karyawan.Text, Text_Nama_Karyawan.Text, Text_Alamat_Karyawan.Text, Text_Jabatan_Karyawan.Text, Text_Gaji_Karyawan.Text
    MsgBox "Data Berhasil Diperbarui", vbOKOnly
End Sub

Sub Ubah_Data(kd, nm, al, jb, gj)
'Escape Tanda Petiik Tunggal Dalam nilai String
    nm = Replace(nm, "'", "''")
    al = Replace(al, "'", "''")
    jb = Replace(jb, "'", "''")
    QUbah = "UPDATE Tabel_Karyawan SET Nama='" & nm & "',Alamat='" & al & "',Jabatan='" & jb & "',Gaji='" & gj & "' Where ID ='" & kd & "'"
    
'Jalankan Query
    On Error GoTo ErrorHandler
    koneksi.Execute QUbah
    rsKaryawan.Requery
    Exit Sub
    
ErrorHandler:
    MsgBox "Error:" & Err.Description

End Sub
Editor is loading...
Leave a Comment