Microsoft Access'te forma göre sorgu (QBF) tekniğini kullanma
Özgün KB numarası: 304428
Not
Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir. Bu makale yalnızca Microsoft Access veritabanı (.accdb ve .mdb) için geçerlidir.
Özet
Bu makalede, sorgu ölçütlerini belirtmek için formun nasıl kullanılacağı gösterilmektedir. Bu teknik, forma göre sorgu (QBF) olarak adlandırılır.
Ek Bilgi
QBF tekniğinde, sorgu ölçütlerini girdiğiniz bir form oluşturursunuz. Bu form boş metin kutuları içeriyor. Her metin kutusu, tabloda sorgulamak istediğiniz bir alanı temsil eder. Girdileri yalnızca arama ölçütlerini belirtmek istediğiniz metin kutularında yaparsınız.
QBF formu, tablodaki alanlarla eşleşen alanları olan bir veri giriş formuna benzer. Ad, Adres, Şehir, Eyalet ve Posta Kodu alanlarını içeren bir tablonun karşılık gelen alanları olan bir QBF formu olabilir. Belirli kayıtları seçmek için forma herhangi bir arama ölçütü bileşimi girebilirsiniz. Yalnızca bir şehir, şehir ve eyalet ya da yalnızca posta kodu ya da başka bir birleşim belirtebilirsiniz. Boş bıraktığınız alanlar yoksayılır. Formda bir komut düğmesine tıkladığınızda, Access formunuzdan arama ölçütlerini kullanan bir sorgu çalıştırır.
QBF tekniğini kullanmak için şu adımları izleyin:
Örnek veritabanı Northwind.mdb açın.
Herhangi bir tablo veya sorguyu temel almamış yeni bir form oluşturun ve QBF_Form olarak kaydedin.
Yeni formda, aşağıdaki özelliklere sahip iki metin kutusu ve bir komut düğmesi oluşturun. Ardından formu kaydedin:
Text box 1 ------------------ Name: WhatCustomer Text box 2 ------------------ Name: WhatEmployee Command button 1: ------------------ Caption: Search OnClick: QBF_Macro
Aşağıdaki yeni makroyu oluşturun ve QBF_Macro olarak kaydedin:
Action: OpenQuery Query Name: QBF_Query View: Datasheet Data Mode: Edit
Orders tablosunu temel alan aşağıdaki yeni sorguyu oluşturun ve QBF_Query olarak kaydedin:
Field: CustomerID Sort: Ascending Criteria: Forms![QBF_Form]![WhatCustomer] Or Forms![QBF_Form]![WhatCustomer] Is Null Field: EmployeeID Sort: Ascending Criteria: Forms![QBF_Form]![WhatEmployee] Or Forms![QBF_Form]![WhatEmployee] Is Null NOTE: When you type the criteria, make sure that you type the entire criteria in a single Criteria field; do not split the criteria by placing the 'Or' section on a separate row. Field: OrderID Field: OrderDate
Form görünümünde QBF_Form açın. Aşağıdaki ölçüt birleşimlerini girin. Her birleşimden sonra Ara'ya tıklayın:
Customer ID Employee ID Result ------------------------------------------------------- <blank> <blank> All 830 orders AROUT <blank> 13 orders AROUT 4 4 AROUT orders for employee 4 <blank> 4 156 orders for employee 4
Her sorgu için sonuç kümesini görüntüledikten sonra Veri Sayfası penceresini kapatın. Ardından, sonraki aramanıza başlayın. Ara düğmesine her tıkladığınızda, QBF sorgusundaki parametreler verileri QBF sorgu formunda belirttiğiniz arama ölçütlerine göre filtreler.
QBF parametre ölçütlerine ilişkin notlar
Bu makaledeki örnek QBF sorgusu, sorguda şu ölçütleri uygular:
Forms! FormName! ControlnameYa da Forms! FormName! ControlnameIs Null
verileri filtrelemek için. Bu ölçütler eşleşen tüm kayıtları döndürür. Ölçüt değeri null ise, belirtilen alan için tüm kayıtlar döndürülür.
Biraz farklı sonuçlar döndürmek için aşağıdaki alternatif ölçütlerden herhangi birini belirtebilirsiniz.
Not
Aşağıdaki örnek ölçütlerde, çizgi devamlılığı karakteri olarak bir alt çizgi (_) kullanılır. Bu ölçütleri yeniden oluştururken satırın sonundan alt çizgiyi kaldırın.
Forms gibi! FormName! ControlName& "*" Veya _ Forms! FormName! ControlnameIs Null
Bu ölçüt deyimi, joker karakter kullanarak sorgulayabileceğiniz durumlar dışında yukarıdaki QBF örneğiyle aynıdır. Örneğin, bu ölçüt deyimini kullanarak bir alana "Jo" girerseniz, sorgu alandaki "Jo" ile başlayan tüm kayıtları döndürür. Buna Johnson, Jones, Johanna vb. dahildir.
Formlar Arasında! FormName! BaşlangıçTarihi ve Formlar! FormName! EndDate veya _ Forms! FormName! StartDate Is Null
Bu ölçüt deyimini, sorgu formundaki Başlangıç Tarihi ve Bitiş Tarihi metin kutularını kullanarak bir tarih alanını sorgulamak için kullanabilirsiniz. Başlangıç ve bitiş tarihleri sorgu formunda belirttiğiniz değerler arasında kalan kayıtlar döndürülür. Ancak formda bir Başlangıç Tarihi değerini atlarsanız, sorgu Bitiş Tarihi değerinden bağımsız olarak tüm kayıtları döndürür.
Forms gibi! FormName! ControlName& "*" Veya Is Null
Bu ölçüt deyimi, ölçütle eşleşen kayıtları ve null olan kayıtları döndürür. Ölçüt null ise, tüm kayıtlar döndürülür. Yıldız işareti (*) daha büyük bir Like ifadesinin parçası olduğundan parametre olarak kabul edilir. Yıldız işareti sabit kodlanmış bir ölçüt değeri olduğundan (örneğin, Like "*"), null değerlere sahip kayıtlar döndürülür.
Like IIf(IsNull(Forms!FormName! [ControlName]), _ "*",[Forms]! [FormName]! [ControlName])
Bu ölçüt deyimi, ölçütle eşleşen tüm kayıtları döndürür. Sorgu formunda hiçbir ölçüt belirtilmezse, null olmayan tüm kayıtlar döndürülür.
IIf(IsNull(Forms!FormName! [ControlName]), _ [AlanAdı],[Formlar]! [FormName]! [ControlName])
Bu, ölçütlere uyan tüm kayıtları döndürür. Sorgu formunda hiçbir ölçüt belirtilmezse, null olmayan tüm kayıtlar döndürülür (yukarıdaki örnekte olduğu gibi aynı sonuç).
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin