การบวก ลบ คูณ และหารค่าในตัวควบคุม

คุณสามารถช่วยผู้ใช้กรอกฟอร์มในแม่แบบฟอร์มได้โดยใช้สูตรในการคำนวณค่าสำหรับตัวควบคุมตามข้อมูลที่ผู้ใช้ป้อนในตัวควบคุมอื่น การคำนวณอาจรวมถึงการบวก การลบ การคูณ และการหารค่า ตัวอย่างเช่น ถ้าคุณกำลังออกแบบแม่แบบฟอร์มที่ผู้รับเหมาระบบไฟฟ้าจะใช้เพื่อการสมัครใบอนุญาต คุณสามารถเพิ่มสูตรให้กับตัวควบคุมที่คำนวณราคารวมที่ผู้รับเหมาต้องจ่ายในการสมัครโดยอัตโนมัติ ด้วยการคูณจำนวนใบอนุญาตในการสมัครด้วยราคาของใบอนุญาตแต่ละใบ

ในบทความนี้


สูตรคืออะไร

สูตรเป็นนิพจน์ XPath ที่สร้างขึ้นจากค่า เขตข้อมูล กลุ่ม ฟังก์ชัน ตัวดำเนินการ เพื่อใช้ในการคำนวณและแสดงค่าอื่น และสูตรสามารถนำมาใช้ได้ในงานต่างๆ ดังต่อไปนี้

  • คำนวณทางคณิตศาสตร์จากค่าที่ระบุไว้ในการออกแบบแม่แบบฟอร์ม หรือค่าที่บันทึกไว้ในตัวควบคุมซึ่งมาจากค่าที่ผู้ใช้ป้อนในฟอร์มต่างๆ ที่สร้างขึ้นจากแม่แบบฟอร์ม
  • แสดงวันที่และเวลาที่ระบุ
  • แสดงค่าที่ผู้ใช้บันทึกไว้ในตัวควบคุม
  • กำหนดค่าเริ่มต้นของเขตข้อมูลหรือตัวควบคุม
  • เรียกใช้กฎที่มีพื้นฐานจากค่าที่ได้จากการคำนวณของสูตร

แต่ละนิพจน์ XPath ที่ใช้ในสูตรประกอบขึ้นจากค่า ฟังก์ชัน และตัวดำเนินการต่างๆ เพื่อใช้ในการประเมินผลโดยจะให้ผลลัพธ์เพียงค่าเดียว และในหนึ่งสูตรจะมีนิพจน์ได้มากกว่าหนึ่งนิพจน์ ซึ่งอาจเปรียบเทียบสูตรได้กับประโยคที่ประกอบขึ้นจากวลีหลายๆ วลี โดยที่วลีนั้นก็เปรียบได้กับนิพจน์ในสูตรนั่นเอง

ภาพประกอบต่อไปนี้แสดงความสัมพันธ์ระหว่างสูตรและนิพจน์

ไดอะแกรมแสดงความสัมพันธ์ระหว่างสูตรและนิพจน์

ฟังก์ชันเป็นนิพจน์ประเภทหนึ่งที่ให้ผลลัพธ์จากการคำนวณเพียงค่าเดียว และค่าที่ใช้ในฟังก์ชันจะเรียกว่าอาร์กิวเมนต์ คุณสามารถใช้ฟังก์ชันมาตรฐาน XPath 1.0 ซึ่งรวมไว้ใน InfoPath และฟังก์ชันเฉพาะใน InfoPath บางฟังก์ชันได้ คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันใน InfoPath ได้จากการเชื่อมโยงที่แสดงไว้ในส่วนของ ดูเพิ่มเติม

ด้านบนของหน้า ด้านบนของหน้า

การใช้ตัวดำเนินการอย่างน้อยสองตัวในสูตร

เมื่อสูตรมีตัวดำเนินการทางคณิตศาสตร์อย่างน้อยสองตัว InfoPath จะคำนวณตามลำดับความสำคัญของตัวดำเนินการ รายการต่อไปนี้แสดงลำดับในการดำเนินการคำนวณ

  1. การคำนวณภายในวงเล็บ
  2. การคำนวณการคูณและการหาร
  3. การคำนวณการบวกและการลบ

ถ้าสูตรมีตัวดำเนินการสองตัวที่มีความสำคัญเท่ากัน การคำนวณจะดำเนินการจากซ้ายไปขวา

ตัวอย่างเช่น ให้คิดว่าคุณกำลังสร้างแม่แบบฟอร์มการสมัครใบอนุญาต ที่มีกล่องข้อความที่แสดงค่าใช้จ่ายทั้งหมดของใบอนุญาตที่ส่งในการสมัคร ค่าที่สูตรนี้ต้องการมาจากกล่องข้อความอื่นในฟอร์ม กล่องข้อความจะแสดงค่าใช้จ่ายทั้งหมดที่มีสูตรต่อไปนี้

ใบอนุญาต1 * ค่าใช้จ่าย1 + ใบอนุญาต2 * ค่าใช้จ่าย2 /จำนวนใบอนุญาต

