469
ห้อง MS Access / > ต้องการเพิ่มข้อมูลใน Combo box โดยไม่ต้องปิดฟอร์มแล้วไปเพิ่มในฟอร์มข้อมูลอะไหล่
« เมื่อ: 30 เม.ย. 61 , 22:12:29 »อ้างถึง
1. Form Purchase order จะต้องเขียนคำสั่งใน combobox.afterupdate() อย่างไรคะ
ผมว่าถ้าต้องการจะหาค่าที่ไม่ได้อยู่ในรายการนั้นใช้ Event NotInList ดีกว่าครับดังในรายการนี้
เป็นคำสั่งที่กำหนดไว้ที่ตัว Combobox ครับ เมื่อไม่มีในรายการให้ แจ้งเตือน ถ้าตอบ Yes ก็จะเปิดฟอร์มที่ต้องการให้เรา
โค๊ด: [Select]
Private Sub ReviewParts_NotInList(NewData As String, Response As Integer)
Dim i As Integer
Dim Msg As String
If NewData = "" Then Exit Sub
Msg = "'" & NewData & "' ไม่มีในรายการ" & vbCr & vbCr
Msg = Msg & "ต้องการเพิ่มรายการใหม่ ?"
i = MsgBox(Msg, vbQuestion + vbYesNo, "ระบบตรวจสอบ")
If i = vbYes Then
DoCmd.OpenForm "frmAddtbl_product", acNormal
Response = acDataErrAdd
Else
Me.ReviewParts.Undo
Response = acDataErrContinue
End If
End Sub
ส่วน อ้างถึง
2. Form frmaddtbl_product จะต้องกำหนด property อย่างไรบ้างเพื่อให้รับค่าจาก Purchase order แล้วส่งค่ากลับหลังจาก user ปิดฟอร์ม frmaddtbl_productผมใช้การทำให้แสดง รายการที่เพิ่มล่าสุดจากฟอร์ม frmAddtbl_product ลงไปในรายการใหม่โดยอัตโนมัติครับ
โค๊ด: [Select]
Private Sub Form_Close()
Dim i As String
Forms.form_main.ReviewParts = Me.ReviewParts
Forms.form_main.ReviewParts.Requery
Forms.form_main.ReviewParts.SetFocus
i = Forms.form_main.ReviewParts.ListCount - 1
Forms.form_main.ReviewParts = Forms.form_main.ReviewParts.ItemData(i)
End Sub
ตัวอย่างด้านล่างครับ