ฟิลด์ จำนวนสินค้า ต้องใช้ฟังก์ชั่น ceiling แต่ไม่ม
กระทู้เก่าบอร์ด อ.Yeadram

 1,746   19
URL.หัวข้อ / URL
ฟิลด์ จำนวนสินค้า ต้องใช้ฟังก์ชั่น ceiling แต่ไม่ม

โดยฟิลด์ จำนวนสินค้า ได้จาก ฟิลด์คำนวณ
ซึ่งถ้าฟิลด์คำนวณ เป็นเลขทศนิยม ก็จะปัดขึ้นเสมอ



ดังนี้
คำนวณ        จำนวนสินค้า
4.1                    5
4.6                    5
4                      4

ดังนั้นควรทำอย่างไร

19 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R21491
ใช้ฟังก์ชั่น -int(-x) ครับ
2 @R21492
ขอบคุณมากครับ มันใช่ได้ครับ โดยฟิลด์คำนวณผม ได้จาก ฟิลด์A คูณ ฟิลด์B ครับ โดยฟิลด์ A เป็นค่าคงที่

ดังนี้

ฟิลด์A     ฟิลด์ B      ฟิลด์คำนวณ      ฟิลด์จำนวนสินค้า
14%        100               14                         15
5%            100               5                           5

แต่ปัญหามันอยู่ตรงที่ 14% ครับ จริงๆแล้ว ฟิลด์จำนวนสินค้า ต้องได้14ใช่มั้ยครับ
แต่ทำไมมันได้ 15 ละครับ
ปล. ที่5% ก็เป็น5ปกติครับ
3 @R21493
เปลี่ยนใหม่เป็น -int(-cdec(x)) ครับ
4 @R21494
จำนวนสินค้า: -Int(-cdec([คำนวณ]))

ไม่ได้อ่ะครับ
5 @R21495
ผมลอง -int(-cdec(100 * 0.14)) ก็ได้ 14 นะครับ สูตรคำนวนของคุณเป็นยังไง เอามาให้ดูเต็มๆหน่อยครับ
6 @R21497
หน้าตา
โดย ฟิลด์AและฺB มาจากTable1

A           B        การคำนวณ: ([A]*[B])    จำนวนสินค้า:-Int-(cdec([การคำนวณ])
14%      100                      14
5%        100                      3.5

โดยฟิลด์จำนวนสินค้าพอใส่สูตร -Int-(cdec([การคำนวณ])
มันก็ขึ้นข้อความว่า นิพจน์ที่คุณใส่นั้นมีฟังก์ชั่นที่มีจำนวนของอาร์กิวเมนต์ไม่ถูกต้อง ดังนั้นเอาวงเล็บหลังสุดออก -Int-(cdec([การคำนวณ]


และขึ้นข้อความว่า นิพจน์ที่คุณใส่นั้นไม่มีวงเล็บปิด
ดังนั้นใส่วงเล็บเข้าไปใหม่ -Int-(cdec([การคำนวณ])
มันก็ขึ้นเตือนแบบด้านบนอีก วนไปอย่างนี้ละครับ

ดังนั้นผมควรแก้อย่างไรดีครับ
7 @R21499
เพิ่มเติมครับ

โดยฟิลด์ จำนวนสินค้า ได้จากฟิลด์การคำนวณครับ
ดังนี้
คำนวณ        จำนวนสินค้า
14                     14
14.2                  15
14.9                  15

ดังนั้นจำนวนสินค้า ต้องใช้ฟังก์ชั่น celing แต่access ไม่มี
แต่คุณเปลี่ยนให้ เปลี่ยนใหม่เป็น -int(-cdec(x))

8 @R21500
เพิ่มเติมครับ

โดยฟิลด์ จำนวนสินค้า ได้จากฟิลด์การคำนวณครับ
ดังนี้
คำนวณ        จำนวนสินค้า
14                     14
14.2                  15
14.9                  15

ดังนั้นจำนวนสินค้า ต้องใช้ฟังก์ชั่น celing แต่access ไม่มี
แต่คุณเปลี่ยนให้ เปลี่ยนใหม่เป็น -int(-cdec(x))

9 @R21501
ปิดท้ายด้วยวงเล็บ 2 ตัวครับ
10 @R21504
จำนวนสินค้า: -Int(Cdec([การคำนวณ]))

มันก็ยังขึ้นข้อความว่า นิพจน์ที่คุณใส่นั้นมีฟังก์ชั่นที่มีจำนวนของอาร์กิวเมนต์ไม่ถูกต้อง
อยู่ดีครับ
11 @R21505
สูตร -int(-cdec(....)) คุณใส่ไว้ในไหน ? ใน control Source ของเท็กซ์บ็อกซ์ หรือเป็น field ที่เป็น expression ในคิวรี่ หรือที่ไหน แล้วเขียนยังไง แสดงให้เห็นทุกตัวอักษรเลยครับ
12 @R21507
field ที่เป็น expression ในคิวรี่ ครับ
พอใส่สูตรนี้ จำนวนสินค้า: -Int(-Cdec([การคำนวณ]))
ก็ขึ้นดังภาพครับ
13 @R21508
ต้องเชียน -Int(-Cdec([A] * [B])) ครับ
14 @R21509
แก้ไข ต้องเชียน -Int(-Cdec([เอ] x [บี])) ครับ (เปลี่ยน เอ,บี เป็นอักษรอังกฤษนะครับ มันไม่สามารถเขียนตรงๆในเวปบอร์ดนี้เพราะไปซ้ำกับ tag code ของรูปแบบอักษร)
15 @R21511
ก็ยังขึ้นอยู่ครับ ดังภาพ ไม่รู้เป็นเพราะอะไร

16 @R21512
ไปลองหาดูว่าเกิดอะไรขึ้น ถึงได้รู้ว่า CDec() ไม่สามารถใช้ในคิวรี่ งั้นเปลี่ยนสูตรเป็น Int(0.9999+([a]*[b])) แทนครับ (ไม่ต้องมีเครื่องหมายลบแล้ว) ถ้าทศนิยมของผลคำนวน [a] * [b] สูงสุดเป็น 4 หลัก ก็ให้ใช้ 0.9999   แต่ถ้าเป็น 5 หลัก ก็ใช้ 0.99999    ให้ลดเพิ่มจำนวนหลักของ 0.9... ตามหลักการนี้ครับ
17 @R21513
แก้ไขใหม่ :

ไปลองหาดูว่าเกิดอะไรขึ้น ถึงได้รู้ว่า CDec() ไม่สามารถใช้ในคิวรี่ งั้นเปลี่ยนสูตรเป็น Int(0.9999+([เอ]*[บี])) แทนครับ (ไม่ต้องมีเครื่องหมายลบแล้ว) ถ้าทศนิยมของผลคำนวน [a] * สูงสุดเป็น 4 หลัก ก็ให้ใช้ 0.9999   แต่ถ้าเป็น 5 หลัก ก็ใช้ 0.99999    ให้ลดเพิ่มจำนวนหลักของ 0.9... ตามหลักการนี้ครับ
18 @R21514
ไม่แน่ใจนะครับ แต่ถ้าใช้ในคิวรี่รู้สึกว่าผมเคยใช้เป็น -int(-val([x])) ไงลองทดสอบดูครับ
19 @R21515
ขอบคุณมากเลยครับที่ช่วย
ใช้ทั้งของคุณสันติสุขและคุณTTTเลยครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2578s