Sunday, September 8, 2013

MS Access Tip- Apa yang Kita Boleh Buat Dengan Date (Tarikh)

Assalamualaikum...

Agaknya apa kelebihan ataupun apa yang kita dapat buat apabila rekod kita mengandungi tarikh..
Saya perhatikan kebanyakan pengguna Ms Excel ataupun MS Access tidak begitu peduli untuk memasukkan tarikh dengan format yang betul.
Kebanyakannya suka memasukkan data dalam format yang berbentuk text.

Contoh2 format yang berdasarkan tarikh format adalah seperti ;

10 Jan 2013, 10 Jan 13, 10-Jan-13, 10-1-13,  dan sebagainya.

Manakala Contoh2 format yang tidak berdasarkan tarikh format (Text) adalah seperti ;
10.1.2013, '10 Jan 2013 (Meletakkan simbol di depan seperti dalam excel) dan sebagainya.


*Nota:
Dalam entry yang lepas saya ada lampirkan jenis data type yang perlu disetkan terlebih dahulu apabila kita membuat sesuatu table dalam MS Access. Jadi dalam Access kalau kita telah setkan Jenis Data kepada Date/Time, ia dapat menghalang format bukan tarikh dimasukkan, tetapi tidak pada Excel.
http://meliawe-tutorial.blogspot.com/2012/11/ms-access-tip-table-data-type-jenis-data.html

Jadi apa kebaikan bila kita memasukkan dengan format yang betul?

<Penerangan>
Apabila kita memasukkan data dalam format date/time (Tarikh/Masa) dengan betul sebenarnya data tu disimpan  dalam bentuk nombor. (Cnthnya 20 Jan 2013 --> 41294, 20 Jan 2013 4:00 PM -->41294.6666666667)
Jadi kelebihan yang pertama disini kita dapat buat pengiraan.. jeng..jeng..jeng..!
Seperti yang saya nyatakan sebelum ni, kita gunakan access bukan hanya untuk merekodkan data. Ia amat2 berkuasa untuk kita membuat pemantauan...berpandukan data yang kita masukkan tadi..he..he..

Contoh yang paling mudah yang selalu saya pakai adalah mengetahu berapa hari lagi sebelum atau sesudah sesuatu tarikh itu.
Misalannya kalau ada rekod berkenaan tarikh mati (due date) untuk bayaran bagi setiap pelanggan, kita boleh mengetahui berapa hari akan tamat dan kita boleh menetapkan apa yang patut kita buat beberapa hari sebelum terlewat.
Formulanya adalah amat mudah dimana kita perlu tolakkan tarikh mati tadi dengan hari ini dalam queries kita. (Access)

=[Tarikh Mati]-Date()

Nota:
function Date() dalam Access bermaksud hari ini, kalau dalam excel Today()

Untuk lebih kreatif dengan menggunakan conditional formating kita boleh buat record yang tarikh matinya tinggal 10 hari lagi diwarnakan dengan merah...

Saya rasa ini amat berguna untuk saya dan saya berkongsi untuk anda semoga anda juga akan mendapat manafaatnya.

Wassalam.....



Saturday, April 20, 2013

Tip: Teknik Summary then zoom in (ringkasan Dan kemudian fokus kedalam)

Assalamualaikum..
Kali ini saya nak berkongsi satu Teknik yang saya namakan "Summary then zoom in" atau dalam bahasa Malaysia saya terjemahkan kepada ringkasan Dan kemudian fokus ke dalam.
Teknik ini amat hebat dan mampu memberi informasi yang cepat kepada pengguna.
Sebelum kita pergi lebih jauh, suka saya ingatkan di sini yang database yang terbaik adalah database yang datanya adalah terperinci bukan ringkasan. Contoh paling senang apabila kita merekodkan tentang perbelanjaan harian kita, yang terbaik adalah kita merekodkan tarikh dan masa transaksi itu berlaku, kategori, perihal transaksi itu, jumlah dan sebagainya yang berkenaan.  Cuba elakkan menjumlah/meringkaskan kepada hari minggu atau bulan mengikut kategori tertentu. Kenapa? Sebab apabila kita sudah memasukkan sesuatu secara terperinci, secara logiknya kita akan dapat membuat ringkasan mengenainya nanti. Tapi apabila kita meringkaskan data dan memasukkan kedalam database kita, secara logiknya itulah data yang paling terperinci yang kita ada.
Jadi apabila orang bertanya berapa kali transaksi yang berlaku dalam satu hari tertentu atau purata transaksi sehari kita akan dapat menjawabnya dengan tepat.
Berbalik pada kaedah tadi, kita  perlu memaparkan ringkasan (jumlah) mengenai sesuatu perkara/kategori dan apabila kita klik pada kategori tertentu kita akan dapat melihat sesuatu yang lebih terperinci.  Dibawah saya lampirkan beberapa contoh yang dipakai oleh laman web popular. Perkara yang sama boleh dilakukan dalam MS Access.