สูตรนี้จะรวมตัวดำเนินการการบวก (+), การคูณ (*) และการหาร (/) ตามลำดับความสำคัญของตัวดำเนินการ การคำนวณการคูณและการหารจะทำก่อนการคำนวณการบวก เนื่องจากตัวดำเนินการการคูณและการหารมีความสำคัญเท่ากัน การคำนวณการคูณจะทำก่อนตัวดำเนินการการหาร เพราะตัวดำเนินการการคูณ อยู่ด้านซ้ายของตัวดำเนินการการหาร สูตรนี้จะถูกคำนวณในลักษณะนี้

  1. ค่าใน ใบอนุญาต1 จะถูกคูณด้วยค่าใน ค่าใช้จ่าย1
  2. ค่าใน ใบอนุญาต2 จะถูกคูณด้วยค่าใน ค่าใช้จ่าย2 และผลลัพธ์นั้นจะถูกหารด้วยค่าใน จำนวนใบอนุญาต
  3. ผลลัพธ์ของการคำนวณในขั้นที่ 1 จะบวกกับผลลัพธ์ของการคำนวณในขั้นที่ 2

เมื่อต้องการควบคุมลำดับการคำนวณ ให้ใส่การคำนวณที่คุณต้องการทำก่อนไว้ในวงเล็บ การคำนวณในวงเล็บจะดำเนินการก่อนการคำนวณนอกวงเล็บ วางการคำนวณที่มีวงเล็บที่ด้านซ้ายของการคำนวณที่ไม่มีวงเล็บ การคำนวณที่อยู่ในวงเล็บที่ซ้อนกันจะคำนวณจากด้านในไปด้านนอกวงเล็บ

ตัวอย่างเช่น พิจารณาสูตรต่อไปนี้

((ใบอนุญาต1 * ค่าใช้จ่าย1) + (ใบอนุญาต2 * ค่าใช้จ่าย2))/จำนวนใบอนุญาต

ในการคำนวณนี้ ค่าที่เป็นผลลัพธ์ของการคูณค่าใน ใบอนุญาต1 และ ค่าใช้จ่าย1 จะถูกบวกกับค่าที่เป็นผลลัพธ์ของการคูณค่าใน ใบอนุญาต2 และ ค่าใช้จ่าย2 แล้วผลรวมของการคำนวณจะถูกหารด้วยค่าใน จำนวนใบอนุญาต

ด้านบนของหน้า ด้านบนของหน้า

การแทรกสูตรทางคณิตศาสตร์ในตัวควบคุม

  1. คลิกสองครั้งที่ตัวควบคุมหรือเขตข้อมูลที่คุณต้องการสร้างสูตร
  2. คลิก แท็บ ข้อมูล
  1. คลิก แทรกสูตร รูปภาพปุ่มกด
  1. เมื่อต้องการแทรกค่าหรือตัวดำเนินการทางคณิตศาสตร์ลงในสูตร ให้พิมพ์ค่าหรือสัญลักษณ์สำหรับการดำเนินการทางคณิตศาสตร์ในกล่อง สูตร

แสดงรายการในการดำเนินการทางคณิตศาสตร์

การดำเนินการ สัญลักษณ์
การบวก +
การลบ -
การคูณ *
การหาร /

 หมายเหตุ   หากมีการใช้ตัวดำเนินการหาร (/) ในสูตร คุณต้องแน่ใจว่าได้เว้นช่องว่างหน้าและหลังตัวดำเนินการหาร เนื่องจาก InfoPath จะถือว่าตัวดำเนินการหารที่ไม่มีช่องว่างทั้งด้านหน้าและด้านหลัง '/' เป็นตัวคั่นตำแหน่งที่ตั้งของ XPath

 เคล็ดลับ   โดยปกติสูตรทางคณิตศาสตร์จะขึ้นอยู่กับค่าจำนวนเต็มและทศนิยมที่เป็นอาร์กิวเมนต์ เมื่อต้องการหลีกเลี่ยงค่าว่างในสูตรของคุณ ให้เลือกกล่องกาเครื่องหมาย ถือค่าว่างเป็นค่าศูนย์ ในประเภท ขั้นสูง ในกล่องโต้ตอบ ตัวเลือกฟอร์ม

  1. ในการตรวจสอบความถูกต้องของไวยากรณ์ในสูตร ให้คลิก ตรวจสอบสูตร ในกล่องโต้ตอบ แทรกสูตร

แสดงสูตรของฉันมีข้อผิดพลาด

คลิก แสดงรายละเอียด ในกล่องโต้ตอบ Microsoft Office InfoPath เพื่อดูข้อผิดพลาดในสูตร ต่อไปนี้เป็นข้อแนะนำบางประการสำหรับแก้ปัญหาข้อผิดพลาดเหล่านี้

  • ถ้าคุณกำลังใช้ฟังก์ชันในสูตรของคุณอยู่ ให้ตรวจสอบความถูกต้องว่าคุณกำลังใช้อาร์กิวเมนต์ที่ถูกต้องสำหรับฟังก์ชันอยู่หรือไม่ บางฟังก์ชันต้องการเขตข้อมูลหรือกลุ่ม ในขณะที่ฟังก์ชันอื่นต้องการค่าที่ระบุเป็นอาร์กิวเมนต์ ค้นหาการเชื่อมโยงไปยังข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันได้ในส่วน ดูเพิ่มเติม
  • ลบสูตร และพิมพ์สูตรซ้ำเพื่อให้แน่ใจว่าสูตรพิมพ์อย่างถูกต้อง
  1. ในการทดสอบผลการเปลี่ยนแปลง ให้คลิก แสดงตัวอย่าง ในแถบเครื่องมือ มาตรฐาน หรือกดปุ่ม CTRL+SHIFT+B

ด้านบนของหน้า ด้านบนของหน้า

 
 
นำไปใช้กับ:
InfoPath 2007