กระทู้เก่าบอร์ด อ.Yeadram
3,409 6
URL.หัวข้อ /
URL
ผลที่ได้จาก query สามารถนำไป สร้าง event action ต่
ผมมี query อยู่ 1 ตัว ได้ผลลัพธ์ดังนี้
มี ฟิล job id เก็บหมายเลข job
ฟิล exp1 เก็บข้อมูล
ฟิล exp2 เก็บข้อมูล
job ID exp1 exp2
gw1 a b
nk1 b b
หลังจากผลแสดงใน datasheet view แล้วผมอยากให้ กด เมาส์ ที่ job ID เช่น
กด บน ตัว gw1 หรือ nk1 แล้ว สามารถสร้าง event ให้เปิด form ได้หรือไม่ครับ
และพอจะมีตัวอย่าง หรือ source code บ้างหรือไม่ครับถ้าทำได้
หรือต้องให้ query ไปแสดงที่ไหนถึงจะสร้าง action แบบนี้ได้ครับ
รบกวนท่านผู้เชี่่ยวชาญด้วยครับหรือถ้าไม่เข้าใจคำถามอย่างไรแจ้งได้ครับ
มี ฟิล job id เก็บหมายเลข job
ฟิล exp1 เก็บข้อมูล
ฟิล exp2 เก็บข้อมูล
job ID exp1 exp2
gw1 a b
nk1 b b
หลังจากผลแสดงใน datasheet view แล้วผมอยากให้ กด เมาส์ ที่ job ID เช่น
กด บน ตัว gw1 หรือ nk1 แล้ว สามารถสร้าง event ให้เปิด form ได้หรือไม่ครับ
และพอจะมีตัวอย่าง หรือ source code บ้างหรือไม่ครับถ้าทำได้
หรือต้องให้ query ไปแสดงที่ไหนถึงจะสร้าง action แบบนี้ได้ครับ
รบกวนท่านผู้เชี่่ยวชาญด้วยครับหรือถ้าไม่เข้าใจคำถามอย่างไรแจ้งได้ครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R13382
เรียนอาจารย์สันติสุขครับ
คือผมสร้าง form จาก query ไม่เป็นครับพอจะ guide ได้หรือไม่ครับ ต้องเข้าไปที่ คิวรี่แล้วเลือกสร้างจากส่วนไหนของคิวรี่ครับครับหรือพอจะมีตัวอย่างหรือไม่ครับ
คือผมสร้าง form จาก query ไม่เป็นครับพอจะ guide ได้หรือไม่ครับ ต้องเข้าไปที่ คิวรี่แล้วเลือกสร้างจากส่วนไหนของคิวรี่ครับครับหรือพอจะมีตัวอย่างหรือไม่ครับ
3 @R13385
เรียนอาจารย์สันติสุขอีกครับครับ
ผมลองหาจนทำได้แล้วครับขอบคุณมาก ๆ เลยครับสำหรับความรู้ครับ
***ต้องขอโทษที่ไม่ได้ลองหาดูก่อน เลยรีบตอบขอความรู้ไปหน่อยครับ***
ผมลองหาจนทำได้แล้วครับขอบคุณมาก ๆ เลยครับสำหรับความรู้ครับ
***ต้องขอโทษที่ไม่ได้ลองหาดูก่อน เลยรีบตอบขอความรู้ไปหน่อยครับ***
4 @R13387
เรียนอาจารย์เพิ่มเติมครับ,
ผมลืมบอกในครั้งแรกไปว่า ถ้าเปิด form ได้แล้วให้ส่งค่าใน text นั้นตามไปด้วยเช่นส่ง 'nk1' ไปยัง form ใหม่ที่เราเปิดด้วยครับต้องเขียนโค๊ตอย่างไรครับ
***รบกวนอีกซักครั้งครับ***
ผมลืมบอกในครั้งแรกไปว่า ถ้าเปิด form ได้แล้วให้ส่งค่าใน text นั้นตามไปด้วยเช่นส่ง 'nk1' ไปยัง form ใหม่ที่เราเปิดด้วยครับต้องเขียนโค๊ตอย่างไรครับ
***รบกวนอีกซักครั้งครับ***
5 @R13391
มีหลายวิธีครับ
1. ส่งไปเป็นพารามิเตอร์นึงพร้อมคำสั่ง .OpenForm
DoCmd.OpenForm "ชื่อฟอร์ม",,,,,,Me.ชื่อเท็กซ์บ็อกซ์ของ JobID
แล้วฟอร์มที่ถูกเปิด ให้อ่านค่าจากพารามิเตอร์ด้วยคำสั่ง Me.OpenArgs ข้อเสียของวิธีนี้คือค่าที่ส่งไปจะเป็นประเภท string เท่านั้น และส่งได้เพียงค่าเดียว ถ้าจะส่งหลายค่า ก็ต้องรวมหลายค่าเป็น string อันเดียว แล้วไปเขียนโปรแกรมเพื่อตัดคำเอาเอง
หรือ 2. ฟอร์มที่ถูกเปิดสามารถอ้างอิงเท็กซ์บ็อกซ์จากฟอร์มที่มาสั่งเปิดด้วย
Forms("ชื่อฟอร์มที่สั่งเปิด").ชื่อเท็กซ์บ็อกซ์ของ JobID
วิธีนี้ ฟอร์มที่มาสั่งเปิดต้องยังเปิดอยู่ ถ้าปิดไปเมื่อไหร่ก็จะเกิด error
หรือ 3. หลังสั่งเปิดฟอร์มด้วย .OpenForm สามารถกำหนดค่าในเท็กซ์บ็อกซ์ของอีกฟอร์มด้วยคำสั่ง
Forms("ชื่อฟอร์มที่ถูกเปิด").ชื่อเท็กซ์บ็อกซ์ที่ต้องการรับค่า = Me.ชื่อเท็กซ์บ็อกซ์ของ JobID
ข้อเสียของวิธีนี้คือ ถ้าฟอร์มที่ถูกเปิดต้องการใช้ค่าที่ส่งมาก่อนที่ฟอร์มจะเปิดเสร็จ ก็จะทำไม่ได้
หรือ 4. เก็บไว้ในตัวแปรที่เป็น Public Variable ข้อเสียคือ รกโปรแกรม ยกเว้นออกแบบให้ดีๆ
หรือ 5. เก็บไว้ในเทเบิลใดเทเบิลนึง ข้อเสียคือ วุ่นวาย ลงแรงทำเยอะ
หรือ ...
เลือกให้เหมาะสมครับ
1. ส่งไปเป็นพารามิเตอร์นึงพร้อมคำสั่ง .OpenForm
DoCmd.OpenForm "ชื่อฟอร์ม",,,,,,Me.ชื่อเท็กซ์บ็อกซ์ของ JobID
แล้วฟอร์มที่ถูกเปิด ให้อ่านค่าจากพารามิเตอร์ด้วยคำสั่ง Me.OpenArgs ข้อเสียของวิธีนี้คือค่าที่ส่งไปจะเป็นประเภท string เท่านั้น และส่งได้เพียงค่าเดียว ถ้าจะส่งหลายค่า ก็ต้องรวมหลายค่าเป็น string อันเดียว แล้วไปเขียนโปรแกรมเพื่อตัดคำเอาเอง
หรือ 2. ฟอร์มที่ถูกเปิดสามารถอ้างอิงเท็กซ์บ็อกซ์จากฟอร์มที่มาสั่งเปิดด้วย
Forms("ชื่อฟอร์มที่สั่งเปิด").ชื่อเท็กซ์บ็อกซ์ของ JobID
วิธีนี้ ฟอร์มที่มาสั่งเปิดต้องยังเปิดอยู่ ถ้าปิดไปเมื่อไหร่ก็จะเกิด error
หรือ 3. หลังสั่งเปิดฟอร์มด้วย .OpenForm สามารถกำหนดค่าในเท็กซ์บ็อกซ์ของอีกฟอร์มด้วยคำสั่ง
Forms("ชื่อฟอร์มที่ถูกเปิด").ชื่อเท็กซ์บ็อกซ์ที่ต้องการรับค่า = Me.ชื่อเท็กซ์บ็อกซ์ของ JobID
ข้อเสียของวิธีนี้คือ ถ้าฟอร์มที่ถูกเปิดต้องการใช้ค่าที่ส่งมาก่อนที่ฟอร์มจะเปิดเสร็จ ก็จะทำไม่ได้
หรือ 4. เก็บไว้ในตัวแปรที่เป็น Public Variable ข้อเสียคือ รกโปรแกรม ยกเว้นออกแบบให้ดีๆ
หรือ 5. เก็บไว้ในเทเบิลใดเทเบิลนึง ข้อเสียคือ วุ่นวาย ลงแรงทำเยอะ
หรือ ...
เลือกให้เหมาะสมครับ
6 @R13394
ขอบคุณสำหรับความรู้มาก ๆ เลยครับอาจารย์ ผมจะทดลองนำไปใช้ตามที่อาจารย์แนะนำครับ
Time: 0.2470s
Private Sub xxx_Click() หรือ Private Sub xxx_DblClick()
DoCmd.OpenForm "ชื่อฟอร์ม"
End Sub