Skip to main content

Menampilkan Properti Precision dan Scale pada Tipe Data Number Decimal

Satu keunikan tipe data number dengan properti field size Decimal pada MS Access adalah adanya properti Precison dan Scale. kedua properti ini tidak ditemukan pada tipe data number dengan field size yang lain, seperti Integer, Long Integer, Byte, dan sebagainya.

Pada artikel yang berjudul Mengenal Field Size Decimal Pada Tipe Data Number di MS Access, kita telah memahami bagaimana cara menampilkan angka maksimum dan minimum dari nilai yang mempunyai field size Decimal. Jika belum paham, silakan baca di posting itu.

Berbeda dengan properti field tabel lain yang bisa ditampilkan dengan menggunakan library DAO, untuk menampilkan properti Precision dan Scale pada tipe data Number field size Decimal, kita harus menggunakan library ADO. Caranya adalah sebagai berikut:

Aktifkan terlebih dahulu library ADO dengan mengklik menu Tools > References... sehingga muncul kotak dialog References seperti terlihat berikut ini.
Setelah itu pilihlah Microsoft ADO Ext. for DDL and Security dengan memberi tanda centang di sebelah kiri, seperti pada gambar di atas. Pilihlah yang terbaru. Pada gambar di atas, karena menggunakan Microsoft Access versi 2016, maka versi terbaru adalah Microsoft ADO Ext. 6.0 for DDL and Security. Jika ingin diaplikasikan di versi yang lebih rendah, kita bisa memilih yang lebih rendah juga, misalnya Microsoft ADO Ext. 2.0 for DDL and Security.

Setelah itu, salinlah kode VBA berikut ini:
Function tampilkanPrecisionScaleArrayADO(strFieldName, strTableName As String) As Variant
    Dim cat As New ADOX.Catalog
    Dim col As ADOX.Column
On Error GoTo Err_Msg

    cat.ActiveConnection = cariDbsConStringADO()

    Set col = cat.Tables(strTableName).Columns(strFieldName)
    If col.Type = adNumeric Then
      tampilkanPrecisionScaleArrayADO = Array(col.Precision, col.NumericScale)
    Else
      tampilkanPrecisionScaleArrayADO = Array(Null, Null)
    End If

    Set col = Nothing
Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function tampilkanPrecisionScaleArrayADO, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.Description
  Resume Exit_Function
End Function
Output fungsi di atas berupa array yang nilainya terdiri dari 2 item indeks. Indeks ke 0 merupakan Precision dan indeks ke 1 merupakan Scale. Fungsi cariDbsConStringADO digunakan untuk melakukan koneksi ke database memanfaatkan library ADO seperti dijelaskan di posting yang berjudul Fungsi Untuk Mendapatkan String Koneksi ke Database Access (ADO).

Bila fungsi di atas dijalankan di Immediate Window dengan menggunakan contoh pada gambar di bawah:
?tampilkanPrecisionScaleArrayADO("vouchOrderNo","tblVoucherTemp")(0)
 5 
?tampilkanPrecisionScaleArrayADO("vouchOrderNo","tblVoucherTemp")(1)
 2 
Atau bila disimulasikan dalam gambar akan tampak seperti di bawah ini:
Pada lingkungan front-end, properti Precision dan Scale seperti ini sangat diperlukan terutama untuk melakukan proses validasi yang dilakukan di komputer client, yaitu untuk mengetahui nilai maksimum dan minimum dari data tipe Number dengan Field Size Decimal yang akan dimasukkan. Bila belum valid, data tidak akan bisa dimasukkan dan disimpan pada sebuah tabel yang ditempatkan di server (database back-end). Dengan cara ini pula, database menjadi reliable, karena hanya data yang memenuhi syarat saja (data yang valid) yang bisa dimasukkan ke database back-end.

Comments

  1. Mas saya sangat tertarik dengan buku anda dan berniat membeli buku anda apabila ada kseulitan tolong dibantu ya ya Mas....

    ReplyDelete

Post a Comment

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

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