Skip to main content

Membuka File Teks di Access VBA

Ada tiga tahap pengelolaan data dalam bentuk file teks. Tahap pertama, kita membuka file teks. File teks dapat dibuka dengan cara membuka file teks yang sudah dibuat, atau dengan membuat file teks yang baru. Saat kita membuat yang baru, secara otomatis, file teks itu terbuka dan siap untuk digunakan. Kedua cara itu membutuhkan sebuah referensi ke objek TextStream.


Tahap kedua, setelah referensi ke objek TextStream diperoleh, maka kita bisa membaca atau menulis ke file. Dengan objek TextStream itu, kita tidak bisa membaca dan menuliskan teks di file yang sama dan dilakukan secara bersamaan. Bila ingin menuliskan teks, sedangkan pada saat yang sama teks tersebut sedang dibaca, maka kita harus menutup file teks itu terlebih dahulu. Setelah itu, buka kembali file teks dan menambahkan/menuliskan data ke dalamnya.

Saat membuka file teks yang sudah ada, maka kita hanya bisa membaca atau menuliskan data di dalamnya. Bila kita membuat file teks baru, maka file itu hanya bisa digunakan untuk menuliskan/menambahkan data.

Tahap ketiga atau terakhir, kita harus menutup file teks yang sudah dibuka. Untuk menghindari risiko yang tidak diinginkan, file teks yang dibuka harus ditutup. .

Untuk membuka sebuah file teks, kita menggunakan metode OpenTextFile yang memerlukan dua parameter, yaitu nama path dari file teks dan nilai mode file teks itu dibuka. Adapun nilai mode file teks yang dibuka harus memuat salah satu nilai berikut ini:
  • Membaca (nilai = 1, konstanta = ForReading). File teks yang bisa dibuka dengan mode ini hanya bisa dibaca.
  • Menulis (nilai = 2, konstanta = ForWriting). Dengan mode ini, kita akan menuliskan data baru yang digunakan untuk menggantikan data yang lama (data lama akan dihapus). Kita menggunakan mode For Writing jika fils teks sudah ada dan hanya ingin mengganti isi file itu dengan data baru.
  • Menambahkan (nilai = 8, konstanta = ForAppending). Dengan mode ini, kita akan menambahkan data baru di akhir file yang sudah dibuat sebelumnya.
Saat membuka sebuah file teks, kita harus menggunakan parameter yang sesuai dengan kebutuhan. Sebagai contoh, bila membuka file teks hanya untuk dibaca saja, maka mode file teks yang digunakan adalah ForReading. Bila ingin menambah data baru dalam sebuah file teks yang sudah ada, maka mode yang digunakan adalah ForAppending, begitu dan seterusnya. Bila kita membuka sebuah file hanya untuk dibaca (ForReading) dan kemudian menambahkan perintah untuk menambah data (ForAppending), maka akan muncul pesan kesalahan "Bad file mode".Demikian pula bila kita membaca (ForReading), tetapi di saat bersamaan menuliskan kode WriteLine, seperti terlihat di gambar berikut ini.
Gambar 1. Bad file mode karena membuka file untuk dibaca (ForReading) dan di saat yang brsamaan menulis (WriteLine)
Gambar itu berasal dari fungsi bukaTextFile("201605312040.txt") di mana 201605312040.txt adalah nama file teks. Adapun fungsinya adalah seperti berikut ini:
Function bukaTextFile(strNamaFile As String)
  
  Dim fso As Object
  Dim strPathFile As String
  Dim oFile As Object
  Dim boolOverwrite As Boolean
  
  strPathFile = CurrentProject.Path & "\" & strNamaFile
  Set fso = CreateObject("Scripting.FileSystemObject")
  boolOverwrite = False
  If fso.FileExists(strPathFile) Then
      boolOverwrite = True
  End If
  
  If Not boolOverwrite Then Exit Function
  Set oFile = fso.OpenTextFile(strPathFile, 1)
  oFile.WriteLine "TEST1"
  oFile.WriteBlankLines (1)
  oFile.WriteLine "TEST222"
  
  oFile.Close
  Set fso = Nothing
  Set oFile = Nothing
End Function

Pada fungsi itu, kita tidak bisa menjalankan perintah oFile.WriteLine "TEST1" karena mode buka file yang digunakan adalah ForReading (=1), bukan ForWriting (2) atau ForAppending (8).

Berikut ini adalah contoh metode OpenTextFile di D:\SoftwareAkuntansi\201605312040.txt:

Const ForWriting As Integer = 2
  Set oFile = fso.OpenTextFile("D:\SoftwareAkuntansi\201605312040.txt", ForWriting)
  oFile.WriteLine "Contoh For Writing 1"
  oFile.WriteBlankLines (1)
  oFile.WriteLine "Contoh For Writing 2"
  
  oFile.Close
  Set fso = Nothing
  Set oFile = Nothing
Metode OpenTextFile("D:\SoftwareAkuntansi\201605312040.txt", ForWriting) digunakan untuk mengganti data lama dengan data baru pada file seperti pada gambar berikut ini.
Pada gambar itu, kita menambahkan data melalui statement yang dimulai dengan WriteLine "Contoh For Writing 1" dan diakhiri dengan WriteLine "Contoh For Writing 2"
Const ForAppending As Integer = 8
  Set oFile = fso.OpenTextFile("D:\SoftwareAkuntansi\201605312040.txt", ForAppending)
  oFile.WriteLine "Contoh For Appending 1"
  oFile.WriteBlankLines (1)
  oFile.WriteLine "Contoh For Appending 2"
  
  oFile.Close
  Set fso = Nothing
  Set oFile = Nothing

Metode OpenTextFile("D:\SoftwareAkuntansi\201605312040.txt", ForAppending) digunakan untuk menambahkan data baru di akhir file seperti pada gambar berikut ini.
Pada gambar itu, kita menambahkan data melalui statement yang dimulai dengan WriteLine "Contoh For Appending 1" dan diakhiri dengan WriteLine "Contoh For Appending 2"

Comments

  1. selamat siang pak yanto, saya punya file ms access dikasih teman disuruh merubah kode VBA nya, yang saya tanyakan karna file VBAx diproteksi alhasil saya mentok di situ gak bisa berbuat apa2. untuk mengetahui pasword VBA accesnya bagai mana pak yanto....mohon bimbninganya

    ReplyDelete
    Replies
    1. Coba gunakan aplikasi gratisan Hex Editor. Lakukan langkah berikut ini:
      1. Buka file Access yang terproteksi
      2. Search and Replace, ganti semua kode "DPB" menjadi "DPX". Khusus kode B diganti X atau sembarang (terserah, yang penting bukan b atau B)
      3. Save as dengan nama file lain
      4. Keluar dari aplikasi Hex Editor
      5. Buka file Access yang baru saja di Save as di Hex Editor
      6. Tekan OK jika ada pesan kesalahan.
      7. Buka salah satu VBA editor
      8. Klik menu Tools lalu Buka Database properties dan masuk ke tab Protection.
      9. Centang Lock Project for Viewing
      10. Isi password yang baru
      11. Klik OK
      12. Simpan
      13. Tutup file Access
      14. Buku lagi file Accessnya

      Kira2 seperti itu, semoga membantu

      Delete

Post a Comment

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

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

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access