กระทู้เก่าบอร์ด อ.Yeadram
5,576 5
URL.หัวข้อ /
URL
ต้องการให้ ค่าจาก subform ส่งค่าให้ main form ค่ะ
mainform = mainA
subform=subB
ใน subB มีการให้ใส่ค่า percentile
เมื่อ percentile_LostFocus
ให้ mainA ชื่อ sum_percentile รับค่าผลรวมของ percentile จาก subB
ที่ไม่ใช้วิธีอ้าง [subBl].Form![sum_percentile] จาก mainA เนื่องจากต้องเก็บค่าดังกล่าวไว้ในตารางด้วยน่ะค่ะ
+++++ทำอยู่ตั้งนานแล้วไม่ได้ซักทีค่ะ+++++++
subform=subB
ใน subB มีการให้ใส่ค่า percentile
เมื่อ percentile_LostFocus
ให้ mainA ชื่อ sum_percentile รับค่าผลรวมของ percentile จาก subB
ที่ไม่ใช้วิธีอ้าง [subBl].Form![sum_percentile] จาก mainA เนื่องจากต้องเก็บค่าดังกล่าวไว้ในตารางด้วยน่ะค่ะ
+++++ทำอยู่ตั้งนานแล้วไม่ได้ซักทีค่ะ+++++++
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05295
ได้แล้วค่ะ ขอบคุณค่ะ
แต่ติดปัญหาตอนเอา ฟอ์มนี้ไปเป็น subform ของ อีกฟอร์มหนึ่ง(ฟอร์มAA) มันบอกว่า ไม่พบ ฟอร์มA
ทั้ง ๆ ถ้า เปิด ฟอร์มA ย่อย มันก้อส่งค่าให้นะค่ะ
แต่ติดปัญหาตอนเอา ฟอ์มนี้ไปเป็น subform ของ อีกฟอร์มหนึ่ง(ฟอร์มAA) มันบอกว่า ไม่พบ ฟอร์มA
ทั้ง ๆ ถ้า เปิด ฟอร์มA ย่อย มันก้อส่งค่าให้นะค่ะ
3 @R05296
ลองเปลี่ยนคำสั่งการอ้างอิง
น่าจะได้นะครับ ลองดู
Private sub percentile_LostFocus()
Me.parent.form.controls("Sum_percentiles") = Dsum("percentile","source1","[f1] Like '" & Me.parent.form.controls("TXf1") & "'")
End sub
น่าจะได้นะครับ ลองดู
Private sub percentile_LostFocus()
Me.parent.form.controls("Sum_percentiles") = Dsum("percentile","source1","[f1] Like '" & Me.parent.form.controls("TXf1") & "'")
End sub
4 @R05302
มันขึ้น runtime error 2448
ไม่สามารถกำหนดค่าให้กับวัตถุได้
มันขึ้น runtime error 2448
ไม่สามารถกำหนดค่าให้กับวัตถุได้
5 @R05308
คุณทดสอบสั่งการจากฟอร์มลูก subB
โดยอ้างถึงคอนโทรลในฟอร์มแม่......
คุณบอกว่า subB ตัวนี้สามารถฝังอยู่ได้ในฟอร์มแม่ได้หลายตัว
คุณรันโค้ดที่ให้ไป ในขณะทีมันฝังกับฟอร์มแม่ตัวแรก (MainA) มันผ่าน
แต่คุณรันโค้ดที่ให้ไป ในขณะทีมันฝังกับฟอร์มแม่ตัวที่สอง (MainAA) ไม่ผ่าน
--- กับความเห็นล่าสุด ผมไม่แน่ใจว่าใช่หรือเปล่า (คือผ่านกับ MainA แต่ไม่ผ่านสำหรับ MainAA)
ในฟอร์ม MainA เราอ้างถึงคอนโทรลที่ชื่อ Sum_percentiles, TXf1
ในฟอร์ม MainAA เราอ้างคอนโทรลก็ชื่อเดียวกัน
---- ถามว่า มีคอนโทรลชื่อเหล่านี้ ใน MainAA หรือไม่
ถ้ามันมีชื่อคอนโทรลตรงกันจริง ตามเข้าไปดูอีกว่า คอนโทรลเหล่านั้น เป็นชนิดเดียวกันหรือไม่ในระหว่างสองฟอร์มแม่ (เป็น textbox เหมือนกันหรือเปล่า)
ถ้าชนิดคอนโทรลเหมือนกัน ตามเข้าไปดูอีกว่า แหล่งข้อมูลของคอนโทรลตัวใดมีปัญหาหรือไม่ เช่น บางตัวเขียนอ้างชื่อฟิลด์(ทำหน้าที่ทั้งแสดงผลและรับข้อมูลที่ input) บางตัวเขียนโดยนิพจน์(ทำหน้าที่แค่แสดงผลได้อย่างเดียวรับ input ไม่ได้)
ลองตรวจสอบดูครับถ้าหาสาเหตุเจอ ก็อาจจะเจอทางออกได้ด้วยตัวคุณเองครับ
ถ้ามันมีความแตกต่างกันหลายอย่าง ก็แนะ??ำให้ใช้การตรวจสอบเงื่อนไขก่อนจะสั่งการครับ คือให้ตรวจดูก่อนว่า ขณะนี้ มันรันอยู่ภายใต้ฟอร์มแม่ตัวใด เช่น
select case me.parent.form.name
case "MainA"
---
case MainAA"
---
end select
เป็นต้น
โดยอ้างถึงคอนโทรลในฟอร์มแม่......
คุณบอกว่า subB ตัวนี้สามารถฝังอยู่ได้ในฟอร์มแม่ได้หลายตัว
คุณรันโค้ดที่ให้ไป ในขณะทีมันฝังกับฟอร์มแม่ตัวแรก (MainA) มันผ่าน
แต่คุณรันโค้ดที่ให้ไป ในขณะทีมันฝังกับฟอร์มแม่ตัวที่สอง (MainAA) ไม่ผ่าน
--- กับความเห็นล่าสุด ผมไม่แน่ใจว่าใช่หรือเปล่า (คือผ่านกับ MainA แต่ไม่ผ่านสำหรับ MainAA)
ในฟอร์ม MainA เราอ้างถึงคอนโทรลที่ชื่อ Sum_percentiles, TXf1
ในฟอร์ม MainAA เราอ้างคอนโทรลก็ชื่อเดียวกัน
---- ถามว่า มีคอนโทรลชื่อเหล่านี้ ใน MainAA หรือไม่
ถ้ามันมีชื่อคอนโทรลตรงกันจริง ตามเข้าไปดูอีกว่า คอนโทรลเหล่านั้น เป็นชนิดเดียวกันหรือไม่ในระหว่างสองฟอร์มแม่ (เป็น textbox เหมือนกันหรือเปล่า)
ถ้าชนิดคอนโทรลเหมือนกัน ตามเข้าไปดูอีกว่า แหล่งข้อมูลของคอนโทรลตัวใดมีปัญหาหรือไม่ เช่น บางตัวเขียนอ้างชื่อฟิลด์(ทำหน้าที่ทั้งแสดงผลและรับข้อมูลที่ input) บางตัวเขียนโดยนิพจน์(ทำหน้าที่แค่แสดงผลได้อย่างเดียวรับ input ไม่ได้)
ลองตรวจสอบดูครับถ้าหาสาเหตุเจอ ก็อาจจะเจอทางออกได้ด้วยตัวคุณเองครับ
ถ้ามันมีความแตกต่างกันหลายอย่าง ก็แนะ??ำให้ใช้การตรวจสอบเงื่อนไขก่อนจะสั่งการครับ คือให้ตรวจดูก่อนว่า ขณะนี้ มันรันอยู่ภายใต้ฟอร์มแม่ตัวใด เช่น
select case me.parent.form.name
case "MainA"
---
case MainAA"
---
end select
เป็นต้น
Time: 0.3333s
สมมติว่า ฟิลด์ที่สัมพันธ์กันระหว่าง subB กับ MainA คือฟิลด์ที่ชื่อ f1 และเป็นข้อมูลชนิด Text
สมมติว่า ฟิลด์ f1 ถูกออกแบบให้แสดงผลบนฟอร์ม MainA ใน textbox ชื่อว่า TXf1
เขียนโค้ดในฟอร์มย่อย subB
Private sub percentile_LostFocus()
Forms("MainA").controls("Sum_percentiles") = Dsum("percentile","source1","[f1] Like '" & Forms("mainA").controls("TXf1") & "'")
End sub