กระทู้เก่าบอร์ด อ.Yeadram
2,005 7
URL.หัวข้อ /
URL
เขียน Code ฟอร์มหลัก กับฟอร์มย่อย
ผมมีฟอร์มหลักซึ่งมีฟิลด์ รหัสสินค้า ชื่อสินค้า และมีฟอร์มย่อยซึ่งมีฟิลด์ รหัสสินค้า วันที่สั่งซื้อสินค้า จำนวนสั่งซื้อสินค้า ตารางทั้ง 2 มีความสัมพันธ์แบบ 1:1 ผมต้องการให้ฟิลด์รหัสสินค้าในฟอร์มหลักลิงค์กับรหัสสินค้าในฟอร์มย่อย แบบทำนอง Split Form ของ 2007 ครับ (ไม่ใช่คุณสมบัติ Link Child/Master Field)
ฟอร์มหลัก: สมมุติว่าเลื่อนไปยัง รหัสสินค้า 25 เป็นแบบ Single Form
ฟอร์มย่อย: รหัสสินค้า ... เป็นแบบ Continuous Form
รหัสสินค้า 24
รหัสสินค้า 25 บรรทัดนี้จะต้องถูกเลือกหรือ Active ไว้
รหัสสินค้า 26
รหัสสินค้า ...
จะมีวิธีเขียนโค๊ดอย่างไรครับ รบกวนผู้รู้ช่วยแนะนำด้วยครับ
ฟอร์มหลัก: สมมุติว่าเลื่อนไปยัง รหัสสินค้า 25 เป็นแบบ Single Form
ฟอร์มย่อย: รหัสสินค้า ... เป็นแบบ Continuous Form
รหัสสินค้า 24
รหัสสินค้า 25 บรรทัดนี้จะต้องถูกเลือกหรือ Active ไว้
รหัสสินค้า 26
รหัสสินค้า ...
จะมีวิธีเขียนโค๊ดอย่างไรครับ รบกวนผู้รู้ช่วยแนะนำด้วยครับ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R13952
ผมว่าคุณ Tong แม่แตง คือตัวอย่างคนที่มีโลกทัศน์แคบนะครับ คุณเห็นงานของผมหรือครับถึงรู้ว่าผมออกแบบตารางผิด ความสัมพันธ์ของตารางแบบ 1 ต่อ 1 คุณไม่รู้จักเหรอครับ ถ้าออกแบบฟอร์มหลักเป็น Single Form และฟอร์มย่อยเป็น Continuous Form และใช้คุณสมบัติ Link Child / Master Field ทำไมผมจะไม่รู้ ก็ผมใช้อยู่ครับ แต่โจทย์ที่ผมโพสไม่ได้ต้องการแบบนั้น คุณ Tong แม่แตงอ่านโจทย์ไม่เข้าใจเหรอครับ ผมต้องการเขียน Code ให้ทำงานแบบ Split Form ใน 2007 เพราะต้องใช้งานแบบนั้น ถ้าผมรู้วิธีเขียนผมจะโพสถามทำไมล่ะครับ ถ้าคุณ Tong แม่แตง เขียนไม่ได้ก็อย่าวิจารณ์ดีกว่าครับ ผมสงสารคนที่มาเรียนกับคุณครับ แค่นี้คุณยังไม่เข้าใจสิ่งที่ผมถามแล้วจะสอนคนอื่นได้อย่างไรครับ
3 @R13953
ผมไม่เคยใช้เวอร์ชั่นที่สูงกว่า 2003 นะครับ เลยไม่แน่ใจว่า SplitForm เป็นอย่างไรกันแน่ และไม่แน่ใจว่าผมเข้าใจถูกหรือไม่ ลองอย่างนี้ไหมครับ
ที่ Current event procedure ของฟอร์มหลักให้เขียนโคดว่า
Me.[ชื่อซับฟอร์มคอลโทรลบนฟอร์มหลัก].Form.Recordset.FindFirst "[ชื่อฟิลด์รหัสสินค้า] = '" & Me.[ชื่อฟิลด์รหัสสินค้า] & "' "
อันนี้เป็นกรณีของ ฟิลด์รหัสสินค้า เป็นข้อมูลประเภท Text นะครับ ถ้าเป็นประเภท Numeric ก็เขียนเป็น FindFirst "[ชื่อฟิลด์รหัสสินค้า] = " & Me.[ชื่อฟิลด์รหัสสินค้า] ครับ
ที่ Current event procedure ของฟอร์มหลักให้เขียนโคดว่า
Me.[ชื่อซับฟอร์มคอลโทรลบนฟอร์มหลัก].Form.Recordset.FindFirst "[ชื่อฟิลด์รหัสสินค้า] = '" & Me.[ชื่อฟิลด์รหัสสินค้า] & "' "
อันนี้เป็นกรณีของ ฟิลด์รหัสสินค้า เป็นข้อมูลประเภท Text นะครับ ถ้าเป็นประเภท Numeric ก็เขียนเป็น FindFirst "[ชื่อฟิลด์รหัสสินค้า] = " & Me.[ชื่อฟิลด์รหัสสินค้า] ครับ
4 @R13954
มันมีอีกวิธี แต่ผมยังไม่เคยลอง คือใน OnLoad event procedure ของตัวซับฟอร์มเอง ให้ใส่โคดว่า
set Me.Recordset = Parent.Recordset
set Me.Recordset = Parent.Recordset
5 @R13960
ขอขอบคุณ คุณสันติสุข มากครับ ที่ช่วยตอบโจทย์อย่างที่ผมต้องการ ซึ่งผมใช้วิธีที่ 2 จะได้ผลดีกว่าวิธีที่ 1 ครับ ถ้าจะรบกวนขอเบอร์ไว้ติดต่อจะได้ไม๊ครับ เผื่อมีคำถามเกี่ยวกับการเขียนโค๊ดจะได้โทรสอบถามครับ
6 @R13970
ขออภัยคุณมือใหม่ ที่ผมไม่น่าจะเข้าไปยุ่งกับคุณเลย
เพียงเห็นโจทย์ของคุณมันเข้ากับบทเรียนที่กำลังจะสอน
เลยยกตัวอย่างให้เห็นแค่นั้นน่ะ ขออภัยอีกครั้งนะ
และขออนุญาตเอาโจทย์ของคุณไปเป็นตัวอย่างอธิบายให้ผู้เรียนวันที่ 20 ตค
เพื่อให้เข้าใจว่าออกแบบตารางผิดอย่างไร
ครูคือผู้ให้
ครูต้อง
เพียงเห็นโจทย์ของคุณมันเข้ากับบทเรียนที่กำลังจะสอน
เลยยกตัวอย่างให้เห็นแค่นั้นน่ะ ขออภัยอีกครั้งนะ
และขออนุญาตเอาโจทย์ของคุณไปเป็นตัวอย่างอธิบายให้ผู้เรียนวันที่ 20 ตค
เพื่อให้เข้าใจว่าออกแบบตารางผิดอย่างไร
ครูคือผู้ให้
ครูต้อง
7 @R13971
ผมขอให้มาถามในนี้ดีกว่านะครับ ผมไม่สามารถมาตอบได้ตลอดครับ ถามในนี้ ท่านอื่นจะได้มาตอบด้วยครับ เพราะไม่มีใครรู้ได้หมดทุกเรื่อง คำถามนี้ผมอาจบังเอิญรู้วิธี แต่ก็มีอีกเป็นร้อยๆคำถามที่ผมก็ตอบไม่ได้ ผมรู้แค่นิดเดียวครับ บอร์ดนี้จะไปได้ต้องช่วยๆกันครับ
Time: 0.3624s
อยากรู้ว่าออกแบบตารางอย่างไรถึงจะถูกโดยไม่ต้องเขียนโคท
พบกัน 20 ตุลา เทคนิกง่ายๆการวิเคราะห์ข้อมูลก่อนออกแบบตาราง
ติดต่อจองที่เรียนได้ที่คุณวิบูลย์หรือผู้จัด
ครั้งแรกหรืออาจครั้งเดียว โดยครูต้อง แม่แตง