Minggu, Februari 24, 2013

Catatan Iseng Dengan Microsoft Access (2010)

Microsoft Access merupakan perangkat lunak basisdata untuk desktop yang diakui kemudahannya. Walaupun di versi 2010 ini sudah ada pilihan mode web, tetapi terus terang saya juga belum mencoba penerapannya. Jadi bisa diasumsikan bisa diterapkan hampir semua versi Microsoft Access.

Mungkin karena Microsoft Access ini bawaan dari kantor, sementara infrastuktur dirumah dan hosting semuanya Apache di platform nix, jadi sepertinya jaka sembung naik ojek, ndak bakalan nyambung dan konek. Tetapi cukuplah untuk diterapkan secara praktis saja, minimal untuk memperlihatkan konsep sederhana.


Berikut konsep Ms. Access yang digunakan:
  • Relationship antar tabel di set dengan cermat, sehingga lookup otomatis menyambung. Ketika pembuatan form, otomatis akan ditawarkan sub-form jika mengenai field-field beda tabel dan sudah di hubungan relationship antar tabel dengan tepat.
  • Penggunaan lookup field yang intensif agar normalisasi optimal. Kebanyakan menggunakan combo-lookup. 
  • Caption di field diisi, sehingga caption saat dimunculkan di form/report sudah otomatis rapi.
  • Form master-detail biasanya dihubungkan oleh satu field primary key di tabel utama dan field penghubungnya di tabel detail. Jika perlu composite primary key, yaitu primary key lebih dari satu field, tinggal di edit di properti datasource di subform, ada properti Link Master Fields dan Link Child Fields.
  • Master lookup data meletakkan kolom key/ID/Number sebagai field kedua. Field pertama adalah field yg berisi isi/nama/penjelasan yg di lookup yang akan tampil.
  • Penggunaan filter dari field value dari form.
              contoh: Where [NamaTabel].[namakolom] = [Forms]![FMKK]![KK_ID]
                          berguna ketika lookup list perlu diringkas agar hanya isi yang sesuai saja yg muncul.
  • Modifikasi query lookup agar pilihan isiannya sesuai.
  [QMOrtuAyah]: SELECT MWarga.Nama, MWarga.Hubungan_Keluarga_ID
    FROM MWarga
    WHERE (((MWarga.Hubungan_Keluarga_ID)=1) AND ((MWarga.KK_ID)=[Forms]![FMKK]![KK_ID]))
    UNION
    SELECT "-", 0 From MWarga;
  • Menggunakan event oncurrent di form untuk merubah warna textbox tergantung isi text-nya.
Private Sub Form_Current()
  If StatusEdit.Value = "1" Then StatusEdit.BackColor = vbWhite Else StatusEdit.BackColor = vbRed
End Sub
  • Print/show form/report using current record automatically. 
  • Urutan event di form
             Open → Load → Resize → Activate → Current
  • Mewarnai baris/control field sesuai kondisi nilai suatu field dalam satu baris. Misal jika field Status bernilai "Done", maka beberapa field akan diberi warna latar Biru muda. Caranya sbb: Masuk ke Design View, pilih control field yang akan diwarnai (Shift-Click) jika ingin lebih dari satu, kemudian masuk ke menu FORMAT | Conditional Format, pilih kondisinya Expression Is, kemudian ini dengan [namafield] = nilaifield, misal [Status]="Done". Kemudian set warna latar dan warna teks yang diinginkan.
  • Identifier Me dan Parent cukup efektif untuk mengacu ke object kontainer yang aktif saat itu dan mereferensikannya. Contoh sbb:
Private Sub Activity_DblClick(Cancel As Integer)
     Dim rs As Object
       Dim strLinkValue As String     'value in link field of the subform
         'when user click a record in this subform, it then will locate the same ID record in the main Form
           strLinkValue = Me!ID.Value
             Set rs = Me.Parent.Recordset.Clone  'save the main form recordset
               rs.FindFirst "[ID] = " & strLinkValue
                 Me.Parent.Bookmark = rs.Bookmark
                  End Sub

                  Microsoft Access Form References terdiri dari Absolute references dan Relative references. Contoh diatas adalah Relative reference, karena penggunaan identifier ME dan PARENT.
                  • dst.

                  Jadi ini sekedar mengingat lagi dan berlatih dengan koding lah ya.

                  Tidak ada komentar: