Skip to main content

Buku Back-End SQL Server Express dan Front-End Access: Membuat Aplikasi Dokumen Elektronik Sederhana

Buku ini berisi panduan teknis bagaimana membuat dokumen elektronik sederhana dengan menggunakan Microsoft (MS) SQL Server Express (back-end) sebagai tempat menyimpan data dan MS Access sebagai antar muka pengguna (front-end). 

Seperti yang sudah kita ketahui bersama, MS Access adalah aplikasi perkantoran yang digunakan untuk mengolah database. Aplikasi perkantoran ini bisa menjalankan dua peran, yaitu sebagai tempat untuk menyimpan data (back-end) yang diletakkan di objek Table dan sebagai antar muka pengguna (front-end) yang diletakkan di objek Form dan Report. Untuk menghubungkan data dan antar muka pengguna dengan baik, kita menjalankan Query, Macro, dan Module. 

MS SQL Server Express adalah salah satu edisi dari MS SQL Server yang bisa diperoleh secara gratis. MS SQL Server itu sendiri adalah aplikasi database yang digunakan untuk mengelola data dalam skala besar. Sedangkan MS SQL Server Express adalah MS SQL Server yang ukurannya, walau dalam skala besar, adalah yang paling kecil. Karena bisa diperoleh dengan gratis, MS SQL Server Express juga merupakan edisi SQL Server yang bisa dipelajari dengan mudah, sama seperti kita mempelajari MS Access. 

Kedua aplikasi di atas, MS SQL Server dan MS Access, bila dikolaborasikan, akan menjadi aplikasi yang sangat membantu kegiatan operasional suatu organisasi. Kolaborasi itu adalah dengan menjadikan MS SQL Server Express sebagai back-end dan MS Access sebagai front-end, tidak lagi merangkap sebagai back-end. Jadi, peran penyimpan data diambil alih oleh MS SQL Server Express, sedangkan antar muka pengguna tetap diperankan oleh MS Access. Kolaborasi MS SQL Server dan MS Access inilah yang dibahas dalam buku ini, dengan aplikasi dokumen elektronik sebagi objek utamanya. 

Dokumen elektronik adalah segala macam konten media elektronik, selain program komputer atau file sistem, yang bisa digunakan secara elektronik maupun dicetak di kertas. Dokumen elektronik bisa berupa gambar, tulisan teks di Word, PDF, Excel, dan lain sebagainya. Dalam praktek selama ini, dokumen elektronik biasanya tersebar di berbagai macam komputer dan tidak dikelola secara terpusat. Nah, di buku ini, kita membuat aplikasi untuk mengelola dokumen elektronik yang dilakukan secara terpusat, menggunakan MS SQL Server Express sebagai database untuk menyimpan datanya, dan MS Access sebagai antar mukanya.

Untuk Siapa Buku Ini? 

Buku ini berisi cara membuat aplikasi dokumen elektronik. Di buku ini, kita tidak belajar dasar-dasar MS Access, seperti memahami definisi sebuah objek, metode, properti, dan lain-lain. Penulis berasumsi bahwa pembaca sudah memahami dasar-dasar MS Access. Oleh karena itu, buku ini ditujukan bagi pembaca yang sudah memahami MS Access, terutama mereka yang sudah menguasai dasar-dasar pemrograman Visual Basic (VB) maupun Visual Basic Application (VBA) dan ingin meningkatkan kemampuan pemrograman ke jenjang yang lebih tinggi. 

Selain itu, buku ini ditujukan bagi mereka yang ingin memahami apa itu MS SQL Server, dari tingkat dasar sampai level menengah. Di buku ini, kita belajar cara melakukan instalasi SQL Server sampai dengan pembuatan query tingkat menengah. 

Lebih jauh lagi, buku ini ditujukan bagi mereka yang ingin membuat aplikasi database back-end menggunakan MS SQL Server dan front-end menggunakan MS Access. Objek aplikasi ini adalah dokumen elektronik, di mana database disimpan di MS SQL Server sebagai back-end, terpisah dengan MS Access yang berperan sebagai front-end. 

Secara khusus lagi, buku ini cocok bagi mereka yang ingin meningkatkan jenjang karir sebagai seorang programmer Access. Dengan mempelajari buku ini, para programmer Access bisa memahami apa itu Back-end dan Front-end dalam pengertian yang sesungguhnya. Dengan membeli buku kurang dari kebutuhan pulsa internet sebulan, programmer Access dapat menaikkan posisi tawar karirnya dua kali lipat ke perusahaan.

Organisasi Buku Ini 

Buku ini dibagi dalam 3 bagian, yaitu: 

Bagian I

