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.
Ada tiga fungsi lain yang terlibat dalam fungsi 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.
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:
- cekDbsTerbuka, memeriksa apakah database back-end dalam keadaan sudah terbuka atau belum.
- membukaDbs, bila database back-end masih belum terbuka, maka fungsi ini akan membuka database back-end
- membukaRecordset, membuka recordset (yang sesuai dengan kriteria tertentu)
- Buatlah form seperti dijelaskan di Memuat Properti Field Tabel ke Dalam Properti Control di Form di Access.
- Di bagian atas dari control Kode Rekening, sisipkan beberapa control berikut ini:
- Text box dengan label menempel:
- Name=txtKriteria
- Caption untuk label=Masukkan Kode Rekening
- Command Button (Form Control):
- Name=cmdTampilkan
- Text box tanpa label:
- Name=txtInfo
- Text box dengan label menempel:
- Hasil akhir seperti gambar di bawah ini:
- Atur properti form untuk event Time Interval=4000 (sama dengan 4 detik)
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
Post a Comment