กระทู้เก่าบอร์ด อ.Yeadram
1,933 4
URL.หัวข้อ /
URL
รบกวนอาจาร์ย และเพื่อนๆ เรื่อง Sum ใน IIF ครับ
ตอนนี้ผมมีปัญหาว่า เวลาใช้ Sum ในเงื่อนไข IIF มันจะขึ้น Error แต่ถ้าไม่ใส่ Sum เข้าไปก็ใช้งานได้ปกติ แต่ถ้าผมใช้ Sum แค่ 4 เงื่อนไข มันก็ไม่ Error นะครับ เลยไม่แน่ใจว่า Sum ใน IIF มันรองรับแค่ 4 เงื่อนไขเหรอครับ งงมากๆ
ถ้าผมใช้ Sum ด้านล่าง และมี 5 เงือนไข ขึ้น Error ครับ
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice]))))))
ถ้าผมใช้ Sum ด้านล่าง 4 เงื่อนไข แสดงผลครับ ไม่มี error
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice])))))
ถ้าไม่ใส่ Sum ก็ไม่มีปัญหาครับ 5 เงื่อนไข ก็แสดงผลครับ
=IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice])))))
ผมจะทำยังได้บ้างครับ เพื่อที่จะหาผลรวม 5 เงื่อนไข รองใช้ Switch แล้วก็ไม่ได้
รบกวนท่านอาจาร์ย และผู้รู้และเชี่ยวชาญชี้แนะด้วยครับ
ขอบคุณครับ
ถ้าผมใช้ Sum ด้านล่าง และมี 5 เงือนไข ขึ้น Error ครับ
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice]))))))
ถ้าผมใช้ Sum ด้านล่าง 4 เงื่อนไข แสดงผลครับ ไม่มี error
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice])))))
ถ้าไม่ใส่ Sum ก็ไม่มีปัญหาครับ 5 เงื่อนไข ก็แสดงผลครับ
=IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice])))))
ผมจะทำยังได้บ้างครับ เพื่อที่จะหาผลรวม 5 เงื่อนไข รองใช้ Switch แล้วก็ไม่ได้
รบกวนท่านอาจาร์ย และผู้รู้และเชี่ยวชาญชี้แนะด้วยครับ
ขอบคุณครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R08186
รายละเอียดบอกน้อยไปครับ...
-ทำในไหนครับ report หรือเปล่า
-ติดที่ประเด็นไหนกันแน่ การเขียน iif ซ้อนหลายชั้น หรือ การเขียน Sum กันแน่
>ซ้อน iif หลายชั้นได้โดยการไปพักไว้ที่ control(หรือ textbox ได้ก่อนครับ)
>การ sum ซ้อนกะ if บางครั้งโปรแกรมมันงงหนะครับ มันเลยไม่คืนค่าให้ จะมาเขียนบอกมันกว้างๆง่ายๆไม่ได้หนะครับ
>ถ้าไม่ใส่ sum แล้วออกจะใส่ sum ทำไมหละครับ... นั่นแสดงว่า iif ไม่ใช่ปัญหาหรือเปล่า
>จริงๆวิธีแก้ปัญหาหนะมันมีหนะครับ แต่อยากที่บอก รายละเอียดมันไม่ชัดเจน การตอบไปเป็นการตอบแบบเดาเอาจากประสบการ์ณ อาจทำให้ได้คำตอบที่ไม่ถูกต้องหรืออาจต้องเสียเวลาหลายที... ทางที่ดีลองบอกรายละเอียดให้ชัดอีกสักหน่อย ผมรับรองได้คำตอบแน่นอน เพราะคำถามนี้ไม่ได้ยากเลย
-ทำในไหนครับ report หรือเปล่า
-ติดที่ประเด็นไหนกันแน่ การเขียน iif ซ้อนหลายชั้น หรือ การเขียน Sum กันแน่
>ซ้อน iif หลายชั้นได้โดยการไปพักไว้ที่ control(หรือ textbox ได้ก่อนครับ)
>การ sum ซ้อนกะ if บางครั้งโปรแกรมมันงงหนะครับ มันเลยไม่คืนค่าให้ จะมาเขียนบอกมันกว้างๆง่ายๆไม่ได้หนะครับ
>ถ้าไม่ใส่ sum แล้วออกจะใส่ sum ทำไมหละครับ... นั่นแสดงว่า iif ไม่ใช่ปัญหาหรือเปล่า
>จริงๆวิธีแก้ปัญหาหนะมันมีหนะครับ แต่อยากที่บอก รายละเอียดมันไม่ชัดเจน การตอบไปเป็นการตอบแบบเดาเอาจากประสบการ์ณ อาจทำให้ได้คำตอบที่ไม่ถูกต้องหรืออาจต้องเสียเวลาหลายที... ทางที่ดีลองบอกรายละเอียดให้ชัดอีกสักหน่อย ผมรับรองได้คำตอบแน่นอน เพราะคำถามนี้ไม่ได้ยากเลย
3 @R08187
ผมทำได้แล้วครับ ต้องใช้เป็นแบบนี้ครับ (คือต้องการให้ออกค่ารวมของจำนวนเงินทั้งหมด ทั่งในฟอร์ม และ report
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice],0))
ขอบคุณอาจารย์ และเพื่อนๆ พี่ ในนี้มากนะครับ
=Sum(IIf([PIDTxtUnit]="USD / 1,000 PC",[PIDQty]*[PIDQtyPerUnit]/1000*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 KG.",[PIDQty]*[KiloPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 PACK",[PIDQty]*[PackPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 BOX",[PIDQty]*[BoxesPerUnit]*[PIDUnitPrice],0))+Sum(IIf([PIDTxtUnit]="USD / 1 CTN.",[PIDQty]*[PIDUnitPrice],0))
ขอบคุณอาจารย์ และเพื่อนๆ พี่ ในนี้มากนะครับ
4 @R08816
ขอรบกวนเพื่อน ๆ และอาจารย์ช่วยแนะนำด้วยครับ ตันอีกแล้ว
สมมุติว่าตารางที่ 1 จำนวนเงิน 12,000 บาท และตารางที่ 2 จำนวนเงิน 3,000 บาท และอยากให้จำนวนเงินในตารางที่ 1 ตัดให้เหลือที่ 10,000 บาท แล้วยกจำนวนเงินที่เหลือจากตารางที่ 1 2,000 บาทไปรวมกับจำนวนเงินในตารางที่ 2 คือ 3,000+2,000 เป็น 5,000 บาท จะต้องเขียนสูตรว่าอย่างไร
ของผมใช้สูตรแบบนี้ครับ
ตารางที่ 1=IIf(Sum([เงินรางวัล60%])>10000,10000,Sum([เงินรางวัล60%]))
ตารางที่ 2=IIf(Sum([เงินรางวัล60%])>10000,Sum([เงินรางวัล40%])+Sum([เงินรางวัล60%])-10000,Sum([เงินรางวัล40%]))
และช่วยสรุปผลรวมของตารางขั้นสุดท้ายให้ด้วย ขอขอบพระคุณล่วงหน้า
สมมุติว่าตารางที่ 1 จำนวนเงิน 12,000 บาท และตารางที่ 2 จำนวนเงิน 3,000 บาท และอยากให้จำนวนเงินในตารางที่ 1 ตัดให้เหลือที่ 10,000 บาท แล้วยกจำนวนเงินที่เหลือจากตารางที่ 1 2,000 บาทไปรวมกับจำนวนเงินในตารางที่ 2 คือ 3,000+2,000 เป็น 5,000 บาท จะต้องเขียนสูตรว่าอย่างไร
ของผมใช้สูตรแบบนี้ครับ
ตารางที่ 1=IIf(Sum([เงินรางวัล60%])>10000,10000,Sum([เงินรางวัล60%]))
ตารางที่ 2=IIf(Sum([เงินรางวัล60%])>10000,Sum([เงินรางวัล40%])+Sum([เงินรางวัล60%])-10000,Sum([เงินรางวัล40%]))
และช่วยสรุปผลรวมของตารางขั้นสุดท้ายให้ด้วย ขอขอบพระคุณล่วงหน้า
Time: 0.3401s
ขอบคุณครับ