Skip to main content

Memuat Nilai Default dari Tabel Database Back-end ke Form di Front-End

Untuk memuat nilai default dari field yang ada di tabel database back-end ke control dari form di front-end, kita dapat membuat fungsi yang sederhana. Berikut ini adalah fungsinya.
Nilai default pada field tabel di database back-end diisi 000, nilai default pada kontrol juga akan menjadi 000.

  1. Function memuatNilaiDefault(frm As Form, strSql As String)  
  2.   Dim rs As DAO.Recordset  
  3.   Dim fld As DAO.Field  
  4.   Dim ctl As Control  
  5.   Dim strDefaultValue As String  
  6.     
  7. On Error GoTo Err_Msg   
  8.   Set rs = membukaRecordset(strSql, True)  
  9.   With frm  
  10.     For Each ctl In .Controls  
  11.       For Each fld In rs.Fields  
  12.         If fld.Name = ctl.Name Then  
  13.           strDefaultValue = arrayTampilkanPropertiField(fld.Name, fld.SourceTable, prpDefaultValue)  
  14.           ctl.DefaultValue = strDefaultValue  
  15.         End If  
  16.       Next fld  
  17.     Next ctl  
  18.   End With  
  19. Exit_Function:  
  20.   rs.Close  
  21.   Set rs = Nothing  
  22.   Exit Function  
  23. Err_Msg:  
  24.   MsgBox "Function memuatNilaiDefault, Error # " & str(Err.number) & ", source: " & Err.Source & _  
  25.   Chr(13) & Err.Description  
  26.   Resume Exit_Function  
  27. End Function  
Fungsi yang terlibat:
  1. membukaRecordset
  2. arrayTampilkanPropertiField
Ada dua parameter yang harus diisi:
  1. frm, merupakan form yang nilai default dari kontrolnya ingin ditampilkan
  2. strSql, adalah sumber nama tabel yang nilai default dari setiap fieldnya ingin ditampilkan di setiap kontrol yang ada di form frm.
Fungsi memuatNilaiDefault akan memetakan secara tepat, dengan mencari persamaan di antara nama kontrol yang ada di form frm dengan nama field yang ada di tabel strSql. Bila pemetaan nama kontrol dan field berhasil dilakukan, selanjutnya, kode VBA di atas akan memuat nilai default dari setiap field ke form.
Nilai default pada field tabel di database back-end diubah menjadi 999, nilai default pada kontrol juga akan berubah
Untuk mengaplikasikan fungsi di atas ke dalam sebuah form, caranya sangat mudah. Kita hanya perlu membuat form kosong tanpa menggunakan record source pada properti form Record Source (unbound record source) dan tanpa menggunakan control source pada properti setiap kontrol yang berhubungan dengan field sebuah tabel (unbound control source). Cara pembuatannya dapat dibaca di Memuat Properti Field Tabel ke Dalam Properti Control di Form di Access.

Setelah selesai membuat form kosong (frm) dengan nama kontrol yang sama dengan nama field pada tabel (strSql), pada properti On Open dari form, isikan kode berikut ini:
  1. Private Sub Form_Open(Cancel As Integer)  
  2.   membukaDbs  
  3.   memuatNilaiDefault Me"tblRekUtama"  
  4. End Sub  
Bila menggunakan database back-end, pastikan bahwa database back-end harus sudah dibuka terlebih dahulu dengan menggunakan fungsi membukaDbs, seperti di atas.

Keuntungan dengan menggunakan fungsi ini, setiap kali nilai default yang ada di field tabel strSQL diubah, maka fungsi memuatNilaiDefault akan memuat nilai default ke dalam kontrol yang ada di form frm. Jadi kita tidak perlu menulis ulang di setiap properti Default Value pada kontrol yang terkait dengan field tabel.

Comments

Posting Terpopuler

Cara Mengatur dan Menggunakan ODBC untuk Mengakses Data Eksternal

Fungsi Untuk Membuka Database di Access VBA

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access