Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Pilih topik apa pun di bawah ini untuk mempelajari tentang mengelola Pesanan di Northwind Developer Edition. 

Aplikasi sampel Northwind Orders Edisi Pengembang ini lebih canggih daripada Edisi Starter. Ini diperluas pada skema database (tabel yang digunakan) dan sekarang menyediakan fitur tingkat lanjut tambahan. Tujuan di sini adalah untuk memperkenalkan Anda pada fitur Microsoft Access, bukan untuk menjalankan bisnis tertentu.

  • Daftar Pesanan tersedia dari Pita. Ini memiliki beberapa opsi filter, dan hyperlink untuk membuka setiap pesanan.

  • Daftar Pesanan dan Pita memiliki tombol Tambahkan Pesanan untuk membuka urutan kosong baru.

  • Pada formulir Pesanan Baru, pilih pelanggan yang sudah ada dari menu menurun. Pada saat itu nama Karyawan Anda dan status baru dipilih. Tanggal Pesanan juga sudah diisi. Tarif Pajak dibaca dari tabel SystemSettings , dan Status Pajak default dari catatan Pelanggan.

  • Pesanan baru dan pesanan pembelian ditambahkan ke daftar MRU (Paling Baru Digunakan) di Pita. Pelajari selengkapnya melalui bagian Daftar MRU dalam artikel ini

  • Biarkan Tanggal Pengiriman dan Tanggal Dibayar kosong untuk saat ini.

  • Untuk menambahkan pesanan bagi pelanggan baru, masukkan nama perusahaan dan tab out. Formulir Detail Perusahaan akan terbuka untuk menyelesaikan catatan pelanggan baru. Lalu tutup dan lanjutkan dengan pesanan. Perusahaan baru sekarang akan berada di menu menurun Pelanggan .

  • Untuk menambahkan item ke pesanan, pilih Kategori Produk dan Produk untuk pesanan ini dan masukkan Kuantitas. Harga Satuan diisi, dan Harga dihitung dengan ekspresi.

  • Lanjutkan Status Pesanan dan pindahkan pesanan melalui alur kerja dari > Baru > Dikirim > Ditutup menggunakan tombol di bagian atas formulir Pesanan.

  • Invoicing hanya dapat terjadi jika produk dialokasikan untuk pesanan tersebut. Jika item baris berada dalam status Tanpa Saham atau On Order, kesalahan validasi akan terjadi. Pengguna dapat membuat Pesanan Pembelian untuk produk tersebut dan menerimanya, dan status item pesanan akan disesuaikan dengan Dialokasikan.

  • Untuk mengirimkan pesanan, BiayaPengirim dan Pengiriman harus dimasukkan. Jika Anda lupa melakukannya, kesalahan validasi akan terjadi. Biaya Pengiriman ditambahkan ke Total Pesanan.

  • Pesanan yang dipesan dapat dihapus menggunakan tombol Hapus Pesanan.

  • Item baris pesanan tidak dapat diubah setelah pesanan melewati status Baru .

  • Dalam versi Northwind Starter, proses Pemesanan sangat sederhana (misalnya, inventaris selalu tersedia, tidak pernah kehabisan, dan tidak perlu dibeli). Sekarang, dalam edisi Dev ini, proses yang lebih realistis membahas setidaknya beberapa masalah seperti itu. Ingatlah bahwa kami menampilkan fitur dan praktik terbaik Access, tidak menerapkan aplikasi di dunia nyata. 

  • Bukti bahwa kami tidak menerapkan aplikasi dunia nyata di sini mencakup fakta bahwa tanggal tidak divalidasi. Oleh karena itu, dimungkinkan untuk memasukkan tanggal yang tidak logis seperti Tanggal Pengiriman yang sebelum Tanggal Pesanan. 

Bagian ini membahas detail implementasi yang patut diperhatikan dari formulir Pesanan, frmOrderDetails:

Formulir pesanan mendapatkan datanya dari kueri qryOrder sederhana (lihat properti RecordSource ). Mendongkrak formulir entri data pada kueri satu tabel sederhana adalah praktik terbaik. Perhatikan bahwa tidak perlu menyertakan tabel OrderDetails dalam kueri ini. Detail Pesanan ditangani oleh subformulir.

Formulir OrderList dapat membuka beberapa contoh formulir Pesanan. Ini berguna karena perwakilan penjualan menangani banyak gangguan dan mungkin perlu membuka pesanan lain saat mengerjakan pesanan pertama, atau membandingkannya dengan pesanan ketiga. Teknik ini didokumentasikan di sini.

