Skip to main content

Fungsi Menampilkan Satu Record Dalam Aplikasi Database Back-end dan Front-end

Fungsi berikut ini digunakan untuk menampilkan satu record dengan primary key tertentu sebagai kriterianya. Untuk menampilkan satu record, kita bisa membuat fungsi menampilkanSatuRecord seperti berikut ini.

Dalam sebuah jaringan yang melibatkan banyak pengguna dalam mengakses database back-end yang sama, fungsi menampilkanSatuRecord dapat meningkatkan kecepatan mengakses data. Pengguna hanya perlu memasukkan nilai kriteria yang dibutuhkan, aplikasi front-end kemudian mengirimkan perintah ke back-end untuk memilih record sesuai dengan kriteria ini. Selanjutnya, front-end kemudian menampilkannya.

Berikut adalah fungsi menampilkanSatuRecord.
Function menampilkanSatuRecord(frm As Form, strSql As String, Optional boolEdit As Boolean = False)
  Dim rs As DAO.Recordset
  Dim fld As Field
  Dim ctl As Control
  
On Error GoTo Err_Msg
  If Not cekDbsTerbuka Then membukaDbs
  
  If boolEdit Then Set rs = membukaRecordset(strSql, True) Else Set rs = membukaRecordset(strSql)
  With frm
    For Each ctl In .Controls
      For Each fld In rs.Fields
        If fld.Name = ctl.Name And fld.Type <> DB_OLE Then
          .Controls(fld.Name).Value = fld.Value
        End If
      Next fld
    Next ctl
  
  End With

Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function menampilkanSatuRecord, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.description
  Resume Exit_Function
  
End Function
Fungsi menampilkanSatuRecord cocok digunakan pada lingkungan database front-end. Kita menggunakan fungsi itu untuk menampilkan record yang sesuai dengan kriteria tertentu. Setelah record ditampilkan, kelak kita bisa melakukan pembaharuan maupun penghapusan record.
Ada tiga fungsi lain yang terlibat dalam fungsi ini:
  1. cekDbsTerbuka, memeriksa apakah database back-end dalam keadaan sudah terbuka atau belum.
  2. membukaDbs, bila database back-end masih belum terbuka, maka fungsi ini akan membuka database back-end
  3. membukaRecordset, membuka recordset (yang sesuai dengan kriteria tertentu)
Untuk mengaplikasikan fungsi menampilkanSatuRecord, ikuti cara di bawah ini:
  1. Buatlah form seperti dijelaskan di Memuat Properti Field Tabel ke Dalam Properti Control di Form di Access.
  2. Di bagian atas dari control Kode Rekening, sisipkan beberapa control berikut ini:
    1. Text box dengan label menempel:
      1. Name=txtKriteria
      2. Caption untuk label=Masukkan Kode Rekening
    2. Command Button (Form Control):
      1. Name=cmdTampilkan
    3. Text box tanpa label:
      1. Name=txtInfo
  3. Hasil akhir seperti gambar di bawah ini:
  4. Atur properti form untuk event Time Interval=4000 (sama dengan 4 detik)
Pada modul form (class module) isikan kode VBA berikut ini:
Option Compare Database
Private Const strNamaTabel = "tblRekUtama"
Private Const strPrimaryKey = "KodeRek"

Private Sub cmdTampilkan_Click()
  Dim strKriteria As Variant
  Dim strSql As String
  
  strKriteria = membuatKriteriaString(strPrimaryKey, strNamaTabel, Me.txtKriteria)
  strSql = "SELECT * FROM " & strNamaTabel & " WHERE " & strKriteria
  If adaNilaiField(strPrimaryKey, strNamaTabel, CStr(Me.txtKriteria)) Then
    menampilkanSatuRecord Me, strSql
  Else
    Me.txtInfo = "Tidak ditemukan, Kode Rekening: " & Me.txtKriteria
  End If
End Sub

Private Sub Form_Open(Cancel As Integer)
  If Not cekDbsTerbuka Then membukaDbs
End Sub
Private Sub Form_Timer()
  If Me.txtInfo <> "" Then Me.txtInfo = ""
End Sub
Bila form dibuka dengan mode Form View, hasilnya seperti animasi berikut ini:
 Animasi di atas merupakan hasil pemisahan database back-end dengan front-end. Form frmRekUtama merupakan front-end, sedangkan isi record seperti kode rekening 111 dan 112 di simpan di database back-end.

Dengan cara ini, Access hanya akan menampilkan record yang diperlukan saja. Front-end, melalui perintah Masukkan Kode Rekening mengirimkan permintaan ke database back-end untuk menampilkan kode rekening yang diminta. Bila kode rekening tidak ada, maka akan muncul pesan Tidak ditemukan, Kode Rekening: xxx. Sebaliknya, bila ada kode rekening, maka akan record dengan kode rekening yang dimaksud akan ditampilkan, seperti kode rekening 111 dan 112.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access