การใช้ select case บนฟอร์ม
กระทู้เก่าบอร์ด อ.Yeadram

 3,907   10
URL.หัวข้อ / URL
การใช้ select case บนฟอร์ม

หากเราต้องการเลือกแบบ select case
บนฟอร์มเราต้องดำเนินการอย่างไร
ขอบคุณครับ

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

1 @R05883
ไม่เข้าใจ ลองยกตัวอย่างหน่อยครับ อธิบายละเอียดๆยิ่งดี

แล้วอย่าโกรธกันเลยนะครับ ถ้าจะบอกว่าโปรดอย่ากำหนดศัพท์ที่คุณคิดค้นขึ้นมาเอง เช่น "select case บนฟอร์ม" คนอื่นไม่เข้าใจ ผมอ่านคำถามนี้แล้ว เหมือน ... ถ้าคุณเป็นหมอ แล้วเจอคนไข้บอกว่า "หมอครับ ผมเป็นโรคหัวใจที่ผิวหนัง ช่วยผมด้วย" อารมณ์ความรู้สึก อย่างไรอย่างนั้นเลยครับ

คำว่า select case คือ VBA statement
ส่วน ฟอร์ม ก็คือ Access form object

แล้วที่คุณต้องการ คืออะัไร ?
2 @R05884
ขอโทษอีกครั้งครับ
มีฟอร์มอยู่ฟอร์มหนึ่ง
ประกอบด้วย เลขที่
คะแนน
เกณฑ์
แล้วเราต้องการทราบว่าคะแนนทีได้อยู่ในเกณฑ์อะไร
เช่น คะแนนได้ 60 เกณฑ์ พอใช้
คะแนนได้ 70 เกณฑ์ ดี
คะแนนได้ 80 เกณฑ์ ดีมาก
โดยเราต้องการใช้ select case ที่ เกณฑ์เลือก
โดยเลือกจากคะแนน
ไม่ทราบพอนึกออกมั้ยครับ
3 @R05885
Select Case คะแนน
    Case คะแนน =80
        เกณฑ์='ดีมาก'
    Case คะแนน=70
        เกณฑ์='ดี'
    Case คะแนน=60
        เกณฑ์='พอใช้'
    case else
        เกณฑ์='ปรับปรุง'
End Select

ลองดูท่านอื่นๆ ตอบอีกทีครับ
4 @R05932
แล้วการเขียนโค๊ดดังกล่าว
บนฟอร์ม เราเขียนตรงใหนของฟอร์ม
เพื่อให้มีการเลือกดังกล่าว
แล้วแสดงผลออกมา
5 @R05933
ฝังไว้ใน afterupdate ครับ
6 @R05937
ผมลองหลายวิธีแล้ว
ฝังไว้ใน afterupdate ของฟอร์มก็แล้ว
ของกล่องข้อความ คะแนนก็แ้ล้ว
ของกล่องข้อความ เกณฑ์ก็แล้ว
ไม่แสดงผลการเลือกออกมา
แต่หากอยู่ในรายงาน
ไม่มีปัญหาในการแสดงผล
ไม่รู้ติดที่ตรงใหน
ส่วนโค๊ตน่าจะไม่ผิด เพราะลอกจากในรายงานมา
7 @R05962
ลองทำตามนี้ดู
1.คัดลอกคำสั่งนี้ไปวางที่โมดูล ชื่อโมดูลอะไรก็ได้

Option Compare Database
Option Explicit
Public Function rex(c As Integer) As String
On Error GoTo bpam
Select Case c
Case 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
            rex = "พอใช้"
Case 70, 71, 72, 73, 74, 75, 76, 77, 78, 79
            rex = "ดี"
Case 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 99, 100
           rex = "ดีมาก"
Case Else
        rex = "ปรับปรุง"
        End Select
        Exit Function
bpam:
           Resume Next
   End Function

2.สร้างกล่องข้อความขึ้นมา 1 textbox
   แล้วใส่ =rex([ชื่อฟิลด์ที่ให้คะแนน])
3.ถ้าไม่ได้ทิ้งเมล์ไว้ครับ
8 @R05970
ขอบคุณครับ
ที่ช่วยแก้ปัญหาให้ครับ
9 @R07965
พอดีว่าง ๆ ก็เข้ามาอ่าน...ก็ดัดแปลงไปใช้กับ Textbox ใน Report
ขอบคุณครับ คุณ sorn ทำให้คิดได้....สร้างได้แต่ติดตรงเรียกใช้อย่างไรนี่ครับ
งมมาตั้งนาน (โดยเฉพาะคำตอบข้อ 2.สร้างกล่องข้อความขึ้นมา 1 textbox
   แล้วใส่ =rex([ชื่อฟิลด์ที่ให้คะแนน]) )
10 @R08595
ในข้อ2 เป็นแค่ textbox ทีได้จากการ select case เท่านั้น คิดว่าต้องมี อีก textbox 1 สำหรับใส่ต้วคะแนน
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3199s