เงื่อนไขการคียืข้อมูล แยกเพศ ชาย,หญิง
กระทู้เก่าบอร์ด อ.Yeadram

 1,790   19
URL.หัวข้อ / URL
เงื่อนไขการคียืข้อมูล แยกเพศ ชาย,หญิง

รบกวนอาจารย์และพี่ๆทุกท่านค่ะ
จำทำการลงข้อมูลผลตรวขของคนไข้ โดยมี 1 เทสตรวจที่ต้องแยกเนื่องจากการตรวจการตั้งครรภ์ เงื่อนไ
1. ถ้าเป็นหญิง ให้ลงผลตรวจการตั้งครรภ์
2. ถ้าเป็นชาย ไม่สามารถผลตรวจการตั้งครรภ์ได้

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

1 @R24060
ใน AfterUpdate event procedure ของช่องที่เลือกเพศ ให้ใส่โค้ดในลักษณะนี้

if me.ชื่อช่องเพศ = ค่าที่บอกว่าเป็นชาย then
   ' ถ้าช่องผลการตรวจ เป็นช่องถัดจากช่องเพศ ต้องใส่บรรทัด sendkeys "{TAB}" ต่อจากบรรทัดนี้ไปเลย
   me.ชื่อช่องผลการตรวจ = null   ' ถ้าใส่ null แล้วมีerror ให้เปลี่ยนจาก null เป็นเครื่องหมาย double quote 2 ตัวติดกัน ""
   me.ชื่อช่องผลการตรวจ.enable = false
else
   me.ชื่อช่องผลการตรวจ.enable = true
end if

2 @R24063
แก้ไข

ไม่ต้องมีบรรทัด sendkeys "{TAB}" ไม่ว่าช่องต่อไปจะเป็นอะไรนะครับ
3 @R24071
ขออนุญาติส่ง Data ให้ช่วยดูได้ไหมค่ะ@สันติสุข
4 @R24079
ทำตามที่ผมบอกได้ผลยังไงบ้างครับ ถ้าจะส่งแต่ data มาให้ ผมก็ไม่รู้จะเอามาเพื่ออะไร ยังไม่รู้เลยว่าคุณเกิดปัญหาตรงไหน
5 @R24082
มีตาราง 3 ตาราง
1.ตารางคนไข้
2.ตารางรายการตรวจ (รายการตรวจ 20 รายการ) x-ray, การตั้งครรภ์
3.ตารางรายชื่อผลตรวจ (5 รายการ) ปกติ ผิกปกติ พบการตั้งครรภ์ ไม่พบการตั้งครรภ์ รอผลยืนยัน
โจทย์คือ เพศชายไม่ให้ลงผลตรวจ การตั้งครรภ์ได้ค่ะ

(ขอโทษนะคะที่ให้ข้อมูลไม่ครบ)
6 @R24084
แล้วหน้าฟอร์มที่ทำเอาไว้แล้วเป็นยังไงครับ ส่วนไหนของฟอร์มเชื่อมโยงกับฟิลด์อะไร
7 @R24085


รูปภาพ หร้าจอค่ะ
8 @R24087
รูปหน้าจอสำหรับคีย์ผลตรวจค่ะ
9 @R24088
ในฟอร์มทางด้านขวา ตรงช่องรายการตรวจ

1. เป็นเท็กซ์บ็อกซ์ หรือว่าเป็นคอนโทรลชนิดไหนครับ ?
2. ทำอย่างไรถึงให้ได้ชื่อรายการตรวจแสดงออกมา ด้วยการป้อนคำนั้นโดยตรง เช่น
ป้อนคำว่า VDRL หรือว่าเลือกออกมาแสดง ?
10 @R24089
โอเค เพิ่งเห็นหน้าจอ Design View
11 @R24090
เลือกออกมาแสดง เป็น ดอปดาว ค่ะ
ไฟล์รูปภาพ

1   image-not-found

