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:
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:
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:
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 FunctionImplementasi:
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")Di mana [Nama path file database] adalah field yang nilainya diambil dari tabel [Tabel database] yang mempunyai status sebagai database default.
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")sama dengan
strRst = "D:\Access\Database_be.accdb"
Comments
Post a Comment