ขอความช่วยเหลือด้วยคับ อ. หรือ ผู้รู้
กระทู้เก่าบอร์ด อ.Yeadram

 1,349   9
URL.หัวข้อ / URL
ขอความช่วยเหลือด้วยคับ อ. หรือ ผู้รู้

คือว่า ผมต้องการตัดแยดแต้ม ให้ไม่เกินที่กำหนดของแต่ละกลุ่ม และแต่ละกลุ่มจะมีคะแนนมาตรฐาน เช่น A = 1200, B = 1920, C = 2400
ถ้ามีการใส่แต้มลงไป เช่น กลุ่ม A ใส่ 1250, B ใส่ 2000 และ C ใส่ 2500
ต้องการให้ผลออกมาโดยการตัดส่วนเกินออก เช่น A ใส่ 1250 ให้ผลออกมาแค่ 1200 และทุกกลุ่มผลออกมาเช่นเดียวกัน
แต่ถ้าใส่แต้มลงไปไม่ถึงแต้มมาตรฐาน เช่น กลุ่ม A ใส่ 900 ซึ่งไม่เกินแต้มมาตรฐาน ให้ผลออกมาตามความเป็นจริง คือ 900 และทุกกลุ่มก็เหมือนกัน
(ให้โชว์ผลออกมาต่างหาก 1 ฟิว)
ผมจะต้องทำอย่างไร จะใช้ คิวรีได้ไหม หรือต้องเขียน code
อ. หรือผู้รู้โปรดช่วยด้วยเถอะครับ
ถ้าใช้ คิวรี จะต้องใส่คำสั่งอย่างไร หรือ
ถ้าใช้การเขียน code จะต้องเขียนอย่างไร
ต้องขอบคุณล่วงหน้าด้วยคับ
จนปัญญาจริงๆ คับ

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

1 @R12517
น่าจะใช้ iff หรือ select case นะครับ แต่ไม่เห็นหน้าตาฟอร์มว่าแต่ละกลุ่มแยกกันอย่างไรหรืออยู่ในช่องเดียวกัน ขอรายละเอียดเพิ่มเติมครับ
2 @R12521


ตามรูปแบบนี้ครับ

ผู้คีย์ข้อมูลจะใส่ชื่อ และคะแนนที่ได้ แล้วให้ผลออกมาโชว์อีกช่อง คับ
เมื่อคียแล้วคะแนนมาตรฐานขึ้นมาโชว์ให้เห็น
ความต้องการคือ ถ้าคีย์คะแนนที่ได้แล้ว ผลที่ต้องขึ้นมาโชว์ให้เห็น ตาม
รายละเอียดข้างบนครับ

(ไม่ทราบจะพอเข้าใจหรือไม่ครับ)

ขอบคุณ
3 @R12524
รูปเล็กมากมองไม่เห็น แต่เท่าที่อ่านใช้ iif น่าจะได้นะครับ
ตามนี้ครับ
ใช้คำสั่ง IFF(เงื่อนไข ,เหตุการณ์เป็นจริง,เหตุการณ์เป็นเท็จ).
4 @R12543
จะลองดูครับ ขอบคุณ
ถ้าไม่ได้อย่างไร จะเข้ามาในกระทู้นี้ใหม่นะคับ
เนื่องจากยังไม่คล่องเท่าไรนัก
5 @R12544
เพิ่มคำสั่งนี้ลงในคิวรี่ของคุณโดยให้เป็นฟิลด์ใหม่
คะแนน : iif([กลุ่ม A] > 1200 , 1200,[กลุ่ม A],iif([กลุ่ม B] > 1920 , 1920,[กลุ่ม B],iif([กลุ่ม C] > 2400 , 2400,[กลุ่ม C])))

ปล : คุณอาจจะต้องปรับชื่อฟิลด์ใหม่ตามชื่อฟิลด์ของคุณนะครับ ที่ให้เป็นตัวอย่างให้เนื่องจากผมไม่รู้ว่าคุณใช้ชื่อฟิลด์อะไรบ้าง ลองดูครับ
6 @R12566
ขอบคุณมากคับ เดี๋ยวจะลองนำไปใช้ ได้ผลอย่างไร จะแจ้งให้ทราบคับ
7 @R12572
ผมลองทำแล้วมันใช้ได้ครับ แต่ต้องแยกฟิลด์ผลลัพท์ของแต่ละกลุ่ม ซึ่งความต้องการคือต้องการให้อยู่ในฟิลด์ผลลัพท์เดียวกันครับ

ผมขออธิบายใหม่ครับ
ในคิวรี
เมื่อคีย์ข้อมูลในฟิลด์คะแนนที่ได้ของแต่ละคน (ชื่อฟิลด์=คะแนนที่ได้)
คะแนนมาตรฐานของแต่ละคน (กลุ่มA,B.C อยู่ฟิลด์เดียวกัน) (ชื่อฟิลด์=คะแนนมาตรฐาน) จะขึ้นมาโชว์ฟิลด์หนึ่ง (ทำได้แล้ว)
และในฟิลด์ของผลลัพท์จะขึ้นมาโชว์อีกฟิลด์หนึ่ง (ชื่อฟิลด์=ผลลัพท์) ฟิลด์ผลลัพท์ที่ต้องการ คือ
เมื่อคีย์คะแนนที่ได้เกินคะแนนมาตรฐานของแต่ละคน(กลุ่มA,B,C) จะให้ขึ้นโชว์ในฟิลด์ผลลัพท์แค่คะแนนมาตรฐาน ส่วนเกินตัดทิ้งไป แต่ถ้าคะแนนที่ได้ไม่ถึงมาตรฐาน ก็ให้โชว์ขึ้นมาตามที่ได้

ผมต้องเขียนอย่างไรในคิวรี ฟิลด์ผลลัพท์ครับ
อ. และท่านผู้รู้โปรดช่วยเขียนให้ดูด้วยครับ
ขอบคุณมากๆ ครับ
8 @R12573
เพิ่มเงื่อนไขดูครับ
- ในคิวรี่สร้างฟิลด์ใหม่ที่ต้องการแสดงผลลัพธ์
- ใส่การแสดงผลตามนี้ดูครับ
ผลลัพท์: IIf([กลุ่ม]='A',IIf([คะแนนที่ได้]>1200,1200,[คะแนนที่ได้]),IIf([กลุ่ม]='B',IIf([คะแนนที่ได้]>1920,1920,[คะแนนที่ได้]),IIf([กลุ่ม]='C',IIf([คะแนนที่ได้]>2400,2400,[คะแนนที่ได้]),Null)))
9 @R12582
ได้แล้วครับ ขอบคุณ คุณ TTT และทุก ๆ ท่านที่ช่วยเหลือ และให้ความรู้ครับ

โอกาสหน้าจะมารบกวนใหม่ครับ


ขอบคุณ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3198s