Berbagai bidang ID mendapatkan nilainya dari kotak kombo dua kolom: kolom ID tersembunyi, dan kolom Deskripsi yang terlihat. Kotak kombo ini terikat ke kueri dua kolom sederhana: lihat properti RowSource .

Tombol alur kerja memiliki logika bisnis yang terkait dengannya memaksa pengguna untuk melanjutkan pesanan dari 1 ke 4. Tim Pengembangan Northwind menyadari bahwa beberapa perusahaan mungkin menggunakan aturan yang berbeda. Hal ini kemudian akan mengakibatkan implementasi yang berbeda untuk kejadian klik tombol, serta pertimbangan ulang kapan pesanan sudah pasti, dan kapan pesanan masih dapat dihapus.

SfrmOrderDetails subformulir terikat ke kueri yang lebih kompleks. Alasan untuk itu dibahas di bagian Kotak Kombo Bertingkat di bawah ini. Kami memeriksa inventaris dalam acara Form_AfterUpdate saat baris disimpan dan kami dapat menjalankan kueri database yang lebih efektif.

ProductCategory dan Product adalah kotak kombo bertingkat: memilih dari yang pertama (ProductCategory) mempersempit catatan Produk anak berikutnya. Teknik yang digunakan di sini dijelaskan secara mendetail di bawah ini.

Saat menyimpan rekaman, bidang yang diperlukan harus diisi. Di edisi Starter, kami membiarkan perilaku default Access terjadi; dalam edisi Dev ini, teknik yang lebih ramah pengguna diterapkan. Teknik yang digunakan di sini dijelaskan secara mendetail di bawah ini.

Untuk setiap item baris pesanan, persediaan yang tersedia dicentang dan status diatur sesuai keinginan. Gagasan dasar fitur ini dijelaskan di sini.
 

KOTAK KOMBO BERTINGKAT

Menerapkan Menu menurun Kategori Produk dan Produk sebagai Kotak Kombo Bertingkat sangat menyulitkan karena Access tidak mendukung fitur ini. Empat langkah diperlukan dalam teknik ini:

Formulir harus berada dalam mode Formulir Berkelanjutan (bukan Lembar Data). Kotak teks tumpang tindih dengan bagian teks dari setiap kotak kombo, membiarkan hanya panah turun bawahnya yang terlihat. 

Kueri sumber rekaman formulir, qryOrderLineItems, menggunakan tabel OrderDetails per biasa, tetapi juga bergabung dengan tabel Products and ProductCategories untuk mengambil ProductName dan ProductCategoryName. Dua kotak teks yang tumpang tindih terikat ke bidang ini.

Kotak kombo RowSource untuk Produk terlihat kembali di cboProductCategories untuk mengembalikan hanya produk untuk kategori yang dipilih dalam kotak kombo tersebut. Perhatikan sintaks "[Form]! [cboProductCategories]" dalam ekspresi kriteria, yang lebih fleksibel daripada Formulir eksplisit ! FormName! Sintaks ControlName , yang mereferensikan satu formulir menurut nama.

Setelah memilih kategori produk dalam kotak kombo ProductCategories yang tidak terikat, acara AfterUpdate mengatur kotak kombo Produk ke nilai pertama dalam daftarnya. Tindakan ini akan membuat baris baru di RecordSource formulir, yang mengisi CategoryName sehingga dapat ditampilkan oleh kotak teks yang tumpang tindih.
 

VALIDASI

Menggunakan kode validasi yang diterapkan dalam edisi Northwind Dev hanya memerlukan 3 baris kode:

  • In Form_BeforeUpdate:
       Cancel = ValidateForm(Me)

  • Dalam Form_AfterUpdate dan Form_Current:
        ValidateForm_RemoveHighlights Saya

Membuat kode yang sangat mandiri adalah pola yang baik untuk diikuti karena membuatnya mudah diterapkan di mana saja. Pengembang profesional mungkin melakukan hal ini lebih lanjut, misalnya, dengan menggunakan subkelas formulir. (Ini di luar tujuan untuk Northwind Dev.)

Objek formulir dikirimkan ke kode validasi mandiri untuk divalidasi. Kemudian memeriksa kumpulan Bidang RecordsetClone yang mendasar untuk mencari tahu kontrol mana yang terikat ke bidang yang diperlukan, dan memeriksa apakah mereka memiliki nilai. Jika tidak, fitur tersebut akan disorot.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×