Skip to main content

Mengelola File dengan FileSystemObject di MS Access

Mengelola file dengan FileSystemObject di MS Access pada intinya adalah mengelola file yang tersimpan dalam sistem file. Sebagai contoh, pada sistem operasi Windows, kita biasa membuka folder My Documents untuk melihat file dokumen apa saja yang berkaitan dengan pekerjaan sehari-hari. Untuk melihat program yang terpasang di Windows, kita bisa membuka folder Program Files. Folder Program Files berisi file yang biasa digunakan untuk membuka aplikasi yang datanya tersimpan di My Documents, misalnya: file Excel dibuka dengan Excel.exe., dsb.

Selain menyimpan file, mengelola sistem file berkaitan juga dengan bagaimana pengguna komputer meng-copy, memindahkan, mengganti, dan menghapus file. Bila berada dalam sebuah jaringan, maka pengelolaan sistem file juga berkaitan dengan bagaimana file yang ada dalam jaringan itu terdistribusi sesuai dengan hak akses pengguna di jaringan itu. Sebagai contoh, file yang berkaitan dengan data karyawan hanya bisa terdistribusi di bagian dept personalia saja, file kode program hanya terdistribusi di bagian pengembang software saja, dan sebagainya.

Mengakses sebuah file

Untuk mengakases sebuah file dengan menggunakan FileSystemObject, kita bisa menggunakan metode GetFile. Caranya:
  1. Menentukan nama path untuk file yang ingin diakses. Path itu bisa berupa nama path lokal dalam komputer (misalnya: C:\Program Files\Intenet Explorer\ie.exe) atau UNC path (misalnya: \\HRD\CV\psersonalia.docx).
  2. Menggunakan statement Set untuk memasukkan path dalam sebuah variabel.
Contoh berikut ini adalah cara untuk mengakses sebuah file yang bernama contoh_be.accdb dengan nama absolute path D:\TesFolder1\contoh_be.accdb.
Set objFSO = CreateObject("Scripting.FileSystemObject")
 objFSO.GetFile("D:\TesFolder1\contoh_be.accdb")
Bila nama file berada pada folder yang sama dengan file yang berisi kode yang digunakan untuk mengakses file itu, maka nama path bisa dihilangkan. Dalam hal ini, kita menggunakan path relatif. Sebagai misal, dalam folder D:\TesFolder1 terdiri dari dua buah file, contoh.accdb dan contoh_be.acchb. File contoh.accdb berisi kode yang digunakan untuk mengakses contoh_be.accdb. Bila menggunakan relatif path, metode GetFile adalah sebagai berikut:
objFSO.GetFile("contoh_be.accdb")
Bila contoh_be.accdb  berada di parent folder, maka metode GetFile untuk mengakses file contoh_be.accdb menjadi:
objFSO.GetFile(".\contoh_be.accdb")
Cara manakah yang ingin digunakan, apakah memasukkan nama path absolut (absolute path) atau raltif (relative path), tergantung pada situasi. Bila ada beberapa nama file yang sama tetapi berada pada folder yang berbeda, maka nama path absolut sebaiknya dimasukkan dalam metode GetFile, karena alamatnya jelas, sehingga metode ini langsung mengarah ke alamat yang tertulis di path absolut. Bila nama file yang ingin diakses hanya satu dan berada pada folder yang sama, maka kita bisa menggunakan path relatif.

Mengecek apakah sebuah file itu ada atau tidak

Logikanya, sebelum sebuah file bisa diakses dengan metode GetFile, programmer harus memastikan terlebih dahulu apakah file yang ingin diakses itu ada atau tidak supaya proses eksekusi program bisa berlanjut ke tahap berikutnya. Dengan mengecek keberadaan sebuah file, maka kesalahan program berupa "File not found" bisa dihilangkan.
Gambar 1. Mengecek keberadaan file dengan MS Access
Untuk mengecek apakah sebuah file itu ada atau tidak, kita menggunakan metode FileExist yang hasilnya berupa nilai True atau False. Nilai True terjadi bila file itu ada, sedangkan False terjadi bila file tidak ada. Bila True, maka file siap diakses. Umumnya, bila False, maka pesan bahwa "file yang ingin diakses tidak ada" akan ditampilkan. Contohnya seperti kode berikut ini:
Function adaFile(strFile As String) As Boolean
  Dim objFSO, objFile As Object
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  If objFSO.FileExists(strFile) Then
    Set objFile = objFSO.GetFile(strFile)
    adaFile = True
  Else
   adaFile = False
   MsgBox "File " & strFile & " tidak ada."
   Exit Function
  End If
  Set objFile = Nothing
  Set objFSO = Nothing
End Function
Fungsi adaFile di atas berguna untuk mengecek apakah file dalam variabel strFile ada atau tidak. Nilai fungsi itu adalah True (bila strFile ada) atau False (bila strFile tidak ada). Bila lokasi strFIle sama dengan lokasi folder di mana fungsi adaFile itu berada, maka kita tidak harus memasukkan nama path. Tetapi bila file berada di folder lain, maka kita harus memasukkan nama path, seperti telah dijelaskan di akhir bagian Mengakses sebuah file.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access