PENDAHULUAN

Query adalah permintaan data ke 'server database'. Dengan menggunakan syntak JET-SQL, kita selayaknya mengajukan permintaan ber-bahasa inggris kepada MS Access, untuk menyajikan informasi dari data-data yang telah kita kumpulkan dalam database-nya.
Dalam MS Access, pembuatan query sangat dimudahkan dengan memanfaatkan tool Query By Editor (QBE), yang sangat efisien dan mengurangi proses mengetik teks di dalamnya. Cukup klik dan seret, informasi yang diinginkan sudah bisa tersaji untuk kebutuhan laporan dan analisa.

PERSIAPAN

Sebagai RDBMS, database access terdiri dari kumpulan tabel yang saling berelasi. Sebagai contoh dalam artikel ini kita ambil model sederhana transaksi penjualan buah.
Dalam bentuk normalnya, relasi tabelnya bisa digambarkan sebagai:
Dokumen penjualan dinormalkan dalam bentuk header-detail. 
Dalam tabel header cukup disimpan nomor dokumen dan tanggalnya (doc_no dan doc_date), serta dijual kepada customer tertentu (cust_id).
Customer berelasi dengan master customer yang berisi kode dan nama customer (id dan cust_name).
Detail buah-buahan yang dibeli di setiap dokumen penjualan disimpan dalam tabel detail penjualan, berisi relasi dengan header (id_jual), buah yang dibeli beserta jumlah dan harganya (id_barang, qty, dan price).
Buah berelasi dengan master barang yang berisi kode dan nama buahnya (id, namabarang).

SKENARIO

Sekarang mari kita berkelana dengan berbagai pengajuan pertanyaan yang akan dijawab melalui query ke database tersebut.
1. keluarkan report penjualan keseluruhan!
2. berapa total penjualan untuk setiap customer?
3. buah apa yang tidak laku ?
4. customer mana yang belum membeli buah ?

INNER JOIN

Pertanyaan pertama meminta kita mengeluarkan report total penjualan. Ini dengan mudah dilakukan dengan membentuk relasi dari ke-empat tabel tersebut yang telah melakukan transaksi. Klik dan seret field membentuk query seperti berikut:
dalam syntak JET-SQL nya akan terbentuk query text sebagai berikut:
SELECT 
    t_jual_h.doc_no, 
    t_jual_h.doc_date, 
    t_jual_h.cust_id, 
    t_jual_d.id_barang, 
    t_jual_d.qty, 
    t_jual_d.price, 
    [qty]*[price] AS amount
FROM t_jual_h 
    INNER JOIN t_jual_d ON t_jual_h.id = t_jual_d.id_jual;
Sangat mudah untuk mengartikan perintah ini. Tolong berikan daftar nomor dokumen, tanggal, pembeli, buah, berapa banyak seharga berapa, jumlah totalnya berapa. Ambil data tersebut dari header pembelian digabungkan dengan detail nya.
Hasilnya bisa dilihat di video singkat diatas.

AGREGATE QUERY

Pertanyaan kedua, hanya ingin mengetahui total pembelian setiap customer. Kita bisa menggunakan group query / agregasi query dengan memilih hanya field yang dibutuhkan dan nilai yang akan di summary kan.
Dengan demikian query akan menjadi:
Kita membentuk summary query, yang SQL nya sebagai berikut:
SELECT 
    t_jual_h.cust_id, 
    Sum([qty]*[price]) AS amount
FROM t_jual_h 
    INNER JOIN t_jual_d ON t_jual_h.id = t_jual_d.id_jual
GROUP BY t_jual_h.cust_id;
Membaca instruksi query ini: Tolong berikan data customer dan total pembeliannya. Kelompokkan berdasarkan customer, dan summarykan total pembeliannya.
Hasilnya bisa dilihat di video singkat di atas.

Bersambung ....
(-Aksan Kurdin-)







