Pilih topik apa pun di bawah ini untuk mempelajari tentang mengelola Perusahaan di Northwind Developer Edition.
Catatan: Halaman ini direferensikan pada Access Developer Showcase Edition
Di Northwind Starter Edition, Pelanggan adalah satu-satunya tipe perusahaan. Dalam Edisi Pengembang, kami telah memperluasnya untuk menyertakan Pelanggan, Pengirit, dan Vendor.
Kami juga memperluas Produk untuk menyertakan beberapa vendor untuk suatu produk.
Setiap perusahaan hanya bisa satu tipe: Customer, Shipper atau Vendor. Kasus bisnis ketika tipe perusahaan dapat diubah dijelaskan di bagian frmCompanyDetail di artikel ini. '
Tipe perusahaan dan di mana mereka digunakan
-
Pelanggan untuk Pesanan
-
Pengirim untuk Pesanan
-
Vendor untuk Pesanan Pembelian
-
Vendor untuk Produk
Selain itu, Perusahaan dalam versi Pengembang Northwind dapat memiliki beberapa Kontak. '
Perusahaan di Pita
Memilih Perusahaan dari Pita menampilkan Perusahaan di Northwind di frmCompanyList.
Daftar Perusahaan - frmCompanyList
Dalam Versi Pengembang Northwind, frmCompanyList adalah formulir terpisah. Formulir terpisah memberi Anda dua tampilan data sekaligus, Tampilan Formulir dan Tampilan Lembar Data. Ini juga memiliki header dan footer. Dalam implementasi ini, kami tidak akan menampilkan tampilan formulir. Dengan tidak menampilkan tampilan formulir, kita akan memiliki lembar data dengan header dan footer.
Berikut cara kami mencapai ini:
Di frmCompanyList, bilah pemisah antara header dan lembar data tidak terlihat. Properti formulir Bilah Pemisah Formulir Terpisah diatur ke Tidak, sehingga menyembunyikan tampilan formulir.
Formulir terpisah dan formulir Lembar Data seperti lembar kerja Excel. Mereka mendukung pemfilteran dan pengurutan, dan Anda bisa memperlihatkan, menyembunyikan, atau memindahkan bidang atau kolom. Selain itu, kolom dapat dijumlahkan.
Bagian header dan footer formulir terpisah memungkinkan Anda menggunakan tombol perintah, gambar, teks(label) dan kontrol formulir akses lainnya yang ingin Anda tingkatkan pengalaman pengguna. Untuk mempelajari selengkapnya tentang formulir dan formulir terpisah, Anda dapat memulai di sini. Lembar data tidak menampilkan bagian header dan footer.
Pelajari selengkapnya melalui Pengenalan formulir dan Membuat formulir terpisah. '
Formulir Daftar Perusahaan mendukung lima tindakan ini:
-
Menerapkan filter kustom yang telah disiapkan sebelumnya, pemfilteran sesuai permintaan, atau keduanya
-
Perlihatkan/Sembunyikan Bidang
-
Membuat Label
-
Perlihatkan Filter
-
Menambahkan Perusahaan baru
Klik ganda di mana saja dalam baris detail untuk membuka formulir Detail Perusahaan (tidak hanya pada ID seperti dalam formulir lain). '
Filter siap pakai dan pemfilteran sesuai permintaan
Bentuk frmCompanyList kaya dengan peluang untuk memfilter Perusahaan di Northwind. Di bagian atas layar, Anda dapat memfilter menggunakan tombol radio berikut:
-
Semua Perusahaan (defaultnya)
-
Pelanggan Saja
-
Pengirman Saja
-
Vendor Saja
Selain itu, tersedia opsi pemfilteran bawaan lembar data sesuai permintaan. Filter apa pun yang diterapkan ke formulir Daftar Perusahaan (siap pakai atau sesuai permintaan) dikirimkan dan diterapkan ke frmCompanyDetail saat dibuka.
Untuk meneruskan filter dari satu formulir ke formulir lainnya, pertama-tama Anda harus membersihkan string filter formulir agar hanya berisi nama bidang. Lihat modul kode Open_frmCompanyDetail untuk penjelasan yang lebih mendetail tentang bagaimana hal ini dilakukan dan di frmCompanyDetail di komentar untuk Form_Load untuk melihat bagaimana hal ini diterapkan.
Kami mengirimkan informasi filter ke formulir Detail Perusahaan melalui properti OpenArgs formulir dan bukan membuka formulir dengan kondisi di mana . Anda dapat mempelajari selengkapnya tentang OpenArgs di sini.
Perlihatkan/Sembunyikan Bidang
Pilih Perlihatkan/Sembunyikan Bidang untuk membuka dialog dengan daftar semua bidang yang tersedia; Anda bisa mencentang atau menghapus centang satu atau beberapa kolom. Tata letak yang dipilih berlanjut dari satu sesi ke sesi lainnya hingga versi baru aplikasi disebarkan. Lihat Memperlihatkan atau menyembunyikan kolom dalam lembar data.
Membuat Label
Tombol Buat label akan membuka Panduan Label Access. Pelajari selengkapnya tentang panduan label di sini: Membuat label surat di Access.
Buka Detail Perusahaan
Klik Ganda di mana saja dalam baris detail untuk membuka frmCompanyDetail
Klik bidang ID (disiapkan sebagai hyperlink) atau klik ganda bidang lain di baris detail untuk membuka frmCompanyDetail ke Perusahaan yang dipilih dan lolos filter formulir apa pun yang diterapkan ke Daftar Perusahaan untuk frmCompanyDetail.
Detail Perusahaan - frmCompanyDetail
Sekilas frmCompanyDetail mungkin terlihat relatif sederhana. Namun, itu tidak. Dalam kode di belakang formulir, banyak yang terjadi! Formulir menyoroti tindakan dan fitur berikut ini:
-
Beberapa tombol perintah dan tautan
-
Tambahkan Perusahaan
-
Daftar Perusahaan Email
-
Perlihatkan Filter
-
Hapus Perusahaan
-
Membuka Peta berdasarkan Alamat
-
Membuka situs web dari hyperlink
-
-
Membatalkan atau Menyimpan tindakan dalam mode tambahkan/edit
-
Aturan bisnis untuk mengontrol kapan tipe perusahaan bisa diubah
-
Pemeriksaan integritas referensial sebelum acara hapus '
Acara Form_Load menyertakan tindakan berikut:
-
Menggunakan beberapa parameter yang dikirimkan ke formulir melalui OpenArgs dan fungsi Northwind StringToDictionary kustom
-
Gunakan properti formulir OpenArgs untuk memungkinkan pengguna menambahkan Perusahaan baru saat melakukan Pesanan
-
Gunakan teknik GoToRecord untuk menambahkan Perusahaan baru
-
Gunakan teknik SearchForRecord untuk berpindah ke Perusahaan yang dipilih di frmCompanyList
-
Opsi Eksekusi Bercabang/Bersyarat (Lihat Acara Form_Load)
-
Opsi 1 - Pernyataan Kasus
-
Opsi 2 - Ditumpuk Jika Lainnya
-
Opsi 3 – ElseIf
-
Opsi 4 - Bertumpuk Jika Lain dan ElseIf '
-
Dalam acara Form_Current, hal berikut ini terjadi:
-
Ubah sub formulir caption dan objek sumber pada runtime dengan menghubungi sub ManageFormOptions(). Subroutine ini disebut dari beberapa tempat dalam bentuk ini. '
Batalkan atau Simpan Tindakan saat dalam mode tambahkan atau edit.
Formulir Access kami terikat. Apa maksudnya? Dari Microsoft: "Formulir 'terikat' adalah formulir yang tersambung langsung ke sumber data seperti tabel atau kueri, dan dapat digunakan untuk memasukkan, mengedit, atau menampilkan data dari sumber data tersebut."
Dengan formulir terikat, Access tidak mengharuskan Anda untuk secara eksplisit "menyimpan" data Anda. Saat Anda berpindah dari satu catatan ke Access berikutnya secara otomatis menyimpan data Anda. Sering kali itu berfungsi seperti yang Anda inginkan. Tetapi bagaimana jika pengguna harus mengambil tindakan untuk menunjukkan bahwa mereka siap untuk menyimpan?
Misalnya, formulir frmCompanyDetail memiliki sub formulir untuk Kontak (sfrmCompanyDetail_Contacts). Jadi, apa yang terjadi jika Anda mulai menambahkan atau mengedit data perusahaan — katakanlah nomor telepon — dan berhenti sebentar untuk memperbaiki kesalahan ketik yang Anda perhatikan dalam informasi Kontak? Secara default, Access akan menyimpan perubahan apa pun yang Anda buat di catatan perusahaan saat Anda mengklik catatan kontak, yang bukan yang Anda inginkan.
Dalam formulir ini, kami menunjukkan salah satu cara untuk menyelesaikan ini dengan satu catatan untuk Perusahaan.
Apa alasan memiliki tombol Batalkan ? Kunci escape membatalkan data yang dimasukkan atau diubah (tetapi tidak disimpan) dalam kontrol pada formulir. Dalam keadaan ini, ikon pensil muncul di pemilih rekaman (bilah vertikal abu-abu di sisi kiri jauh baris).
Namun, setelah Anda mengklik tombol Tambahkan Perusahaan , Anda akan melihat bahwa tidak ada ikon pensil hingga Anda mulai memasukkan data dalam catatan perusahaan baru. Bagaimana jika Anda berubah pikiran untuk menambahkan perusahaan baru pada saat ini? Jika Anda menekan tombol escape, tidak ada yang terjadi karena Anda belum memasukkan data apa pun. Itulah sebabnya kami memiliki tombol batal.
Mengklik tombol Batalkan selalu berfungsi; kunci escape hanya berfungsi ketika Anda telah memasukkan atau mengubah data.
Jika Anda mulai menambahkan atau mengubah data lalu menutup formulir tanpa mengklik simpan atau batalkan, secara default Access akan menyimpan data.
Aturan Bisnis: Sebagai aturan bisnis Northwind untuk Perusahaan, kami ingin Anda secara eksplisit menunjukkan bahwa Anda ingin "Simpan". Untuk memastikan bahwa, kita harus memeriksa apakah pengguna mengklik simpan dalam acara Form_BeforeUpdate dan jika mereka tidak mengklik simpan, minta pengguna untuk menunjukkan apakah mereka ingin menyimpan atau membatalkan perubahan mereka. '
Perubahan Tipe Perusahaan
Aturan Bisnis: Jika Perusahaan memiliki Pesanan, Pesanan Pembelian, atau Merupakan Vendor untuk Produk, pengguna tidak dapat mengubah Tipe Perusahaan. Kami telah membuat fungsi, CompanyIsActive(), untuk menentukan apakah ada kondisi di atas. Jika mereka melakukannya, pengguna tidak dapat mengubah tipe perusahaan hingga referensi ini dikosongkan (dihapus).
Aturan ini hanya diberlakukan dalam formulir ini. Dalam aplikasi siap produksi, Anda tidak akan mengizinkan pengguna untuk mengubah data dengan membuka tabel secara langsung. Di Northwind, kami mengizinkan Anda untuk membuka tabel dan melakukan apa pun yang Anda inginkan. Ini adalah cara yang bagus untuk belajar, tetapi juga membuat Anda bebas membuat perubahan yang mungkin melanggar aturan.
Anda harus selalu program defensif. Rencanakan untuk hal yang tidak diharapkan. Bahkan jika Perusahaan saat ini adalah Pengirim, itu tidak berarti mereka tidak pada suatu waktu vendor atau pelanggan. ID mereka mungkin ditemukan dalam rekaman lama di tabel ProductVendor atau PurchaseOrder . '
Formulir Dialog Kustom.
Untuk menampilkan temuannya, cboCompanyTypeID_BeforeUpdate menggunakan formulir dialog, frmGenericDialog. Ini bisa menjadi alternatif yang bagus untuk kotak pesan standar ketika Anda memiliki banyak informasi untuk ditampilkan. Ini juga digunakan dengan formulir karyawan untuk tujuan yang sama.' Hapus Pemeriksaan Integritas Referensial
Di Northwind Starter Edition, kami mengizinkan perilaku default Access memberi tahu Anda bahwa perusahaan tidak dapat dihapus ketika memiliki catatan terkait.
Di Northwind Developer Edition, kami memberi tahu Anda sebelum penghapusan, dan bukannya menerima perilaku default Access. Kami melakukan hal tersebut menggunakan fungsi yang sama seperti kami melakukan Perubahan Tipe Perusahaan; fungsi CompanyIsActive().
Perbedaannya adalah kami hanya peduli dengan Pesanan atau Pesanan Pembelian. Jika tidak ada Pesanan atau Pesanan Pembelian, kami mengonfirmasi niat Anda untuk menghapus, dan kami akan menghapus Vendor Produk dan Kontak jika ada untuk Anda.
-
Northwind 2.0 Edisi Pengembang: Hal-hal yang harus Anda ketahui
-
Northwind 2.0 Edisi Pengembang: Semua topik