Tipe data atau data type adalah properti terpenting sebuah field. Properti tipe data menentukan jenis data macam apakah yang harus disimpan pada sebuah field dalam sebuah tabel. Selain itu, tipe data juga menentukan cara penyajian data dalam sebuah report.
Pada aplikasi front-end yang sama sekali tidak menggunakan linked table sebagai database back-end, kita harus menyertakan kode VBA yang bisa mengenali tipe data sebuah field. Tujuannya, agar saat pemasukkan data, kita tidak mengalami kesalahan. Jadi, pada saat pemasukkan data dalam sebuah aplikasi front-end, tipe data juga bisa digunakan sebagai salah satu cara untuk mem-validasi pemasukkan data. Dengan memisahkan front-end seperti ini, proses validasi dapat dilakukan di komputer client, sehingga tidak membebani trafik jaringan dan server. Saat proses validasi tipe data telah dilakukan di komputer client melalui aplikasi front-end, data siap disimpan di back-end secara permanen.
Sebagai contoh, sebuah field dengan tipe data Text (Short Text atau Long Text) menyimpan data dalam bentuk karakter teks atau numerik. Contoh lainnya, sebuah field dengan tipe data Number, field ini hanya bisa menyimpan data numerik saja, seperti terlihat pada gambar di bawah ini.
Pada MS Access 2007, ada sepuluh tipe data yang berbeda:
Fungsi arrrayTampilkanTipeField akan menghasilkan output berupa array yang terdiri dari tiga item:
Untuk diketahui, fungsi arrrayTampilkanTipeField ini merupakan bagian dari keseluruhan fungsi yang digunakan untuk mengecek keandalan data sebelum dimasukkan dan disimpan ke tabel.
Pada aplikasi front-end yang sama sekali tidak menggunakan linked table sebagai database back-end, kita harus menyertakan kode VBA yang bisa mengenali tipe data sebuah field. Tujuannya, agar saat pemasukkan data, kita tidak mengalami kesalahan. Jadi, pada saat pemasukkan data dalam sebuah aplikasi front-end, tipe data juga bisa digunakan sebagai salah satu cara untuk mem-validasi pemasukkan data. Dengan memisahkan front-end seperti ini, proses validasi dapat dilakukan di komputer client, sehingga tidak membebani trafik jaringan dan server. Saat proses validasi tipe data telah dilakukan di komputer client melalui aplikasi front-end, data siap disimpan di back-end secara permanen.
Sebagai contoh, sebuah field dengan tipe data Text (Short Text atau Long Text) menyimpan data dalam bentuk karakter teks atau numerik. Contoh lainnya, sebuah field dengan tipe data Number, field ini hanya bisa menyimpan data numerik saja, seperti terlihat pada gambar di bawah ini.
Pada MS Access 2007, ada sepuluh tipe data yang berbeda:
- Text (Short Text sejak Access 2010): tipe data untuk karakter dengan ukuran yang pendek, hanya sepanjang 255 karakter saja. Nilai field ini dapat berupa alfanumerik, yaitu beruppa angka atau huruf. Misalnya, field untuk nama atau alamat jalan.
- Memo (Long Text sejak Access 2010): tipe data yang digunakan untuk menyimpan karakter dengan ukuran yang sangat besar. Kita juga bisa menyimpan format (misalnya karakter dengan font italic, bold, 12pt, warna merah, hijau, dsb) dalam field dengan tipe data ini. Field dengan tipe data ini dapat digunakan untuk memberi keterangan yang serinci mungkin.
- Number: untuk menyimpan data dengan nilai numerik..
- Byte: antara 0 dan 255
- Integer: angka bulat di antara -32,768 dan -32,768.
- Long : angka bulat di antara -2,147,483,648 dan 2,147,483,647
- Single: angka di antara -3.402823E38 dan -1.401298E-45 untuk nilai negatif; 1.401298E-45 to 3.402823E38 untuk nilai positif.
- Double: angka di antara -1.79769313486231E308 dan -4.94065645841247E-324 untuk nilai negatif; 4.94065645841247E-324 dan 1.79769313486232E308 untuk nilai positif.
- Replication ID, untuk menyimpan Globally Unique Identifier (GUID) yangdiperlukan sebagai replika.
- Decimal: angka di antara -9.999E27 dan 9.999E27
- Date/Time: untuk menyimpan data tanggal dan waktu.
- Currency: untuk menyimpan data moneter.
- AutoNumber: tipe data numerik yang secara otomatis dibuat oleh Access, menggunakan Long (Long Integer).
- Yes/No: untuk menyimpan data Boolean, hanya terdiri dari 0 (bila salah, false, atau no) dan bukan 0 (bila benar, true, atau yes).
- OLE Object: untuk tipe data Object Link and Embedded, seperti dokumen Word, Excel, PDF, dsb.
- Hyperlink: tipe data hyperlink, seperti alamat URL dan e-mail.
- Attachment Files: misalnya photo digital. Setiap record dapat menyimpan banyak file.
Private Function arrrayTampilkanTipeField(intTipeField As Integer) As Variant Dim varTipeField As Variant On Error GoTo Err_Msg Select Case intTipeField 'Numeric Case dbBigInt: varTipeField = Array("Numeric", "Big Integer", dbBigInt) Case dbByte: varTipeField = Array("Numeric", "Byte", dbByte) Case dbCurrency: varTipeField = Array("Numeric", "Currency", dbCurrency) Case dbNumeric: varTipeField = Array("Numeric", "Numeric", dbNumeric) Case dbDecimal: varTipeField = Array("Numeric", "Decimal", dbDecimal) Case dbSingle: varTipeField = Array("Numeric", "Single", dbSingle) Case dbDouble: varTipeField = Array("Numeric", "Double", dbDouble) Case dbInteger: varTipeField = Array("Numeric", "Integer", dbInteger) Case dbLong: varTipeField = Array("Numeric", "Long Integer", dbLong) 'Text Case dbChar: varTipeField = Array("Text", "Char", dbChar) Case dbMemo: varTipeField = Array("Text", "Memo", dbMemo) Case dbText: varTipeField = Array("Text", "Text", dbText) 'Date and Time Case dbDate: varTipeField = Array("Date", "Date", dbDate) Case dbTime: varTipeField = Array("Date", "Time", dbTime) Case dbTimeStamp: varTipeField = Array("Date", "Time Stamp", dbTimeStamp) 'Binary Case dbBinary: varTipeField = Array("Numeric", "Binary", dbBinary) Case dbLongBinary: varTipeField = Array("Binary", "OLE Object (Long Binary)", dbLongBinary) Case dbVarBinary: varTipeField = Array("Binary", "VarBinary", dbVarBinary) 'Others Case dbBoolean: varTipeField = Array("Boolean", "Yes/No", dbBoolean) Case dbAttachment: varTipeField = Array("Attachment", "Attachment", dbAttachment) Case dbFloat: varTipeField = Array("Float", "Float", dbFloat) Case dbGUID: varTipeField = Array("GUID", "Replication Id (GUID)", dbGUID) Case Else: varTipeField = Array("Belum didefinisikan", "Belum didefinisikan", "Belum didefinisikan") End Select arrrayTampilkanTipeField = varTipeField Exit_Function: Exit Function Err_Msg: MsgBox "Function arrrayTampilkanTipeField, Error # " & str(Err.Number) & ", source: " & Err.Source & _ Chr(13) & Err.Description Resume Exit_Function End FunctionPernyataan Private di atas menunjukkan bahwa fungsi arrrayTampilkanTipeField hanya bisa dijalankan di modul tertentu saja. Di modul lain, fungsi dengan awalan Private seperti di atas tidak bisa dijalankan.
Fungsi arrrayTampilkanTipeField akan menghasilkan output berupa array yang terdiri dari tiga item:
- Item dengan indeks 0, menjelaskan tipe grup secara umum, misalnya berupa teks, numerik, boolean, dan sebagainya.
- Item dengan indeks 1, menjelaskan tipe data field seperti tercatat pada daftar tipe data yang ada pada sebuah desain tabel (design view tabel) di Access.
- Item dengan indeks 2, menyatakan nilai konstanta dari tipe data, ditulis dengan menggunakan DAO.
Implementasi
Untuk dapat menjalankan fungsi di atas, kita harus:- Membuka sebuah database terlebih dahulu dengan menggunakan fungsi membukaDatabase
- Membuka recordset/tabel yang nama fieldnya ingin dimuat, menggunakan fungsi membukaRecordset
- Melakukan proses iterasi field yang ada dalam recordset di atas
- Memuat/menampilkan tipe field sebagai hasil dar proses iterasi.
- Implementasikan fungsi arrrayTampilkanTipeField sebagai berikut: arrrayTampilkanTipeField ([nomor tipe field]) ([nomor indeks])
Function arrrayTampilkanTipeFieldContoh() Dim i As Integer, iMax As Integer iMax = 11 For i = 1 To iMax If arrrayTampilkanTipeField(i)(0) <> "belum didefinisikan" Then Debug.Print "Group: " & arrrayTampilkanTipeField(i)(0) & _ ", Data Type Name: " & arrrayTampilkanTipeField(i)(1) & _ ", Data Type Const: " & arrrayTampilkanTipeField(i)(2) End If Next i End FunctionBila arrrayTampilkanTipeFieldContoh dijalankan di Immediate Window, hasilnya adalah sebagai berikut:
Group: Boolean, Data Type Name: Yes/No, Data Type Const: 1 Group: Numeric, Data Type Name: Byte, Data Type Const: 2 Group: Numeric, Data Type Name: Integer, Data Type Const: 3 Group: Numeric, Data Type Name: Long Integer, Data Type Const: 4 Group: Numeric, Data Type Name: Currency, Data Type Const: 5 Group: Numeric, Data Type Name: Single, Data Type Const: 6 Group: Numeric, Data Type Name: Double, Data Type Const: 7 Group: Date, Data Type Name: Date, Data Type Const: 8 Group: Numeric, Data Type Name: Binary, Data Type Const: 9 Group: Text, Data Type Name: Text, Data Type Const: 10 Group: Binary, Data Type Name: OLE Object (Long Binary), Data Type Const: 11
Mengapa kita mseti membuat fungsi seperti ini?
Seperti di telah dijelaskan di atas, proses validasi dapat dilakukan di komputer client. Salah satunya adalah dengan menggunakan fungsi arrrayTampilkanTipeField seperti dibuat di atas. Tujuannya, untuk meringankan beban server dan jaringan. Kita dapat menempatkan fungsi arrrayTampilkanTipeFieldContoh sebagai salah satu bagian dari proses validasi yang ditaruh di aplikasi front-end.Untuk diketahui, fungsi arrrayTampilkanTipeField ini merupakan bagian dari keseluruhan fungsi yang digunakan untuk mengecek keandalan data sebelum dimasukkan dan disimpan ke tabel.
Comments
Post a Comment