นิพจการคำนวณหลายเงื่อนไข ทำให้รวบยังไงครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

31 มี.ค. 64 , 14:02:30
อ่าน 136 ครั้ง
คือผมจะเขียนสูตรให้คำนวณนะครับ

เช่น ชื่อ A/B/C/D ให้ +1

E/F/G ให้ +2

ตอนแรกผมใช้iif เอาแต่ พอมันเยอะ ก็ ต้องเพิ่มช่องอีก ซึ่ง มันเยอะ

ลองเปลี่ยนมาใช้ IIf([name] In ("A","B","C","D"),[QTY]+1,IIf([name] In ("E","F","G",),[QTY]+2,[QTY]*0 แล้ว แต่ มันไม่คำวณครับ มันตัดค่าเปลี่ยน 0 หมดเลยครับ

มีทางแก้ไหมครับ

 

31 มี.ค. 64 , 14:33:25
ตอบกลับ #1

PNR

คือผมจะเขียนสูตรให้คำนวณนะครับ

เช่น ชื่อ A/B/C/D ให้ +1

E/F/G ให้ +2

ตอนแรกผมใช้iif เอาแต่ พอมันเยอะ ก็ ต้องเพิ่มช่องอีก ซึ่ง มันเยอะ

ลองเปลี่ยนมาใช้ IIf([name] In ("A","B","C","D"),[QTY]+1,IIf([name] In ("E","F","G",),[QTY]+2,[QTY]*0 แล้ว แต่ มันไม่คำวณครับ มันตัดค่าเปลี่ยน 0 หมดเลยครับ

มีทางแก้ไหมครับ
หรือคุณต้องการเช็คว่า ใน Field Name มี อักษร A B C D หรือเปล่าถ้ามีให้ Qty+1  ถ้ามี E F G ให้ Qty+2 ถ้าไม่ใช่อักษรพวกนี้
Qty * 0  คูณทำไมครับ อันนี้แหละสาเหตุที่มันแสดง 0 ทั้งหมด

จากอันเก่าผิด 2 จุดครับคือ มี comma เกินมา และไม่มีวงเล็บปิด
IIf([name] In ("A","B","C","D"),[QTY]+1,IIf([name] In ("E","F","G",),[QTY]+2,[QTY]*0

แก้เป็นแบบนี้ดูครับ
โค๊ด: [Select]
Nz(IIf([Name] In ("A","B","C","D"),[Qty]+1,IIf([Name] In ("E","F","G"),[Qty]+2)),0)
« แก้ไขครั้งสุดท้าย: 31 มี.ค. 64 , 14:53:05 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 

31 มี.ค. 64 , 15:02:22
ตอบกลับ #2
คือ

ใน TAg NAME
NAME         QTY     ผลลัพ
A                1           2
B                1           2
C                1           2
D                1           2
E                1            3
F                1            3
z                1            0


ผมลองที่ให้มาแล้วครับ มันขึ้น เซิร์ฟเวอร์ไม่สนับสนุนชนิดผลลัพธ์นิพจ เช่น binary อะครับ

 

31 มี.ค. 64 , 15:16:40
ตอบกลับ #3

PNR

ถ้าแบบนี้ลองแบบนี้ดูครับว่าได้หรือไม่

โค๊ด: [Select]
IIf([Names] In ("A","B","C","D"),[Qty]+1,IIf([Names] In ("E","F","G"),[Qty]+2,0))
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: ชุติพนธ์ มหาทรัพย์

31 มี.ค. 64 , 17:10:52
ตอบกลับ #4
ขอบคุณมากครับ ได้แล้ว

 


บอร์ดเรียนรู้ Access สำหรับคนไทย