บอร์ดเรียนรู้ Access สำหรับคนไทย
Thai Access Webboard => ห้อง MS Access => ข้อความที่เริ่มโดย: kunlek ที่ 11 ม.ค. 63 , 16:56:07
-
จะทำได้อย่างไร เมื่อฟอร์มการชำระหนี้ มีการแสดงส่วนบิลที่ค้างชำระ เมื่อต้องการตัดบิลใบไหน ให้ clickที่ฟิลด์อินวอยซ์ แล้วไปปรากฏที่ table ของฟอร์มเก็บบิลที่ชำระ
(https://www.thai-access.com/tiupld/images/q3xsvh-950e57.PNG)
-
ฟิลด์ที่ 1 คือ table ที่ได้จาก query ของ table ชื่อฟิลด์ว่า voucher_s_id
และฟิลด์ที่ 2 คือฟิลด์ voucher_s_id ที่รองรับการเลือกชำระ
-
(https://www.thai-access.com/tiupld/images/q3xt8z-430d70.PNG)
-
ดูเหมือนทั้งคู่จะเป็นซัพฟอร์ม โดยมี ฟอร์มหลักอีกที
จากรูปภาพ ผมว่าถ้าจะนำ voucher_s_id จาก Subform หนึ่ง มาวาง ในอีก Subform ใช้การสร้างตัวแปรเก็บค่าไว้แล้วเอาไปแสดงอีกทีเช่น
ผมกำหนด Form รายการบิลที่ค้างชำระ ชื่อ Frm01
Form รายการบิลที่ต้องการชำระ ชื่อ Frm02
Formหลัก ชื่อ Frmmain
ใช้ Event Double Click
Private Sub voucher_s_id_DblClick(Cancel As Integer)
Dim strID As String
If MsgBox("ต้องการตัดบินใช่หรือไม่", vbYesNo, "สอบถาม") = vbYes Then
Me.Dirty = False
strID = Me.voucher_s_id
Forms!frmmain.Form.frm02.SetFocus
DoCmd.GoToRecord record:=acNewRec
Forms!frmmain.Form.frm02!voucher_s_id.SetFocus
Forms!frmmain.Form.frm02!voucher_s_id = strID
End If
End Sub
-
เอา code นี้ไปวางที่field voucher_s_id ในฟอร์มค้างชำระ Frm01 ใช่หรือไม่ครับ อจ.
-
textbox ของ field voucher_s_id ของ frm01 ครับ ตั้งชื่อไว้ว่า voucher_s_id เลยก็ได้คับ
-
ทำแล้ว ขึ้น error ตามรูป ครับ
(https://www.thai-access.com/tiupld/images/q400bp-a15570.PNG)
(https://www.thai-access.com/tiupld/images/q400dd-9d31fb.PNG)
-
เหมือนฟอร์มเก็บบิลที่ชำระ จะไม่ได้เปิดให้ให้เพิ่มข้อมูลใหม่ นะครับ
ถ้าเพิ่มเรคคอร์ดใหม่ไม่ได้ ใช้แค่เรคคอร์ดเดียวที่ฟอร์ม 2 ให้ลบโค้ด Docmd.gotorecord,,acnewrec ออกไป
ข้อมูลก็จะเพิ่มแค่เรคคอร์ดเดียวเมื่อกด ฟอร์ม1 เข้ามา
หรือถ้าฟอร์ม 2 นั้นจะปิดการเพิ่ม Record ใหม่ บนฟอร์ม
จะใช้วิธีอื่นๆก็ได้เช่น rs!Addnew หรือจะใช้การ AppendQeury ไปที่ F_receivable_total แล้วสั่ง Requery บนฟอร์ม2 เพื่อแสดง ID นั้นขึ้นมา ก็ได้เหมือนกันครับ
-
ขอส่งไฟล์ใหม่
-
ไม่รู้แบบนี้หรือเปล่า คลิกแล้ว ไปแสดงที่อีกซัพฟอร์ม
-
ได้แล้วครับไม่รู้ อจ แก้ไขตรงไหนบ้าง ใช้ฟอร์มผมก็ยังมี "error 438" ขอบพระคุณ
-
ทำใหม่อีกไฟล์ ก็ไม่ได้ ขอคำแนะนำหลักการ งง?ตรง caption หรือ control source หรือ ชื่อ mainฟอร์ม หรือ sub ฟอร์ม
-
สร้าง backup ฐานจริงไว้ แล้วรีโมทไปแก้ให้ดีกว่าครับ ผมก็ไม่รู้ว่าฟอร์มจริงตั้งค่าไว้แบบไหน อธิบายยาก
หรือ รีโมท anydesk ไปดูจะสะดวกไหม ผมทักไลน์ไปหาท่านแล้วครับ