<Penerangan>
1. Motor Trader page ada satu summary page untuk kereta terpakai, untuk menyenangkan pengguna, motor trader telah mengkategorikan mengikut Nama Pengeluar (Seperti BMW, Toyota, Honda dan sebagainya..).
Disebelah Nama Pengeluar ada Nombor dalam Kurungan (seperti BMW (749), Chevrolet (34) dan sebagainya)
2. Nombor didalam braket itu sebenarnya bilangan kereta yang diiklankan mengikut jenis Pengeluar. Jadi Bermakna untuk BMW terdapat 749 kereta yang diiklankan dan untuk Chevrolet sebanyak 34 kereta.
3. Pengguna yang berminat untuk mendapat matlumat lanjut senarai kereta yang diiklankan untuk Pengeluar Tertentu boleh click kepada nama Pengeluar tadi dan seterusnya senarai penuh (details list) page akan muncul seperti ditunjukkan dalam figure selepasnya untuk kereta BMW. (Nota: bagaimanapun saya ada nampak kecacatan dari segi jumlah yang ditunjukkan di summary page(749 item) berbanding dengan details page (445 item) tidak sama)
4. Perkara yang sama juga kita dapat lihat pada lelong.com page dimana contoh disitu kita klik pada kategori  Apple Iphone (457) dan seterusnya details page hanya memeparkan item berkaitan dengan Iphone.
Motor Trader- Summary Page
Motor Trader - Details Page after Zoom in aka Click  on BMW(749)
Lelong.com Summary Page 



Lelong.com Details Page (After Zoom In or Click on Apple Iphone (457))
<Langkah Membuat Teknik "Summary and Zoom-In" dalam Access">
Langkah2 untuk membuatnya saya ringkaskan seperti berikut.
(Nota: Saya akan menggunakan data yang dibuat dalam entry sebelumnya berkenaan dengan bajet bulanan.)

Langkah 1: Buat summary query untuk jumlah bajet bagi tarikh senarai yang sama .
Langkah 2: Buat form baru (Namakan "Homepage") dan masukkan summary query yang dibuat tadi kedalam (sub form ni Namakan "BajetSmryFrm")
Langkah 3: Buat form baru (Namakan BajetMthly) untuk senarai terperinci bajet.
Langkah 4: Assign makro khas kepada jumlah atau tarikh senarai
Saya ulang apa yang kita inginkan adalah apabila kita klik atas jumlah tertentu atau tarikh senarai kita akan dapat melihat segala perincian untuk tarikh senarai yang dipilih sahaja.
Langkah 1 hingga 3, boleh rujuk kepada entry yang terdahulu. Saya telah letakkan link untuk memudahkan urusan melompat kepada entry yang berkaitan.
Hasil dari langkah 1 hingga 3 Seharusnya seperti Berikut.
Hasil Daripada Langkah 1 hingga 2

Saya akan terangkan tentang langkah 4.
Kita akan membuat satu makro yang mengandungi arahan dalam bahasa yang senang di fahami adalah seperti berikut.
"Buka form senarai bajet dan paparkan (semua) data dimana tarikh senarai adalah bersamaan dengan tarikh senarai yang kita klik padanya."
Daripada ayat diatas kita ada 2 ayat penting yang telah saya gariskan seperti berikut;
1. Buka form (open form) yang bernama senarai bajet.
2. Paparkan semua senarai hanya untuk tarikh yang berkenaan sahaja(condition dimana tarikh senarai sama dengan tarikh senarai yang dipilih dalam form)


Makro Kita adalah Seperti Di Bawah- Rahsianya ada Pada "Where Condition"
<Penerangan>
1. Makro Ini Kita Assignkan pada "Sum of Jumlah"- rujuk pada figure Hasil Daripada Langkah 1 hingga 2 di atas.
2. Apabila kita Klik pada "Jumlah" tertentu yang kita pilih nanti, contohnya kita klik pada jumlah "RM5130.00" yang "Tarikh Senarai" nya adalah pada 1 Jan 2012. Berdasarkan Makro di atas, form "BajetMthly" akan dibuka dan semua perincian untuk tarikh 1 Jan 2012 saja akan dipaparkan.

3. Maksud Where Condition

[BajetSmry]![Tarikh Senarai]=[Forms]![HomePage]![BajetSmryfrm].[Form]![Tarikh Senarai] 

Bermaksud "Tarikh Senarai"="Tarikh Senarai" yang kita lihat pada form dimana berkaitan dengan RM5130.00 yang kita klik tadi. (tarikh senarai berubah mengikut dimana kita klik)

<Hasilnya>
Hasil yang kita dapat adalah seperti dalam video. (ada banyak benda lain yang saya letak tapi hasil utamanya adalah senarai terperinci)
Selamat Mencuba dan Wassalam..