Pendahuluan: berisi pendahuluan yang menjelaskan kemajuan teknologi dewasa ini yang dapat menyimpan data, tidak hanya berbentuk teks, tetapi juga berbentuk dokumen elektronik yang berupa gambar, video, dan suara. Untuk menyimpan data seperti ini, kita menggunakan Access sebagai front-end dan SQL Server sebagai back-end. 

Bagian II

Back-End SQL Server: berisi penjelasan cara meng-install SQL Server dengan sempurna, yaitu sampai SQL Server bisa digunakan di komputer lokal, di jaringan, maupun di server. Setelah terinstall dengan sempurna, kita dapat mulai membuat database dokumen elektronik dan tabel yang ada dalam database ini. SQL Server minimal versi 2014 ke atas.

Bagian III

Front-End Access: berisi penjelasan cara membuat berbagai macam modul yang digunakan untuk mengintegrasikan tiga objek di Access yaitu Query, Form, dan Report. Modul ini berisi berbagai macam kode VBA yang hampir semuanya ditulis menggunakan library/model ADODB (ActiveX Data Objects DataBase), bukan DAO (Data Access Objects). Jadi, jangan harap menemukan kode VBA ADODB lengkap di blog Access Terapan.

Ketiga objek di atas (Query, Form, dan Report) terhubung ke SQL Server dengan menggunakan connection string yang diatur melalui modul. Ada berbagai macam form dan report yang masing-masing mempunyai ciri khas. Di bagian akhir, sekaligus di bab terakhir, kita menyatukan semua form dan report dalam sebuah switchboard yang berfungsi sebagai navigasi. 

Di bagian ini, kita dapat menemukan berbagai macam fungsi yang mudah diaplikasikan, bisa dipanggil langsung tanpa menuliskan program/kode VBA lagi. Contohnya seperti fungsi berikut ini:

  1. Fungsi cariDbsConStringADO: menampilkan string connection SQL Server ke Access
  2. Fungsi cariODBCConnectionString: menampilkan ODBC connection string SQL Server ke Access
  3. Fungsi membukaDatabaseADO: membuka database SQL Server di Access
  4. Fungsi qryRSBuka: membuka recordset tabel/query SQL Server di Access
  5. Fungsi qryEksekusi: menjalankan action query SQL Server di Access
  6. Fungsi qryExtendedPropertyTambahkan: membuat properti tambahan di SQL Server
  7. Fungsi cariTipeFieldDiTabel: membaca tipe field di sebuah tabel SQL Server di Access
  8. Fungsi adaId: mengecek ada Id tertentu di sebuah tabel SQL Server di Access
  9. Fungsi cariNilaiField: mencari nilai field tertentu di sebuah tabel SQL Server di Access
  10. Fungsi cariPengaturan: membaca pengaturan sistem buatan sendiri
  11. Fungsi SQLServerJudulFieldTabel: membaca properti Caption dari SQL Server ke Access
  12. Fungsi cariTanggalServer: menampilkan tanggal SQL Server
  13. Fungsi tampilkanExtendedFileProperties: manampilkan metadata file
  14. Fungsi propertiFile: menampilkan attribut file
  15. Fungsi ukuranBLOBYgDiUpload: menghitung ukuran file (BLOB=Binary Large OBject)
  16. Fungsi bersihkanTempFile: menghapus file yang tersimpan di folder temporer
  17. Fungsi copyBlobObjek: mencopy data BLOB dari database SQL Server ke komputer lokal
  18. Fungsi simpanBlobSQLServer: menyimpan data BLOB dari komputer lokal ke SQL Server
  19. Fungsi bacaBlob: membaca BLOB yang tersimpan di SQL Server ke Access
  20. dan masih sangat banyak fungsi-fungsi lainnya.
Access minimal yang digunakan: 2010 ke atas. 

Cara Memahami Buku Ini 

Secara keseluruhan, buku ini harus dibaca secara berurutan, dari halaman pertama yang merupakan pendahuluan sampai dengan halaman terakhir yang membahas bagaimana membuat startup. Walaupun demikian, setiap bab dari buku ini mempunyai berbagai macam keunikan yang bisa memberikan ide dan pengalaman baru dalam menyusun program, baik di back-end maupun di front-end. 

Supaya benar-benar paham dalam membuat aplikasi dokumen elektronik seperti di buku ini, programmer Access disarankan untuk menulikan program seperti tercantum di setiap langkah yang ada di buku.

Untuk diketahui, Aplikasi E-Document Sederhana Menggunakan Access (Front-End) dan SQL Server (Back-end) dibuat dengan menggunakan kode VBA yang terdapat di buku ini.

Cara memperoleh buku ini

Buku ini dapat dibeli di:

  1. Google play
  2. Google Books

