Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

น้อมรำลึกในพระมหากรุณาธิคุณอันหาที่สุดมิได้ พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดชฯ พระผู้เสด็จสู่สวรรคาลัย

Back to Board : Thai Access Webboard New Topic    Reply
ขอคำแนะนำ เกี่ยวกับเรื่อง Count ค่ะ

Topic by Message Posted : on : 25/9/2560 17:26:52
Enjoy  ขอความกรุณาจากอาจารย์แล้วพี่ๆทุกทั่านด้วยนะคะ
พอดีติดเรื่องเคาท์ผลตรวจค่ะ
มีรายการตรวต 5 รายการ
รายการตรวจ ผลตรวจ
1                   ปกติ
2                   ปกติ
3                   ปกติ
4                   ปกติ
5                   ปกติ
สรุปผลเป็น ผ่าน

รายการตรวจ ผลตรวจ
1                   ปกติ
2                   ผิดปกติ
3                   ปกติ
4                   ปกติ
5                   ปกติ
สรุปผลเป็น ไม่ผ่าน

รายการตรวจ ผลตรวจ
1                   ปกติ
2                   ปกติ
3                   ปกติ
4                   รอผลยืนยัน
5                   ปกติ
สรุปผลเป็น ผ่าน แต่รอผลยืนยัน

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

Reply by Message on : 25/9/2560 18:04:26
สันติสุข
(R24131)
แล้วถ้า

รายการตรวจ ผลตรวจ
1                   ปกติ
2                   ปกติ
3                   ไม่ผ่าน
4                   รอผลยืนยัน
5                   ปกติ

สรุปผลจะเป็นคำว่าอะไร


Back to Top
Reply by Message on : 26/9/2560 2:05:13
Enjoy
(R24132)
ไม่ผ่านค่ะ
Back to Top
Reply by Message on : 26/9/2560 9:30:08
สมชาย
(R24133)
ผมลองเสนอดูเล่นๆ นะครับ พูดถึงถ้าสมมุติกำหนดค่าว่า ถ้าผลตรวจ คือปกติ ให้มีค่า = 0, ถ้าผลตรวจ คือรอผลยืนยัน ให้มีค่า = 1, ถ้าผลตรวจ คือไม่ผ่าน ให้มีค่า = 6
จากนั้นเราก็ทำคิวรี่ให้คำนวนคะแนนผลรวมของผลตรวจ โดยทำสรุปไว้ 3 กรณี คือ
1. ถ้าคะแนนผลรวม = 0 ให้สรุปผลว่า ปกติ
2. ถ้าคะแนนผลรวมอยู่ระหว่าง 1 ถึง 5 ให้สรุปผลว่า รอยืนยัน
3. ถ้าคะแนนผลรวม > 5 ให้สรุปผลว่า ผิดปกติ
Back to Top
Reply by Message on : 26/9/2560 9:33:09
enjoy
(R24134)
ใช่ฟั่งชั่นอะไรค่ะ ในการคำนวน
Back to Top
Reply by Message on : 26/9/2560 11:43:31
ธัชชัย
(R24137)
กรณีนี้น่าจะต้องเขียน VBA ครับ โดยกำหนดเงื่อนไขว่า

1. ถ้าพบรายการ "ผิดปกติ" แม้เพียง 1 รายการ ก็ให้ผลว่า "ไม่ผ่าน"
2. ถ้าพบรายการ "รอผลการยืนยัน" แสดงว่ายังตรวจไม่ครบ หรือตรวจซ้ำ ก็ให้ผลว่า "รอผลการยืนยัน"
3. ถ้าทุกรายการ "ปกติ" ก็ถือว่าผ่าน

