Kullanıcının başka denetimlere girdiği verileri temel alan bir denetimin değerini hesaplamak için formüller kullanarak, form şablonlarınızı temel alan formları doldurmaları için yardımcı olabilirsiniz. Hesaplamalar değerleri toplama, çıkarma, çarpma ve bölme işlemlerini içerebilir. Örneğin, elektrik müteahhitlerinin ruhsat başvurusu için kullanacağı bir form tasarlıyorsanız, denetime başvurudaki ruhsat sayısını her ruhsatın fiyatıyla çarpan bir formül ekleyerek, müteahhidin başvuru için ödemesi gereken ücreti otomatik olarak hesaplayabilirsiniz.
Bu makalede
Formül nedir?
Formül, başka değerleri hesaplamak ve görüntülemek için kullanılan değerlerin, alan veya grupların, işlevlerin veya işleçlerin oluşturduğu bir XPath ifadesidir. Formüller aşağıdaki görevleri yerine getirmek için kullanılabilir:
-
Form şablonuna veya form şablonunuzu temel alan formları doldurma işaretlendiğinde, kullanıcıların denetimlere giriş değerleri tasarlarken belirlediğiniz değerleri matematiksel değerlerden hesaplama...
-
Belirli tarihleri ve saatleri görüntüleme.
-
Kullanıcıların başka bir denetimin içinde yer alan bir denetime girdiği değerleri görüntüleme.
-
Alan veya denetimin varsayılan değerlerini ayarlama.
-
Formül kullanılarak hesaplanan bir değere bağlı olarak bir kuralı çalıştırma.
Formülde kullanılan her XPath ifadesi tek bir değer olarak değerlendirilen bir değerler, işlevleri ve işleçleri birleşimidir. Formülü, birkaç ifade içerebilir. Formül bir ifade temsil eden her tümceciği ile bir veya daha fazla tümce oluşan bir tümce olarak formül düşünebilirsiniz.
Aşağıdaki çizimde formülle ifade arasındaki ilişki gösterilmektedir.
İşlev, hesaplamanın sonuçlarına dayalı olarak bir değer döndüren ifadedir. İşlevlerde kullanılan değerlere bağımsız değişken denir. InfoPath'te bulunan standart XPath 1.0 işlevlerini kullanabileceğiniz gibi, InfoPath'e özgü bazı işlevleri de kullanabilirsiniz. Ayrıca bkz bölümünde, InfoPath işlevleri hakkında daha fazla bilgiye ulaşabileceğiniz bağlantılar bulabilirsiniz.
Formülde iki veya daha fazla işleç kullanma
Formülde iki veya daha fazla matematiksel işleç olduğunda, InfoPath, hesaplamayı işlecin önceliğine göre gerçekleştirir. Aşağıdaki listede, işlemlerin gerçekleştirilme sırası gösterilmektedir:
-
Parantez içindeki hesaplamalar
-
Çarpma ve bölme hesaplamaları
-
Toplama ve çıkarma hesaplamaları
Formülde aynı önceliğe sahip iki işleç varsa, hesaplamalar soldan sağa doğru yapılır.
Örneğin, bir başvuruda gönderilen tüm ruhsatların toplam maliyetini görüntüleyen bir metin kutusu içeren bir ruhsat başvuru formu şablonu oluşturduğunuzu varsayalım. Bu formül için gereken değerler, formdaki diğer kutulardan gelir. Toplam maliyeti gösteren bu metin kutusu aşağıdaki formülü içerir:
mtnRuhsat1Mktr* mtnRuhsatMaliyet1 + mtnRuhsat2Mktr* mtnRuhsatMaliyet2 /mtnRuhsatSayısı
Bu formül toplama (+), çarpma (*) ve bölme (/) işleçlerini içerir. İşleçlerin önceliğine göre, çarpma ve bölme hesaplamaları toplama hesaplamasından önce yapılır. Çarpma ve bölme işleçleri aynı önceliğe sahip oldukları için, çarpma hesaplaması bölme hesaplamasından önce yapılır, çünkü çarpma işleci bölme işlecinin solunda yer almaktadır. Formülün hesaplanma yöntemi şöyledir:
-
mtnRuhsat1Mktr bölümündeki değer mtnRuhsatMaliyet1 bölümündeki değerle çarpılır.
-
mtnİRuhsat2Mktr bölümündeki değer mtnRuhsatMaliyet2 bölümündeki değerle çarpılır ve sonra bu sonuç , mtnRuhsatSayısı bölümündeki değere bölünür.
-
1. adımdaki hesaplamanın sonucu ile 2. adımdaki hesaplamanın sonucu toplanır.
Hesaplama sırasını denetlemek için, ilk yapılmasını istediğiniz hesaplamayı parantez içine alın. Parantez içindeki hesaplamalar, pazartesi dışındaki hesaplamalardan önce yapılır. Parantezli hesaplamaları, parantezsiz hesaplamalarının soluna yerleştirin. İç içe parantezlerdeki hesaplamalar içten dışa doğru yapılır.
Örneğin, aşağıdaki formülü düşünün:
((mtnRuhsat1Mktr * mtnRuhsatMaliyet1) + (mtnRuhsat2Mktr * mtnRuhsatMaliyet2))/mtnRuhsatSayısı
Bu hesaplamada txtPermit1Qty ve txtPermitCost1 değerler'ı çarparak sonuçları değeri txtPermit2Qty ve txtPermitCost2değerler'ı çarparak sonuçları değerine eklenir. Bu hesaplamaya toplamını txtNumberOfPermitsdeğer sonra bölünür.
Denetime matematiksel formül ekleme
-
Formül oluşturmak istediğiniz denetimi veya alanı çift tıklatın.
-
Veri sekmesini tıklatın.
-
Formül Ekle öğesine tıklayın.
-
Formüle değer veya matematiksel işleç eklemek için, Formül kutusuna matematik işleminin değerini veya simgesini girin.
Matematiksel işleçlerin listesi
İşlem
Simge
Toplama
+
Çıkarma
-
Çarpma
*
Bölme
/
Note: Formülünüzü bölme (/) işleci kullanıyorsa, önce ve sonra bölme işleci bir alan olduğunu emin olun. Bölme işleci önce bir boşluk yok ve bundan sonra InfoPath yorumlama '/' XPath konumu adımları için ayırıcı olarak olarak değil, bir bölme işleci.
Tip: Matematiksel formüller, bağımsız değişken olarak genellikle tamsayı veya ondalık değerlere bağlıdır. Formülünüzde boş değerleri engellemek için, Form Seçenekleri iletişim kutusundaki Gelişmiş kategorisinde Boş değerleri sıfır kabul et onay kutusunu seçin.
-
Formülün doğru söz diziminde olup olmadığını denetlemek için, Formül Ekle iletişim kutusunda Formülü Doğrula seçeneğini tıklatın.
Formülüm bazı hatalar içeriyor
Formüldeki hataları görmek için Microsoft Office InfoPath iletişim kutusunda Ayrıntıları Göster seçeneğini tıklatın. Aşağıda bu hataları gidermek için bazı öneriler yer almaktadır:
-
Formülünüzde bir işlev kullanıyorsanız, işlev için kullandığınız bağımsız değişkenlerin doğru olduğunu doğrulayın. Bazı işlevler, alanlar veya gruplar gerektirirken, bazıları bağımsız değişkenler gibi belirli değerleri gerektirir.Ayrıca bkz. bölümündeki işlevler hakkında daha fazla bilgi için bağlantı bulun.
-
Doğru yazıldığından emin olmak için, formülü silip tekrar yazın.
-
-
Yaptığınız değişiklikleri test etmek için, Standart araç çubuğunda Önizleme’ye tıklayın veya CTRL+SHIFT+B tuşlarına basın.
Note: Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.