Sedang: Memerlukan dasar makro, pengkodean dan keterampilan interoperabilitas .


Artikel ini hanya berlaku untuk Microsoft Access proyek (.adp).


Gejala

Ketika Anda mencoba untuk filter akses formulir atau laporan menggunakan nilai yang ditampilkan pada objek lain, seperti bentuk akses lain, filter tidak diterapkan.

Pemecahan masalah

Ada beberapa metode yang dapat digunakan untuk mengatasi ketidakmampuan untuk filter formulir atau laporan yang dibatasi untuk prosedur tersimpan atau fungsi. Sebagian besar resolusi ini melibatkan mengganti prosedur tersimpan atau fungsi dengan beberapa jenis sumber data, seperti tabel, tampilan, atau pernyataan SQL yang lain.

Namun, resolusi berikut menunjukkan bagaimana Anda dapat terus menggunakan prosedur yang disimpan sebagai sumber data untuk bentuk saat berhasil menerapkan kondisi di mana atau filter.

Hati-hati: jika Anda mengikuti langkah-langkah dalam contoh ini, Anda mengubah contoh akses proyek NorthwindCS.adp. Anda mungkin ingin membuat cadangan berkas NorthwindCS.adp dan ikuti langkah-langkah berikut pada salinan proyek.

  1. Buka contoh proyek NorthwindCS.adp.

  2. Di jendela Database, klik untuk menyorot tabel kategori, dan kemudian klik AutoForm pada menu sisipkan .

    Catatan Jika Anda menggunakan Access 2007, klik untuk menyorot tabel kategori di jendela pangkalan data, dan kemudian klik bentuk dalam bentuk grup tab buat .

  3. Membuka borang di tampilan desain.

  4. Hapus subform objek yang diberi label Table.Products dari bentuk utama, dan kemudian tambahkan tombol perintah ke bentuk. Jika Wisaya dimulai, klik Batal.

  5. Tetapkan properti tombol perintah berikut ini:
    Name: cmdFilterProducts
    Caption: Filter Products
    On Click: [Event Procedure]

  6. Tetapkan properti OnClick tombol perintah untuk prosedur kejadian berikut ini:

    Private Sub cmdFilterProducts_Click()
    DoCmd.OpenForm "Products", acNormal, , , acFormEdit, acWindowNormal
    End Sub
  7. Pada File menu, klik tutup dan kembali ke Microsoft Access.

  8. Pada File menu, klik Simpan, dan menyimpan bentuk sebagai Categories1.

    Catatan Pada toolbar Akses cepat , klik Simpan.

  9. Di jendela Database, klik permintaan, dan kemudian klik baru.

    Catatan Jika Anda menggunakan Access 2007, klik Wisaya kueri di grup tab buat .

  10. Di kotak dialog Kueri baru , klik Membuat teks disimpan prosedur, dan kemudian klik OK.

  11. Ketik atau tempel pernyataan Transact-SQL berikut, dan kemudian tutup dan Simpan prosedur dengan nama default spProducts:

    CREATE PROCEDURE spProducts
    @CatID int
    AS
    SELECT * FROM Products WHERE CategoryID = @CatID
    RETURN
  12. Membuka borang produk di tampilan desain, dan kemudian mengubah properti Sumber data dari produk spProducts.

  13. Gulir ke bawah properti InputParameters bentuk, dan kemudian tetapkan nilai berikut ini:

    @CatID int = bentuk! [Categories1]! [CategoryID]

  14. Tutup dan Simpan produk bentuk, dan kemudian membuka borang Categories1.

  15. Jelajahi CategoryName permen, dan kemudian klik tombol Filter produk . Perhatikan bahwa produk formulir membuka dan menampilkan hanya produk mana kategori sama dengan permen.

Status

Perilaku ini merupakan bagian dari rancangan.

Informasi lebih lanjut

Seringkali, akses pengguna akan ingin membatasi jumlah data yang muncul di akses formulir atau laporan. Salah satu metode untuk melakukan hal ini adalah untuk menyaring data pada formulir (atau laporan) dengan kondisi di mana dan menggunakan beberapa objek memberikan nilai bersyarat. Misalnya, salah satu bentuk dapat menampilkan nilai bersyarat yang akan digunakan oleh bentuk lain untuk membatasi jumlah data yang akan ditampilkan. Namun, jika bentuk yang sedang Anda coba untuk memfilter prosedur tersimpan atau fungsi sebagai sumber data, filter akan diabaikan. Langkah-langkah berikut menggambarkan perilaku ini.

Hati-hati: jika Anda mengikuti langkah-langkah dalam contoh ini, Anda mengubah contoh akses proyek NorthwindCS.adp. Anda mungkin ingin membuat cadangan berkas NorthwindCS.adp dan ikuti langkah-langkah berikut pada salinan proyek.

Langkah-langkah untuk mereproduksi perilaku akses 2003

  1. Ikuti langkah-langkah 1 sampai 5 bagian "resolusi" sebelumnya dalam artikel ini.

  2. Tetapkan properti OnClick tombol perintah untuk prosedur kejadian berikut ini:

    Private Sub cmdFilterProducts_Click()
    DoCmd.OpenForm "Products", acNormal, , "[CategoryID] = " & Me!CategoryID, acFormEdit, acWindowNormal
    End Sub
  3. Pada File menu, klik tutup dan kembali ke Microsoft Access.

  4. Pada File menu, klik Simpan, dan kemudian simpan bentuk sebagai Categories1.

  5. Membuka borang di tampilan borang.

  6. Jelajahi CategoryName permen, dan kemudian klik tombol Filter produk . Perhatikan bahwa produk formulir membuka dan menampilkan hanya produk mana kategori sama dengan permen.

  7. Tutup produk dan Categories1 formulir.

  8. Di jendela Database, klik permintaan, dan kemudian klik baru. Klik Membuat teks disimpan prosedur, dan kemudian klik OK.

  9. Ketik atau tempel pernyataan Transact-SQL berikut, dan kemudian tutup dan Simpan prosedur dengan nama default spProducts:

    CREATE PROCEDURE spProducts
    AS
    SELECT * FROM Products
    RETURN
  10. Membuka borang produk di tampilan desain, dan kemudian mengubah properti RecordSource dari produk spProducts.

  11. Tutup dan Simpan produk bentuk, dan kemudian membuka borang Categories1.

  12. Jelajahi CategoryName permen, dan kemudian klik tombol Filter produk . Perhatikan bahwa produk formulir membuka dan menampilkan semua produk dan bukan hanya produk dalam kategori permen.

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Seberapa puaskah Anda dengan kualitas terjemahannya?
Apa yang memengaruhi pengalaman Anda?

Terima kasih atas umpan balik Anda!

×