ดับเบิ้ลคลิ๊กที่ตารางในฟอร์มเพื่อเปิดดูรายละเอียดส
กระทู้เก่าบอร์ด อ.Yeadram

 1,710   10
URL.หัวข้อ / URL
ดับเบิ้ลคลิ๊กที่ตารางในฟอร์มเพื่อเปิดดูรายละเอียดส

ดับเบิ้ลคลิ๊กที่ตารางย่อยในฟอร์มเพื่อเปิดดูรายละเอียดสินค้าเลยได้ไหมคะ?

เช่น อยากเปิดดูรหัสสินค้า 901-005 (ในตารางย่อย)

แล้วฟอร์มก็เปิดข้อมูลของรหัสสินค้า 901-005 ได้เลยไหมคะ?

ต้องทำยังไงหรอคะ ช่วยสอนทีได้ไหมคะ ไม่มีความรู้เรื่อง เขียน CODE เลยค่ะ

ขอบคุณมากๆ นะคะ


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

1 @R13692


เผื่อรูปเพี้ยน เลยใส่ URL มาให้ค่ะ

ถ้าทำไม่ได้ยังไง บอกทีนะคะ

ขอบคุณมากค่ะ
2 @R13694
ได้ครับ ไปฝัง DoCmd.OpenForm ในเหตุการดับเบิลคลิกได้เลย
3 @R13721
ขอบคุณมากค่ะ แต่ หมิง ไม่ทราบ code เลยค่ะ

วันนี้พยายาม search แล้ว แต่คือ ยังหาไม่ได้

หากรบกวนขอ code ได้ไหมคะ

ต้องการ ดับเบิ้ลคลิก รหัส 901-005 แล้ว Form ก็เปิดใหม่เป็น

ข้อมูลรายละเอียดสินค้าตัวนั้นมาเลยค่ะ

ขอบคุณมาก ๆ ค่ะ

4 @R13725
ไม่ต้องใช้ code เลยครับ ใช้แค่ตอนเปิดคือ
DoCmd.OpenForm"ชื่อฟอร์ม"
แล้วก็ทำฟอร์มขึ้นมาใหม่ ตามที่คุณต้องการแหละครับ
เพียงแต่ ตรง Souce ของฟอร์มที่เปิด ให้ใส่เงื่อนไขเป็นชื่อ Control ที่อ้างอิง
ของเรคคอร์ดนั้น
5 @R13732
จากรูป คือ คุณมีฟอร์มหลัก และฟอร์มย่อย
คุณต้องการให้ดับเบิลคลิ๊กที่ฟอร์มย่อย แล้วให้ฟอร์มหลักแสดงข้อมูลของรายการที่คลิ๊กงั้นเหรอครับ

ถ้าความต้องการเป็นเช่นนั้น แสดงว่า
- ณ ปัจจุบันนี้ คุณไม่ได้มีการใช้ link child field ใช่มั้ย
- ฟอร์มย่อยที่ผมมองเห็น นั่นเป็นฟอร์มที่สร้างขึ้นแต่ให้แสดงผลเป็นแบบตาราง หรือว่า คุณไปเอาตารางมาแสดงผลเลย
ถ้า............... ไปเอาตารางมาแสดงผลเลย ทำต่อไม่ได้ครับ เพราะมันจำเป็นต้องฝังโค้ดหรือมาโครในเหตุการณ์ ซึ่งในตารางมันฝังไม่ได้ครับ
เพราะฉะนั้น แนะนำให้คุณสร้างเป็นฟอร์มเอาไว้ก่อน (ใช้วิซาร์ดพาสร้างก็ได้ ให้ตั้งค่าการแสดงผลเป็นแบบตารางตามเดิมก็ได้แต่ขอให้มันเป็นฟอร์ม)

พอได้แล้ว ให้เปิดฟอร์มย่อยที่สร้างขึ้นใหม่นั้นในมุมมองออกแบบ แล้วเขียนโค้ดเป็นฟังก์ชั่นเอาไว้ (ยิ่งอธิบายยิ่งยาวแฮะ เพราะมันต้องใช้ชื่อออปเจคต่างๆ อีกเพื่อการอ้างอิง)

Function ChangeMain(myCode as string)
forms("Mainform").filter = "[ID] like '" & me.txID & "'"
forms("Mainform").filteron = true
End function
เอาฟังก์ชั่นนี้วางไว้ในฟอร์มย่อย

ส่วนในหน้าต่าง คุณสมบัติ ของฟอรืมย่อย สำหรับทุกๆ textbox ให้เขียนนิพจน์ใส่ลงในเหตุการณ์ onDbClick ว่า
=ChangeMain([txID])

** สมมติฐานที่จำเป็น
- ฟอร์มหลักของคุณชื่อ MainForm
- ฟิลด์รหัสสินค้าของคุณชื่อ ID
- textbox ในฟอร์มย่อยของคุณที่แสดงรหัสสินค้า ชื่อว่า txID
6 @R13733
เพิ่มเติมครับ
งานลักษณะนี้ (การค้นหารหัสสินค้าที่ต้องการ เพื่อแสดงผลในฟอร์มปัจจุบัน) คนส่วนใหญ่เขามักจะทำ
- สร้างเป็นคอมโบบ็อกซ์ เอาไว้ที่ส่วนหัวของฟอร์มหลัก
- สร้างเป็นกล่องค้นหา เอาไว้ทีส่วนหัวของฟอร์มหลัก
ไม่ค่อยมีใครทำเป็นฟอร์มย่อยวางในฟอร์มหลักอย่างคุณทำเลยนะครับ

