ส่งข้อความ จาก ฟอร์มย่อยในฟอร์มหลัก ไปฟอร์มใหม่ที่
กระทู้เก่าบอร์ด อ.Yeadram

 737   8
URL.หัวข้อ / URL
ส่งข้อความ จาก ฟอร์มย่อยในฟอร์มหลัก ไปฟอร์มใหม่ที่

ขอสอบถามครับ

คือผมจะ ส่งข้อความ(ชื่อ text1) ใน ฟอร์มย่อย(ชื่อ fff2)ที่อยู่ในฟอร์มหลัก(ชื่อ fmain) ไปฟอร์มใหม่ที่กำลังจะกดเปิด(ชื่อ fnewopen) ซึ่งมีกล่องข้อความเป็นตัวรับค่า(ชื่อ text222)

จะต้องเขียนโค้ดว่าอย่างไรครับ

กระทู้ที่สืบค้นมาแล้วแต่ประยุกต์ใช้ไม่เป็นครับ
(http://thai-access.com/yeadram_view.php?topic_id=281)

ขอบพระคุณครับ

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

1 @R22696
forms("fnewopen").text222 = forms("fmain").xxx.form.text1

โดยที่ xxx คือ ชื่อคอนโทรลของซับฟอร์ม ไม่ใช่ชื่อของฟอร์มย่อยโดยตรง
2 @R22698
ผมขอสอบถามโดยละเอียดครับว่า XXX ควรเขียนอย่างไร
สมมติว่า คอรโทรลของซับฟอร์ม ของ text1 ชื่อ ctrtext1 ครับ

(อันที่ลองแล้ว error คือ forms("fnewopen").text222 = forms("fmain").ctrtext1.form.text1)

ขอบคุณครับอาจารย์
3 @R22699
ผมลองอีกวิธีได้แล้วครับ

ผมสร้าง ตัวรับค่า จาก text1 ของฟอร์มย่อย ที่ฟอร์มหลัก
แล้วพอกดปุ่มเปิดฟอร์มใหม่ ให้มีคำสั่งก่อนเปิดคือ ///ให้ ตัวรับค่าที่สร้างใหม่ ในฟอร์มหลัก เท่ากับ ค่า text1 ของฟอร์มย่อย ///

พอเปิดฟอร์มใหม่มา ให้ text222 เท่ากับ ตัวรับค่าของฟอร์มหลัก (วิธีอ้อมโลกเลยครับ)

แต่ผมก็ยังอยากได้วิธีที่อาจารย์กล่าวไว้ครับ เพราะของผมเขียนจนรกไปหมดเลยครับ

ขอบคุณครับอาจารย์
4 @R22700
error ว่าอะไรครับ ?
5 @R22701
Run-time error'2465':
Application-defined or object-defined error

เมื่อกด debug ก็มาโผล่ที่บรรทัดโค้ด forms("fnewopen").text222 = forms("fmain").ctrtext1.form.text1 ครับอาจารย์
6 @R22702
เช็คดีๆว่าเท็กบ็อกซ์บนฟอร์มชื่อ text222 จริงหรือไม่ ผมว่าน่าจะผิดพลาดตรงชื่อนี่แหล่ะครับ
7 @R22703
ชื่อ text222 จริงๆครับอาจารย์
8 @R22704
ลองเปลี่ยนโค้ดเพื่อทดสอบเป็น

Debug.Print forms("fmain").ctrtext1.form.text1

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