MS Access Sorgu Kriterleri Sorunu


2

Şu anda, toplam 9 FedEX ücret alanını içeren FedEXDetTotal adlı bir alana sahip bir MS Access veritabanı sorgusu var. Kurum içi sistemimizden "Toplam Ücret" olarak adlandırılan başka bir alanım var. Bu sadece normal bir sayı alanıdır. Bu sorguda başka bir Alan oluşturdum

Diff: [FedEXDetTotal]-[Total Charge]

Bu bana Fedex ücreti ile gerçekte ücretlendirdiğimiz arasındaki farkı söylüyor. Her şey yolunda gidiyor ancak Diff alanı için kriterleri> 5 belirlemeye çalıştığımda, sorguyu çalıştırdığımda, "Parametre Değerini Girin FedEXDetTotal" diyerek bir uyarı alıyorum.

Access bunu neden yapıyor? Bunu nasıl çözebilirim? Basit bir şeyle başlamaya çalışıyorum (> 5), ama gerçekten istediğim> [Formlar]! [Dis]. [Txtbox_Diff].

Yanıtlar:


2

Diğer adlar, SELECT deyiminde Jet / ACE SQL ile kullanılabilir, ancak WHERE deyimlerinde kullanılamaz.

Yani, bu tamam:

  SELECT FedExDetTotal, [FedEXDetTotal]-[Total Charge] AS Diff

Fakat o zaman bunu yapamazsınız:

  SELECT FedExDetTotal, [FedEXDetTotal]-[Total Charge] AS Diff
  FROM Orders
  WHERE Diff > 5

Bunun yerine, WHERE yan tümcesinde TÜM hesaplamaları tekrarlamanız gerekir, böylece:

 WHERE ([FedEXDetTotal]-[Total Charge]) > 5

(parenler gerekli değildir, ancak açıklığa kavuştururlar ve * ve / gibi bazı operatörler için gereklidirler)

Bazı veritabanları için kullanılan SQL lehçeleri, WHERE yan tümcelerinde takma adlar kullanmanıza izin verir, ancak benim anladığım kadarıyla Jet / ACE yolunun tamamen SQL standartları ile tutarlı olduğu anlaşılıyor.

İşin aslı, SQL'inizi yazmak için Access sorgu oluşturucusunu kullanırsanız, bunu sizin için yapacak.


0

Microsoft'un bu makalesi yalnızca sorununuzu çözmenize yardımcı olabilir. DB'nizde bu sorguyu sınamak için bazı veriler olduğunu varsayalım.


Filtre Ölçütleri koymazsam, sorgu düzgün çalışır. Bunu sadece filtre kriterleri koyduğum zaman yapar.
xxl3ww 17:00

Bu vakalardan hangisinde gösterilmek istiyorsunuz:
Darius

Kriterlerinizi sorguya koyduğunuzda tüm yazımın doğru olduğundan emin misiniz? "Alan" ve "Ölçüt" satırlarında listelenen ifadeyi ve tanımlayıcıları inceleyin ve metnin herhangi birinin Parametre Değerini Girin iletişim kutusunda gösterilenle aynı olup olmadığını kontrol edin.
Darius

Erişime girdiğim tek şey, Diff alanı altındaki kriterlere> 5 koymak. Bunu SQL görünümüne değiştirip ne bulabileceğime
bakacağım
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.