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 FunctionFungsi 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 SubBila 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