Dalam menggunakan Ms.Access kita dapat menggunakan Prefiks dari setiap objek untuk kemudahan dalam mengelola suatu aplikasi. Umumnya penggunaan prefiks menggunakan 3 huruf sebagai awalan seperti sebagai berikut :

Object/Variable/DataType
Prefiks
Contoh Penggunaan
Tables
Tbl
tblPelanggan, tblBarang
Query
Qry
qryPelanggan, qryBarang
Form
Frm
frmPelanggan, frmBarang
Report
Rpt
rptPelanggan, rptBarang
Macro
Mcr
mcrPelanggan, mcrBarang
Module
Mdl / Mod
modPelanggan, mdlBarang
Textboxt
Txt
txtNamaPelanggan
Label
Lbl
lblNamaPelanggan
Combo
Cbo
cboNamaPelanggan
CommandButton
Cmd
cmdSimpan, cmdTutup
Option
Opt
optJenisKelamin
ListBox
Lst
lstDataPelanggan
Images
Img
imgPelanggan
Connection
Cnn
Dim cnnDataku as ADO.Connection
Parameter
Prm
Dim prmDataku as ADO.Parameter
Database
Dbs
Dim dbsDataku as DAO.Database
QueryDef
Qdf
Dim qdfDataku as DAO.Querydef
Recordset
Rst
Dim rstDataku as DAO.Recordset

Demikian ulasan singkat mengenai penggunaan prefiks. Karena akan sangat banyak sekali untuk dijelaskan. Namun anda jangan berkecil hati, seiring penggunaan Ms.Access dan pemrogramannya akan dengan sendirinya terbiasa untuk menggunakan prefiks dalam setiap objek.


Oleh : Lusky Kurniawan
Tangerang, 8 Juli 2020 Pk. 14.30 WIB

Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!



Sebelum kita memulai mengenal bahasa visual basic application, terlebih dahulu marilah kita pahami hal - hal berikut ini :

Modules
Modules adalah salah satu objek dari Microsoft Access sama seperti halnya dengan objek Table, Query, Form, Report dan kawan - kawannya. Modules digunakan untuk menuliskan script/syntax/bahasa pemrograman dalam mengelola database dan otomatisasi lainnya. Modules sendiri terbagi 2 jenis yaitu Standard Modules dan Class Modules. Standard Modules adalah modules yang berdiri sendiri dan tidak berhubungan dengan objek lainnya. Sedangkan Class Modules adalah modules yang berhubungan dengan objek lainnya seperti dalam pembuatan suatu fungsi yang didefinisikan.

Procedure.
Dalam modules terdiri dari serangkaian pemrograman, yang disebut Procedure. Procedure ini terbagi menjadi 2 yaitu Sub Procedure dan Function Procedure. Sub Procedure sendiri adalah procedure yang dibuat untuk menjalankan suatu kegiatan tanpa menghasilkan suatu nilai. Sedangkan Function Procedure pasti mengembalikan suatu nilai dari serangkaian pemrograman.

Dalam membuat suatu prosedur, selalu dimulai dengan membuat Statement Awal sebagai Deklarasi dari suatu pemrograman. Deklarasi yang umum dibuat adalah Dim, Private, Public, Static dan Option Explicit.
1.Dim (Dimension) adalah deklarasi awal untuk sebuah variabel yang kita buat. Dengan menggunakan Dim maka kita sekaligus sedang menentukan jenis dari variabel yang kita buat.
2.Private adalah suatu deklarasi yang menyatakan bahwa serangkaian program didalamnya hanya digunakan pada suatu objek tertentu saja.
3.Sedangkan Public adalah kebalikan dari Private, yaitu serangkaian program tersebut dapat digunakan lintas object.
4.Static adalah deklarasi yang digunakan untuk menahan nilai sampai prosedur tersebut ditutup.
5.Option Explicit digunakan untuk mewajibkan programer untuk selalu mendeklarasikan variabel diawal sehingga pemrograman lebih mudah ditelusuri.


