Pada aplikasi Access untuk server dan client tanpa menggunakan linked table, kita harus menentukan lokasi database di komputer server agar komputer client dapat melakukan koneksi ke database itu. Untuk menemukan lokasi database Access itu, kita bisa membuat fungsi sendiri yang disimpan dalam aplikasi Access di komputer client. Dengan demikian, bila aplikasi Access di client dikonversi ke accde, koneksi dapat dilakukan dengan aman.
Fungsi yang kita beri nama lokasiDatabase digunakan untuk menentukan lokasi database yang akan dibuka. Variabel strRst yang digunakan dapat berupa sebuah nilai string, atau ekspresi formula. Hasil fungsi lokasiDatabase berupa string. Berikut ini adalah kode VBA lengkap dari fungsi lokasiDatabase:
Implementasi:
Bila variabel strRst berupa nilai string, maka isikan variabel strRst dalam fungsi di atas. Contoh di atas menggunakan nilai string "D:\Access\Database_be.accdb" sebagai lokasi database-nya.
Bila variabel strRst berupa ekspresi, maka isikan variabel strRst yang ada di dalam fungsi di atas dengan menggunakan ekspresi. Contoh:
Di mana [Nama path file database] adalah field yang nilainya diambil dari tabel [Tabel database] yang mempunyai status sebagai database default.
Dengan menggunakan tabel Tabel Database di atas, maka kita bisa mengarahkan strRst untuk memilih D:\Access\Database_be.accdb sebagai lokasi database-nya. Dengan demikikan ekspresi strRst menjadi:
sama dengan
Fungsi yang kita beri nama lokasiDatabase digunakan untuk menentukan lokasi database yang akan dibuka. Variabel strRst yang digunakan dapat berupa sebuah nilai string, atau ekspresi formula. Hasil fungsi lokasiDatabase berupa string. Berikut ini adalah kode VBA lengkap dari fungsi lokasiDatabase:
- Function lokasiDatabase() As String
- Dim strRst As String
- Dim objFSO As Object
- On Error GoTo Err_Msg
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- strRst = "D:\Access\Database_be.accdb"
- If objFSO.FileExists(strRst) Then
- lokasiDatabase = strRst
- Else
- lokasiDatabase = vbNullString
- End If
- Set objFSO = Nothing
- Exit_Function:
- Exit Function
- Err_Msg:
- MsgBox "Function lokasiDatabase, Error # " & str(Err.Number) & ", source: " & Err.Source & _
- Chr(13) & Err.description
- Resume Exit_Function
- End Function
Bila variabel strRst berupa nilai string, maka isikan variabel strRst dalam fungsi di atas. Contoh di atas menggunakan nilai string "D:\Access\Database_be.accdb" sebagai lokasi database-nya.
Bila variabel strRst berupa ekspresi, maka isikan variabel strRst yang ada di dalam fungsi di atas dengan menggunakan ekspresi. Contoh:
- strRst = DLookup("[Nama path file database]","[Tabel Database]","[pathDefaultStatus]=True")
pathfFile | pathDescription | pathDefaultStatus |
---|---|---|
D:\Access\Database_be.accdb | Database lokal | True |
\\Access\Database_be.accdb | Database server | False |
- strRst = DLookup("[pathfFile]","[Tabel Database]","[pathDefaultStatus]=True")
- strRst = "D:\Access\Database_be.accdb"
Comments
Post a Comment