สอบถามครับ
กระทู้เก่าบอร์ด อ.Yeadram

 955   10
URL.หัวข้อ / URL
สอบถามครับ


ผมอยากทราบว่ามีวิธีไหนบ้างครับที่จะ ให้ดับเบิลคลิกแล้วข้อมูลจาก
รหัสสินค้าจากฝังขวา ไป ขึ้นที่ช่อง รหัสสินค้าฝังซ้าย อ่ะครับ

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

1 @R21792


ลงรูปผิดตอนแรก ครับ
2 @R21795
ทางขวาเป็นลิสท์บ็อกซ์ หรือว่าเป็น sub form ครับ
3 @R21798
ทางขวาเป็นลิสท์บ็อกซ์ครับ
4 @R21800
สมมุติลิสท์บ็อกซ์ชื่อ b, คอนโทรลของ sub form ทางฝั่งซ้ายชื่อ s และคอมโบบ็อกซ์สำหรับรหัสชื่อ p ให้ใส่โค้ดใน Click event procedure ของ b เป็นดังนี้ครับ

Private Sub b_Click( )
   Me.s.form.p = Me.b
End Sub

5 @R21801
ผมทำไมได้อ่ะครับ
ตัวบ็อกลิสของผมชื่อ list1
ตัวหน้าการขายผมมีซับฟอร์มด้วยอ่ะเรา
จะมีชื่อฟอร์มกับชื่อซับผมเอาตัวไหนหรอครับ
ชื่อซับฟอร์มเป็น Salesup
ชื่อฟอร์มเป็น Frmsale
ส่วนช่องรหัสสินค้าของผมเป็น P_id อ่ะครับ
ผมใช่แบบนี้ถูกไหมครับ
Private Sub List1_Click()
   Me.Frmsale.form.P_id=Me.List1
End Sub
6 @R21802
ตอนนี้ทำได้แล้วครับ
ผมใช่เป็น

Private Sub List1_Click()
   Me.Frmsalesup.form.P_id=Me.List1
End Sub

เลยใช่ได้เลย
แต่มันไม่เพิ่มช่องเองอ่ะครับ
เวลากดไปแล้วมันซ้ำช่องเดิมอ่ะครับ
มันไม่ไปต่อช่องข้างล่างอ่ะครับ อันนี้ทำยังไงหรอครับ
แล้วก็ตรงช่องจำนวนอ่ะครับ
ผมใส่ให้มันขึ้นเป็น 1 ไว้อ่ะครับ
แต่พอคลิกได้แล้วมันไม่ขึ้น 1 ให้อ่ะครับ ต้องใส่ตัวเลขเอง
อันนี้มีวิธีให้มันขึ้นออโต้ไหมครับ
7 @R21803
ในลิสท์บ็อกซ์ที่มีหลายๆคอลัมน์ เวลาเราอ้างเฉพาะชื่อ เช่น Me.List1 เราจะได้ค่าของคอลัมน์ที่กำหนดอยู่ใน Bound Column property ถ้าเข้าใจไม่ผิด ในที่นี้คือช่อง ID ในลิสท์บ็อกซ์ ถ้าต้องการค่าจากตอลัมน์อื่น เราต้องอ้าง .Column property เพิ่มเติม โดยที่คอลัมน์แรกทางซ้าย จะถือเป็น .Column(0) ต่อมาช่องชื่อสินค้าจะเป็น .Column(1) ดังนั้นถ้าจะเอาค่าอะไรไปใส่ไว้ใน sub form ก็เพียงปรับโค้ดเป็น

Me.Frmsalesup.form.ชื่อคอนโทรลในซับฟอร์ม = Me.List1.Column(ตำแหน่งคอลัมน์)

ส่วนเรื่องจำนวนหรือค่าอื่นๆ ก็ใช้โค้ดลักษณะ

Me.Frmsalesup.form.ชื่อคอนโทรลในซับฟอร์ม = Me.ชื่อคอนโทรลบนฟอร์มหลัก

สำหรับการขึ้นบรรทัดใหม่ในซับฟอร์ม ก็ให้สั่ง

docmd.GoToRecord ,,acNewRec
8 @R21804
แก้ไข .. เนื่องจากบรรทัดใหม่นั้นอยู่ในซับฟอร์ม เราจึงต้องสั่งให้คอนโทรล Frmsalesup ได้รับโฟกัส (ให้เป็นแอคทีฟคอนโทรล) เสียก่อน จึงต้องสั่ง

Me.Frmsalesup.SetFocus

แล้วค่อยตามด้วย

docmd.GoToRecord ,,acNewRec
9 @R21814
ผมไม่เข้าใจว่าจะใส่
Me.Frmsalesup.SetFocus
docmd.GoToRecord ,,acNewRec
ที่ไหนอ่ะครับ
10 @R21815
ตอนนี้ผมทำให้แล้วครับ
ขอบคุณมากๆเลยครับตอนนี้โปรแกรมผมสมบูรณ์แล้ว
ไม่ได้ที่นี้แย่เลย
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3189s