Oleh : Lusky Kurniawan
Tangerang, 8 Juli 2020 Pk. 14.25 WIB

Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!


Visual Basic for Application

VBA adalah singkatan dari Visual Basic for Application. VBA merupakan bahasa pemrograman yang digunakan pada keluarga Microsoft Office. VBA berasal dari bahasa Visual Basic "yang disederhanakan" sehingga mudah dipakai pada aplikasi-aplikasi MS Office. Jadi, VBA tidak rumit! Tetapi, VBA bisa menggunakan library-library lain sehingga kemampuannya hampir tidak terbatas, bahkan bisa digunakan untuk mengendalikan perangkat robotik, misalnya menangkap gambar dari kamera (still picture maupun video), memainkan musik, dan sebagainya.
Tetapi kita tidak perlu sejauh itu, karena VBA kita gunakan untuk "menambal" kemampuan Access yang secara default tidak menyediakan semua apa yang kita butuhkan (atau apa yang kita inginkan). Jadi, pertama kita meng-utilize fitur yang disediakan oleh Access terlebih dahulu, baru kalau kurang sesuai dengan keinginan, kita tambah dengan pemrograman menggunakan VBA.

Macro dan Module

Access menyediakan dua macam alat untuk melakukan pemrograman (artinya memberi perintah/ command), yaitu Macro dan Module.
Macro adalah bentuk perintah yang tidak perlu diketik (bukan script atau code program), tetapi kita bisa memilih-milih saja perintah yang diinginkan, lalu menentukan parameter atau option-nya. Perintah Macro dapat dibuat bersusun sehingga meliputi banyak perintah yang dikerjakan secara berurutan. Pada Macro kita bisa membuat persyaratan (condition) serta pencabangan (branch). Jadi, sebenarnya kita bisa membuat program dengan Macro.
Macro pada Access berbeda pengertiannya dengan Macro pada Excel. Pada Excel, Macro adalah Module yang menggunakan bahasa VBA (script atau code).
Pada Access, perintah pemrograman yang menggunakan bahasa VBA disebut Module.

Embeded Macro dan Class Module

Pada Access versi yang baru, Wizard akan membuat perintah dalam bentuk Macro yang ditempelkan pada objek, disebut Embeded Macro. Macro ini tidak berupa objek tersendiri, tetapi mengikuti objek yang mengandungnya (pembahasan tentang objek bisa dilihat di tulisan "Engkong Access" Lusky Kurniawan di sini).
Module juga bisa ditempelkan pada objek yang mengandungnya, disebut Class Module. Dulu orang menyebutnya CBF atau Code Behind the Form. Module jenis ini tidak menempati objek module tersendiri, tetapi berada di dalam objek yang mengandungnya (Form atau Report).

VBA Access

Walaupun bahasa VBA "hampir" sama (atau sebenarnya sama saja) pada aplikasi-aplikasi Office, namun ada juga yang terasa sedikit "beda", misalnya antara VBA pada Access dan VBA pada Excel. VBA pada Excel mendukung file data Excel yang terdiri dari workbook > worksheet > cell. Function built-in pada Excel pun ada yang beda dengan function pada Access.
VBA pada Access mendukung objek-objek Access. Contoh perintah DoCmd.OpenQuery pada Access tidak bisa dijalankan pada Excel, karena pada Excel tidak ada objek Query.
Perbedaan ini cukup penting bagi kita termasuk ketika melakukan pencarian di Internet. Sertakan keyword "Access VBA" dalam pencarian anda agar hasil pencarian tidak mengikutsertakan pembahasan VBA pada Excel.

Membuat Module

Untuk menulis code program dengan VBA kita harus membuat Module. Class Module bisa langsung dibuat pada Form atau Report, misalnya melalui Event property, atau tampilkan VBA melalui menu View Code (ribbon tab Design > View Code).
Untuk membuat objek Module (standard module), klik menu ribbon CREATE > Module. Module yang dibuat dengan cara ini scope-nya pada seluruh objek dalam file database.
Unsur-unsur pada jendela VBA