ซึ่งสามารถเขียนโค้ดได้หลายแบบครับ
แบบที่คุณสมชายบอกก็ทำได้
Back to Top
Reply by Message on : 26/9/2560 14:06:40
สันติสุข
(R24138)
if dcount("*","ชื่อเทเบิล","ชื่อฟิลด์ผลตรวจ = ค่าของไม่ผ่าน") > 0 then
   ' สรุปผล คือ ไม่ผ่าน ก็ให้ใส่โค้ดที่ต้องการทำอะไรต่อไปที่จุดนี้
elseif dcount("*","ชื่อเทเบิล","ชื่อฟิลด์ผลตรวจ = ค่าของรอผลยืนยัน") > 0 then
   ' สรุปผล คือ รอผลยืนยัน ก็ให้ใส่โค้ดที่ต้องการทำอะไรต่อไปที่จุดนี้
else
   ' สรุปผล คือ ผ่าน ก็ให้ใส่โค้ดที่ต้องการทำอะไรต่อไปที่จุดนี้
end if


แต่ในความเป็นจริง ในส่วนของเงื่อนไขด้านหลังที่เขียนว่า

"ชื่อฟิลด์ผลตรวจ = ค่าของ... "

มันควรมีการกำหนดด้วยว่าเป็นของใครด้วยเป็นอย่างน้อย เป็น

"ชื่อฟิลด์ผลตรวจ = ค่าของไม่ผ่าน... and ชื่อฟิลด์ของบุคคล = 'รหัสบุคคล'"

แต่คุณไม่บอกอะไรมา ก็ให้โค้ดเท่าที่มีรายละเอียดครับ

ปล. งานเรียน หรืองานอะไรครับนี่
Back to Top
Reply by Message on : 26/9/2560 14:43:53
ศราวุธ
(R24139)
สมมุติว่าถ้าทำตามแนวคิดของคุณสมชาย ก่อนอื่นผมขอเดาลัษณะฐานข้อมูลที่คุณออกแบบไว้ก่อนว่า น่าจะต้องมีตารางข้อมูลประวัติคนไข้ (One) และข้อมูลการตรวจ (Many) อยู่ ซึ่งข้อมูลการตรวจสมมุติว่ามีอยู่ 5 รายการ ดังนั้น เวลาที่คุณจะสรุปผลการตรวจของคนไข้แต่ละคนออกมา คุณอาจทำคิวรี่ให้ได้ผลลัพธ์ตามที่ต้องการออกกมาก่อน แล้วค่อยนำคิวรี่นี้ไปทำเป็น Report ต่อไป

เช่น คิวรี่ที่คุณจะสร้างขึ้นมาก่อนนี้ อาจจะดึงข้อมูลมาจาก 2 ตารางที่เชื่อมโยงกันอยู่ โดยอาจจะเลือกฟิวด์ รหัสประจำตัวคนไข้, ชื่อ, นามสกุลคนไข้ (จากตารางประวัติคนไข้)

และเลือกฟิวด์ รายการตรวจ, ผลตรวจ (จากตารางข้อมูลการตรวจ)

พอเลือกฟิวด์ดังกล่าวได้แล้ว ก็คลิกที่คำสั่ง Group By
จากนั้น ที่ฟิวด์รายการตรวจให้เปลี่ยนเป็น GroupByCount (ซึ่งจะได้จำนวนรายการที่ตรวจว่ามีกี่รายการ)
และที่ฟิวด์ผลตรวจ ให้ GroupBySum (ซึ่งจะได้ผลลัพธ์เป็นคะแนนรวม ตามแนวคิดที่คุณสมชายได้เสนอไว้)
จากนั้นเขียนฟิวด์ขึ้นมาเองที่คิวรี่อีกฟิวด์หนึ่งเพื่อแปลงค่าผลรวมคะแนนให้เป็นผลลัพธ์ที่เป็นคำพูดตามที่เราต้องการ เช่น
สรุปผลตรวจ : IIf([ผลรวมคะแนน]=0,"ปกติ", IIf([ผลรวมคะแนน] Between 1 and 5, "รอยืนยัน", IIf([ผลรวมคะแนน]>5,"ผิดปกติ")))
Back to Top

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++