Comments

  1. Mohon pak, untuk penjelasaannya lebih rinci lagi. misal ada 1 blok perintah kemudian muncul hasilnya dan kegunaan perintah2/ scriptnya dijelaskan per 1 blok perintah. apa fungsinya dan kegunaannya, dan jika ingin dikembangkan baris-baris mana saja yang harus dirubah

    ReplyDelete
    Replies
    1. Sebelumnya, saya ucapkan terima kasih sidah membeli ebook di atas.

      Yang harus kamu pahami benar adalah modul inti. Itu ibaratnya otak dr sistem. Di modul inti itu, kamu coba copy and paste sesuai urutannya, mulai dr nomor 1, sd selesai. Bisa saja copy nomor 1 dulu lalu jalankan via immediate window. Bila sudah bisa, copy and paste nomor 2, dst.

      Setelah itu, modul form dan report, karena keduanya merupakan user interface Access dng SQL Server.

      Pertanyaan saya, apakah BE SQL Server sudah bisa diakses langsung dr FE Access? Bila belum, pastikan instalasai SQL Server berjalan sukses, termasuk SQL Server Driver (nama file MSODBCSQL.MSI sudah terpasang?)

      Delete
  2. Pak, bagaimana menampilkan data dari sql server 2000 ke subform access. Saya coba kemarin tes dari buku bapak kode tidak ada error tp data tidak muncul di subformnya

    ReplyDelete
    Replies
    1. Set subform recordset ke recordset yg diinginkan. Contoh di buku lihat di form list daftar blob, halaman 157.

      Kamu mesti mencoba ke SQL Server 2012 supaya tahu perbedaannya dng SQL Server 2000

      Delete
  3. saya sudah buat seperti ini, tp gak muncul juga
    Private sub tampilkan()
    Dim rs as new adodb. Recorset
    Dim datasub as string
    Call connsql
    Datasub = "Select tbluser.nama tbluser.status From tbluser"
    rs. Open datasub, connsql, adopenkeyset, adlockoptimistik
    Set me.datausersubform.form.recordset = rs
    Rs. Close
    Set rs = nothing
    End sub

    ReplyDelete
    Replies
    1. Connsql.cursorlocation=adUseClient ada nggak?

      Delete
    2. Perintah itu dimasukkan dimana pak ?

      Delete
    3. Sebelum rs. Open datasub, connsql, adopenkeyset.... di atasnya

      Delete
    4. ini code yang saya buat pak, ditambahi "Connsql.cursorlocation=adUseClient" malah muncul pesan menyatakan objecnya tidak ada

      Private Sub tbllihat_Click()
      Dim Insql As String
      Dim rssqlsimda As New ADODB.Recordset

      If dBSQL.State = adStateClose Then
      Call Koneksi_SQL
      End If


      Insql = "SELECT GU.Tgl_Bukti, GU.No_Bukti, GU.Nama_Penyetor, GU.Keterangan, GU.Kd_MAP, GU.Nilai, GU.NTPN " & _
      "FROM (SELECT Ta_Pajak.Kd_Urusan, Ta_Pajak.Kd_Bidang, Ta_Pajak.Kd_Unit, Ta_Pajak.Kd_Sub, Ta_Pajak.Tgl_Bukti, Ta_Pajak.No_Bukti, Ta_Pajak.Kd_Prog, Ta_Pajak.Kd_Keg, Ta_Pajak.Nama_Penyetor, Ta_Pajak.Keterangan, Ref_Pot_SPM.Kd_MAP, Ta_Pajak_Rinc.Nilai, Ta_Pajak.NTPN, 2 AS Jn_SPM " & _
      "FROM (Ta_Pajak INNER JOIN Ta_Pajak_Rinc ON (Ta_Pajak.Tahun = Ta_Pajak_Rinc.Tahun) AND (Ta_Pajak.No_Bukti = Ta_Pajak_Rinc.No_Bukti)) INNER JOIN (Ref_Pot_SPM INNER JOIN Ref_Pot_SPM_Rek ON Ref_Pot_SPM.Kd_Pot = Ref_Pot_SPM_Rek.Kd_Pot) ON (Ta_Pajak_Rinc.Kd_Rek_1 = Ref_Pot_SPM_Rek.Kd_Rek_1) AND (Ta_Pajak_Rinc.Kd_Rek_2 = Ref_Pot_SPM_Rek.Kd_Rek_2) AND (Ta_Pajak_Rinc.Kd_Rek_3 = Ref_Pot_SPM_Rek.Kd_Rek_3) AND (Ta_Pajak_Rinc.Kd_Rek_4 = Ref_Pot_SPM_Rek.Kd_Rek_4) AND (Ta_Pajak_Rinc.Kd_Rek_5 = Ref_Pot_SPM_Rek.Kd_Rek_5)) AS GU;"

      dBSQL.CursorLocation = adUseClient
      rssqlsimda.Open Insql, dBSQL, adOpenKeyset, adLockOptimistic
      For Each fld In rssqlsimda.Fields
      Debug.Print fld.Name
      Next
      Set Me.datapajaksimdasubform.Form.Recordset = rssqlsimda
      Me.datapajaksimdasubform.Visible = True

      End Sub

      Delete
    5. ini code untuk koneksi ke SQL Server 2000

      Public Function Koneksi_SQL() As Boolean
      Dim namadb, pass, user, server As String


      Set dblokal = CurrentDb
      Set rslokal = dblokal.OpenRecordset("SELECT * From tblserver")

      On Error GoTo Pesan
      namadb = rslokal!namadatabase
      pass = rslokal!passwordsql
      user = rslokal!username
      server = rslokal!server


      If dBSQL.State = adStateOpen Then
      dBSQL.Close
      End If

      dBSQL.Open "Provider=SQLOLEDB.1;User ID=" & user & ";Pwd=" & pass & ";" & _
      "Initial Catalog=" & namadb & ";Data Source=" & server & ""
      Koneksi_SQL = True


      Exit Function
      Pesan:
      Koneksi_SQL = False
      MsgBox "Koneksi ke Database GAGAL !!", 16, "Error"
      DoCmd.OpenForm "frmserver", acNormal, , , , acDialog

      End
      End Function

      Delete
    6. Ini urutan kode secara logis sesuai buku:

      strSql = sqlTop ' Isikan SQL statement di sini
      adoConn.CursorLocation = adUseClient
      Set rst = qryRSBuka(strSql, , adOpenKeyset, adLockOptimistic) 'Open recordset
      Set Me.frmBlobListSubform.Form.Recordset = rst 'mengarahkan recordset dari subform frmBlobListSubform supaya diisi rst.

      Selanjutnya, control pada subform harus di-bound ke masing-masing field yang ada di rst. Caranya seperti ini:

      With Me.frmBlobListSubform.Form 'subform frmBlobListSubform
      .Controls("blobId").ControlSource = "blobId" 'Text Box Control untuk blobId
      .Controls("blobNamaFile").ControlSource = "blobNamaFile" 'Text Box Control untuk blobNamaFile
      .Controls("blobDeskripsi").ControlSource = "blobDeskripsi" Text Box Control untuk blobDeskripsi
      .Controls("blobMeta").ControlSource = "blobMeta" Text Box Control untuk blobMeta
      .Controls("blobNamaEkstensi").ControlSource = "blobNamaEkstensi" Text Box Control untuk blobNamaEkstensi
      .Controls("blobTglBuat").ControlSource = "blobTglBuat"Text Box Control untuk blobTglBuat
      .Controls("blobUkuran").ControlSource = "blobUkuran" Text Box Control untuk blobUkuran
      End With
      Me.frmBlobListSubform.Requery 'lakukan refres subform

      JADI: subform yang controlnya MASIH UNBOUND harus diBOUND ke field yang ada di rst.

      Semoga membantu

      Delete
    7. terima kasih pencerahannya pak, sudah bisa

      Delete
    8. Sama2. Saran saya. Kamu install sql server minimum sql 2014, di komputer lokal. Terus, aplikasikan kode di buku ke komputer langsung, supaya bisa mendiagnosis masalah secara cepat dan menemukan solusi yg pas.

      Delete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Nah muncul masalah baru pak, data yang saya buka dengan query di atas datanya ada lebih dari 1000 data, setelah kode dijalankan mendadak accessnya keluar pak, solusinya bagaimana pak ?

    ReplyDelete
    Replies
    1. Pakai pajinasi. Itu yg di halaman 157 ada gambar pagination.

      Makanya aku sarankan untuk install sql server 2014 untuk mengaplikasikan buku itu, supaya tahu masing2 fungsi di modul.

      Delete
  6. Pak, bagaimana mengappend data dari SQL Server ke Database access pakai Access vba pak

    ReplyDelete
    Replies
    1. Insql = "INSERT INTO tblsp2d ( Tgl_Bukti, No_Bukti, Nama_Penyetor, Keterangan, Kd_MAP, Nilai, NTPN ) IN call koneksi_access " & _
      "SELECT GU.Tgl_Bukti, GU.No_Bukti, GU.Nama_Penyetor, GU.Keterangan, GU.Kd_MAP, GU.Nilai, GU.NTPN "

      Delete
    2. Tp database accessnya terpisah dengan aplikasi accessnya

      Delete
    3. Kalau di buku, pakai fungsi qryEsekusi.

      Delete

Post a Comment

Posting Terpopuler

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Form dan Subform Menggunakan Form Wizard