2   image-not-found
12 @R24091
ให้ใส่โค้ดใน BeforeUpdate event procedure ของคอมโบบ็อกซ์ E2Serology ดังนี้

if parent.Esex = "Male" then
   if me.E2Serology = ค่าที่หมายถึง ผลการตั้งครรภ์ then
      me.undo
   end if
end if

โค้ดนี้จะทำให้เมื่อเลือกรายการตรวจเป็น ผลการตั้งครรภ์ สำหรับเพศที่แสดงคำว่า Male ออกมาแล้ว จะเคลียค่าในช่องรายการตรวจทิ้ง
13 @R24093
ไม่แน่ใจว่าบรรทัดที่แสดงรายการตรวจ ผลการตั้งครรภ์ คุณป้อนเองหรือมีมาแต่แรกแล้ว ถ้ามีมาแต่แรก แต่ไม่ต้องการให้ป้อนผลตรวจ ก็ให้ใส่โค้ดใน BeforeUpdate event procedure ของคอมโบบ็อกซ์ E2Approve แทนครับ
14 @R24096


if parent.Esex = "Male" then
   if me.E2Serology = ค่าที่หมายถึง ผลการตั้งครรภ์ then
      me.undo
   end if

ค่าที่หมายถึงการตั้งครรภ์ คือ พบการตั้งครรภ์,ไม่พบการตั้งครรภ์

เวลาใส่ต้องใส่แบบนี้ถูกต้องไหมค่ะ

if parent.Esex = "Male" then
   if me.E2Serology = "พบการตั้งครรภ์","ไม่พบการตั้งครรภ์" then
      me.undo
   end if

15 @R24097
ใส่โค้ด E2Approve แล้วปรากกว่าไม่สามารถลงผลตรวจได้เลย "ทุกผลตรวจตรวจ"

เนื่องจากที่ใส่โค้ดที่ E2Approve เนื่องจาก มีรายการมาแล้ว แต่ผลตรวจต้องมาลงทีหลัง
16 @R24098
ไม่ได้เป็น คอมโบบ็อกซ์ ค่ะ เป็น DataSheet
17 @R24099
E2Serology ของคุณคือฟิลด์ที่แสดงพวกคำว่า "ตรวจสารเสพติด" , "โรคเรื้อน" , "ภาวะตั้งครรภ์" ทีนี้ค่าของมันแท้ๆคืออะไร อันนี้ผมไม่ทราบ ปกติจะเป็นรหัสที่ใช้แทนคำครับ จุดประสงค์ของโค้ดคือจะเช็คว่า ถ้าเลือกเป็น "ภาวะตั้งครรภ์" ก็ให้ยกเลิกการเลือกไปเลย
18 @R24100
สมมติฟอร์มย่อยที่มี E2Serology และ E2Approve อยู่ชื่อฟอร์มย่อยว่า SubForm1

ให้ไปที่ฟอร์มหลัก CheckUpCK แล้วกำหนด On Enter event ของตัว SubForm1 ดังนี้

[FONT=Courier]Private Sub SubForm1_Enter()
   If Me.Esex = "Male" Then
      Me.SubForm1.Form.E2Serology.RowSource = "'VDRL';'X-ray';'ตรวจโรคเท้าช้าง';'ตรวจสารเสพติด';'พิษสุราเรื้อรัง';'โรคเรื้อน'"
      Me.SubForm1.Form.E2Approve.RowSource = "'ปกติ';'ผิดปกติ';'รอยืนยันผล'"
   Else
      Me.SubForm1.Form.E2Serology.RowSource = "'VDRL';'X-ray';'ตรวจโรคเท้าช้าง';'ตรวจสารเสพติด';'พิษสุราเรื้อรัง';'ภาวะตั้งครรภ์';'โรคเรื้อน'"
      Me.SubForm1.Form.E2Approve.RowSource = "'ปกติ';'ผิดปกติ';'พบการตั้งครรภ์';'ไม่พบ';'รอยืนยันผล'"
   End If
End Sub[/FONT]

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