Sumber Belajar

Tulisan ini tidak bermaksud membahas VBA secara menyeluruh, karena sangat luas dan dalam, tetapi sekadar mengenalkan saja secara singkat.
Jika anda berminat mempelajari VBA, bisa menggunakan sumber-sumber berikut ini:
Semoga bermanfaat!

Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!

Selamat malam para Acces mania,
Ada yang mau saya tanyakan tentang record data beda table.
saya ingin mengambil data dengan combo box .
list data yang ada di combo box saya namain sama dengan nama semua table yang saya buat.
Jadi apabila combo box saya pilih , source record data table mengikuti nama table yang saya pilih dari combo box.
mohon pencerahannya, terlampir sampel masalahnya 
Terima kasih,
Salam
Saiful A

Catatan:
File database yang dibahas dapat diperoleh di link ini.

PEMBAHASAN

By: HAER TALIB
Saya melihat agak aneh permintaannya, karena setelah saya cek ke isi table, masing2 table mengandung lebih dari 1 record. Jadi record mana yang ingin ditampilkan?
Jika record pertama yang ditampilkan, lalu bagaimana dengan record lainnya?
Akhirnya saya ubah sedikit solusinya, yaitu menampilkan semua record dari table yang dimaksud dalam sebuah subform berbentuk datasheet.
Pada file database di atas sudah saya buatkan contoh solusinya.
Solusi dari HAER TALIB
Yang saya lakukan adalah:
1. Memberi sedikit perintah VBA pada event After Update combo box, jadi ketika user memilih nama table dalam combo box, nama table tersebut saya gunakan sebagai sumber datanya.
2. Menambahkan sebuah subform berbentuk datasheet untuk menampilkan data dari table yang dipilih.
Semoga ini dapat menjawab pertanyaannya.

Tetapi YANG HARUS DIKETAHUI, solusi yang terbaik adalah BUKAN menjawab pertanyaan, tetapi memenuhi maksud atau keinginan di balik pertanyaan tersebut.
Kalau bertemu langsung kita bisa men-challenge pertanyaannya sehingga dapat diketahui apa yang dibutuhkan. Jadi solusi yang diberikan adalah untuk memenuhi kebutuhan.
Seringkali penanya tidak bisa merumuskan kebutuhannya dengan pertanyaan, apalagi dalam bentuk tertulis. Selain itu, di dalam pembuatan program aplikasi, kita HARUS juga memikirkan bagaimana perilaku dan kemampuan user yang akan memakai aplikasi, sehingga aplikasi kita user-friendly. Nah, solusi untuk sebuah permsalahan atau kebutuhan harusnya diarahkan ke tujuan user-friendly itu.
Anyway, semoga jawaban ini memberi inspirasi saja.


Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!


Salam hormat para master access dan rekan-rekan setia pengguna access.
Mohon pencerahannya ya, kalau ada diantara Anda ada yang mengalami seperti yang saya alami.
Masalahnya begini, saya punya program aplikasi database acc 2010 yang tabelnya saya link-an dengan database sqlserver (Bukan versi ADP), untuk beberapa bulan lamanya tidak ada permasalahan. nah, baru-baru ini, file aplikasi tersebut sering terlihat seperti gambar yang saya lampirkan "Capture.PNG".
Kalau sudah begitu, maka Tabel/Query/Form/Report dalam file aplikasi tersebut semuanya tidak ada. padahal sudah saya aktifkan opsi "Compact on close nya" biar kalau aplikasi tersebut melakukan compacting kalau aplikasi ditutup.
Dan juga, aplikasi untuk membetulkan file access yang korup untuk acc 2010 saya tidak mendapatkan, sebagaimana access 2003 yang JET CU nya bisa kita download.
Atas saran dan pencerahannya saya sampaikan beribu terima kasih.