หรือผมเข้าใจเจตนาคุณผิดไปตั้งแต่ต้นกันแน่เนี่ย
7 @R13735
[color=hotpink]อ่า..ไม่รู้เข้าใจตรงกันไหม

มะหมิงทำฟอร์มย่อย โดยใ้ช้วิธี ดึงมาจากใน คิวรี่ ที่ทำไว้ค่ะ

แล้ว กำหนดให้ รหัส ID ประเภทตรงกัน ก็จะแสดงเฉพาะสินค้าที่อยู่ในรหัสประเภทเดียวกันเท่านั้น

เช่น ในรูป ถ้าหนูเปิดฟอร์มหลักอยู่ที่รหัสประเภท 901 ฟอร์มย่อย ก็จะแสดงรหัสประเภท 901 ทั้งหมดมาให้ดูว่ามีสินค้าอะไรบ้างที่อยู่ในรหัสประเภทนี้่

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

เพิ่มเิติม :: ที่ทำแบบนี้เพราะ (เหตุผลส่วนตัวนะคะ ไม่รู้แนวคิดนี้ดีหรือไม่ คิดเองอ่ะค่ะ)

คือ (ตั้งตัวเองเป็นที่ตั้ง) เวลาหนูจะดูสินค้าตัวนึง เช่น แบตเตอรี่มือถือ แบตมือถือ 1 รุ่น (เช่น โนเกีย 3310 ) ก็จะมีหลายเกรด หลายแบบ หลาย mAh

เช่น
แบตเตอรี่โนเกีย 3310 ชนิด 1300 mAh,
แบตเตอรี่โนเกีย 3310 ชนิด 1500 mAh,
แบตเตอรี่โนเกีย 3310 ชนิด ธรรมดา (จีน)

แต่พอมาค้นหา(ด้วยความที่ขี้ลืมสินค้า) ก็ต้องค้นหาแค่ว่า แบตเตอรี่โนเกีย 3310
มันก็จะได้โผล่ ในฟอร์มยอ่ยด้วย ว่ารหัสประเภทแบตมีอย่างอื่นอีกหรือไม่ที่ใช้แทนกันได้
หรือเผื่อเปลี่ยนรุ่นสินค้ากันได้ ในกรณีที่ทดแทนกันได้ (ก็จะมาเลื่อนดูในฟอร์มย่อยได้)

แต่ !! บางทีแบตเตอรี่รุ่นอื่น เช่น แบตเตอรี่ T28 ก็ดันไปใส่กับ แบตเตอรี่โนเกีย 3310 ได้ด้วยเช่นกัน (เวลาเห็นฟอร์มย่อยแสดงรายการแบตทั้งหมด ก็จะได้ถึงบางอ้อ ว่ามีกี่ชนิดให้เลือกดูบ้าง)

หนูก็อาจจะอธิบาย งง หน่อยนะคะ ไม่ใช่นักเขียนโปรแกรมแต่อย่างใด ทำไว้ใช้งานเองที่บ้านค่ะ
หนูซื้อหนังสือ Access มาอ่าน แล้วก็มา ทำเป็นของตัวเองอ่ะค่ะ เลยอาจโครงสร้างมั่วๆ >.< Code ก็เขียนไม่เป็น
สินค้าที่ทำ มีไ่ม่เยอะหรอกค่ะ รวมทั้งหมดที่นับได้ทั้งบ้านแล้ว ตอนนี้ยังมีไม่เกิน 300 รายการเลยค่ะ ในอนาคต ก็คงยังไม่ถึง 500 หรอก คงอีกนานค่ะ

ถ้าอีกหน่อยกิจการใหญ่โตมาก ก็คงต้องซื้อโปรแกรมมาใช้แล้วอ่ะค่ะ (ทำเองไม่ไหว)
แต่ตอนนี้ยังอยากประหยัดงบประมาณการซื้ออยู่ จึงมาทำเองใช้ดู

ขอบคุณมากนะคะ สำหรับคำแนะนำ ก็จะลองเอาไป อะแดป ใช้ดูค่ะ
8 @R13736
เพิ่มเติมค่ะ ฟอร์มย่อยหนู ทำเป็นฟอร์ม แต่แสดงผลเป็นตารางค่ะ
9 @R13738
[color=hotpink]
หนูไปทำตาม CODE ของคุณ yeadram ใช้ได้แล้วค่ะ

ดับเบิ้ลคลิ๊กแล้วขึ้นมาเลย

ต้องขอขอบคุณมากกกกกกกกกกกก มากกกกกกก มาก ๆ นะคะ

ขอบคุณมาก ๆ ค่ะ

10 @R13739
[color=hotpink]

ถ้าไม่เป็นการ รบกวน มันกดคลิ๊กโผล่มาแล้วจริงๆ ค่ะ

แต่ว่า !! ข้อมูลในตารางมันขยับเขยื้อนอ่ะค่ะ

กล่าวคือ....ปกติ หมิงเรียงลำดับรหัส ID ในตารางย่อยให้

เรียกจากมาก-ไปน้อย เพื่อ(เหตุผลส่วนตัว เดี๋ยวจายาว)

แต่พอดับเบิ้ลคลิ๊กเพื่อให้แสดงข้อมูล     รหัส ID มันไม่เรียงกันแล้วค่ะ

มันกลับไปเรียงใหม่เป็นมั่วซั่วไปหมด ต้องเลื่อนลงมาดูใหม่ หาใหม่อีก

ไม่รู้จะอธิบายยังไง T_T

แต่หากอยากมาดู หมิงจะส่งโปรแกรมให้ดู

อีเมล์หมิงนะคะ rainbow_bluecolor at hotmail dot com ค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2967s