Salam
Syamsul
Via belajar-access@ggoglegroups.com

Gambar yang dilampirkan kurang jelas ya?


NOTE:
Ini pertanyaan sudah lama, tapi cukup menarik karena mungkin saja terjadi pada kita.
Mudah2an ada yang bisa memberi pencerahan.

Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!

Program apakah Microsoft Access itu? Microsoft Access merupakan anggota keluarga dari Microsoft Office sama dengan saudara – saudaranya seperti Word, Excel dan Power Point. Ia menjadi bagian yang tak terpisahkan dan memiliki peranan yang berbeda pula. Ia laksana harta terpendam yang selama ini terabaikan dan jarang digunakan. Dan ia pun laksana “tambang emas” bagi mereka – mereka yang peduli dan menggunakannya.
Microsoft Access merupakan salah satu program pengolah data (database) yang termasuk ke dalam jenis Relational Data Base and Management System (RDBMS). Adapun ciri – ciri RDBMS yaitu sebagai berikut :
1. Data Definition (DD)
Disebut sebagai Data Definition karena setiap data (table yang akan dibuat) harus di definisikan dahulu jenis tipe datanya. Sehingga table yang terbentuk menjadi data yang benar sesuai konsep database. Contohnya : Tabel Master.
2. Data Manipulation (DM)
Data Manipulation berarti bahwa setiap data yang ada dapat dimanipulasikan seperti seleksi kolom, objek, function dan sebagainya. Contohnya : Query Data.
3. Data Control (DC)
Sebagai Data Control berarti bahwa setiap data yang ada dapat dikontrol sehingga data tersebut tetap aman (terkendali). Contoh : Form, Tombol Command Button, Hak Akses dan lain sebagainya.
Microsoft Access merupakan program database yang didalamnya sudah tersedia object-object database secara lengkap, diantaranya:
Table, gigunakan untuk menyimpan data. Table ini dibagi menjadi dua jenis, yaitu table yang disimpan secara langsung didalam file Access tersebut dan table link, dimana table link ini mengambil data dari sumber eksternal, seperti dari Microsoft Jet, SQL Server, Oracle, MySQL dan provider-provider database lainnya.
Query, digunakan untuk memanipulasi data dan table menggunakan kode atau bahasa SQL.Dengan menggunakan query, kita dapat menggabungkan beberapa table menjadi satu table. Keunggulan query didalam Access adalah ia dapat menampilkan penggunaan dan pembuatan kode SQL ini secara visual, sehingga bagi Anda yang belum memahami kode SQL pun akan mudah membuat query ini. Didalam query dapat pula dibuat rumus dan criteria.
Form, digunakan untuk aplikasi tatap muka dengan user (pengguna program kita). Form umumnya digunakan untuk menampilkan, menginput dan mengedit data.
Report, digunakan untuk menampilkan laporan data yang sudah diinput baik melalui form maupun table, dengan tampilan yang sesuai dengan keinginan kita agar dapat dicetak melalui printer. Report juga dapat diexport kedalam format file lain, seperti Microsoft Excel, Microsoft Word, dan lain-lain serta dapat langsung dikirimkan melalui email.
Pages, digunakan untuk menampilkan data kedalam format html atau homepage, sehingga dapat dilihat diwebsite, baik secara intranet maupun internet.
Macro, digunakan untuk membuat procedure yang sudah tersedia didalamnya, sehingga Anda tidak perlu membuat kode-kode secara utuh. Macro yang sudah dibuat dapat juga di convert kedalam VBA (Visual Basic for Application).
Module, digunakan untuk membuat procedure menggunakan bahasa Visual Basic.

Oleh : Lusky Kurniawan
Tangerang, 7 Juli 2020 Pk. 14.39 WIB

Rekans... silahkan beri masukan dan komentar di bawah ini ya. Masukan dan komentar anda selalu penting buat kita semua. Thank you!