กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
391 3
URL.หัวข้อ /
URL
เกี่ยวกับเรื่อง Not in list และเรื่องค่าใน form
เริ่มเรื่อง form ก่อนนะคับ คือว่า สร้างฟอร์มไว้นึงฟอร์ม หากใส่ตัวเลขลงไปใน listbox ทำอย่างไรให้ค่าไปเกิดขึ้นในตารางในทันทีทันใด เนื่องจากผมสร้างรายงาน โดยใช้ค่าจากตาราง เวลาสั่งพิมพ์เหมือนกันค่ายังไม่ได้ทำการ อัพเดตเลย
เรื่อง Not in list เคยเปิดไปดูกระทู้ที่อาจารย์เคยตอบไว้ แต่เนื่องจากยังไม่สันทัดเรื่องการใช้โค้ดคำสั่งอยากรบกวนสอบถาม การประยุกต์โค้ดอาจารย์
Private Sub acPlaceType_NotInList(NewData As String, Response As Integer)
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Response = acDataErrContinue
If MsgBox("ไม่มีรายการนี้ ต้องการจะเพิ่มเข้าไปหรือไม่?", vbOKCancel) = vbOK Then
' Set Response argument to indicate that data is being added.
Response = acDataErrAdded
' Add string in NewData argument to a table tblDiscipline.
With dbs
Set rst = .OpenRecordset("tblPlace")
rst.AddNew
rst!PlaceName = NewData
rst.Update
rst.Close
.Close
End With
Else
' If user chooses Cancel, suppress error message and undo changes.
Response = acDataErrContinue
End If
End Sub
รบกวนด้วยนะคับ ต้องการแค่ openform แต่ไม่รู้จะไปใส่ไว้ตรงช่วงไหนคับ
เรื่อง Not in list เคยเปิดไปดูกระทู้ที่อาจารย์เคยตอบไว้ แต่เนื่องจากยังไม่สันทัดเรื่องการใช้โค้ดคำสั่งอยากรบกวนสอบถาม การประยุกต์โค้ดอาจารย์
Private Sub acPlaceType_NotInList(NewData As String, Response As Integer)
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Response = acDataErrContinue
If MsgBox("ไม่มีรายการนี้ ต้องการจะเพิ่มเข้าไปหรือไม่?", vbOKCancel) = vbOK Then
' Set Response argument to indicate that data is being added.
Response = acDataErrAdded
' Add string in NewData argument to a table tblDiscipline.
With dbs
Set rst = .OpenRecordset("tblPlace")
rst.AddNew
rst!PlaceName = NewData
rst.Update
rst.Close
.Close
End With
Else
' If user chooses Cancel, suppress error message and undo changes.
Response = acDataErrContinue
End If
End Sub
รบกวนด้วยนะคับ ต้องการแค่ openform แต่ไม่รู้จะไปใส่ไว้ตรงช่วงไหนคับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04528
ดีครับอาจารย์ ขอบคุณมากครับอาจารย์ที่ช่วยตอบ ( อิอิ อยากเห็นรูปอาจารย์บ้าง เอามาติดไว้หน้าเว็บพร้อมครอบครัวบ้างสิครับอาจารย์ )
อาจารย์ครับ ผมสงสัยคำตอบที่ 2 คือว่าพอดีผมทำฟอร์มนึงไว้แล้วชื่อว่า Cars ก้อเลยคิดว่า จะพิมพ์ใน combo แต่เผอิญมีบางทะเบียนรถ เรายังไม่ได้ทำการลงประวัติไว้ก่อนเลยครับ ก้อเลยจะให้ nNot in list ช่วย แต่เผอิญ เปิดดูของอาจารย์แล้วก้อยังทำไม่ได้น่ะคับ เพราะเรื่องโค้ดไม่รู้เรื่องเลยครับ ไม่รู้ต้องใช้คำสั่งอะไร Docmd.openform แล้วอะไรต่อครับอาจารย์ ตรงไหนด้วยคับ With dbs ต้องใช้มั๊ยคับ ยังไงรบกวนอาจารย์รึว่า เพื่อน ๆ พี่ ๆที่แว๊บเข้ามาเจอ ตอบให้ด้วยนะคับ
อาจารย์ครับ ผมสงสัยคำตอบที่ 2 คือว่าพอดีผมทำฟอร์มนึงไว้แล้วชื่อว่า Cars ก้อเลยคิดว่า จะพิมพ์ใน combo แต่เผอิญมีบางทะเบียนรถ เรายังไม่ได้ทำการลงประวัติไว้ก่อนเลยครับ ก้อเลยจะให้ nNot in list ช่วย แต่เผอิญ เปิดดูของอาจารย์แล้วก้อยังทำไม่ได้น่ะคับ เพราะเรื่องโค้ดไม่รู้เรื่องเลยครับ ไม่รู้ต้องใช้คำสั่งอะไร Docmd.openform แล้วอะไรต่อครับอาจารย์ ตรงไหนด้วยคับ With dbs ต้องใช้มั๊ยคับ ยังไงรบกวนอาจารย์รึว่า เพื่อน ๆ พี่ ๆที่แว๊บเข้ามาเจอ ตอบให้ด้วยนะคับ
3 @R04529
ก็ตัดออกได้เลยครับ
Private Sub acPlaceType_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
If MsgBox("ไม่มีรายการนี้ ต้องการจะเพิ่มเข้าไปหรือไม่?", vbOKCancel) = vbOK Then
' Set Response argument to indicate that data is being added.
Response = acDataErrAdded
DoCmd.OpenForm "Form1",,,,acFormAdd
Else
' If user chooses Cancel, suppress error message and undo changes.
Response = acDataErrContinue
End If
End Sub
แทน Form1 ด้วยชื่อฟอร์มเป้าหมายครับ
Private Sub acPlaceType_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
If MsgBox("ไม่มีรายการนี้ ต้องการจะเพิ่มเข้าไปหรือไม่?", vbOKCancel) = vbOK Then
' Set Response argument to indicate that data is being added.
Response = acDataErrAdded
DoCmd.OpenForm "Form1",,,,acFormAdd
Else
' If user chooses Cancel, suppress error message and undo changes.
Response = acDataErrContinue
End If
End Sub
แทน Form1 ด้วยชื่อฟอร์มเป้าหมายครับ
Time: 0.1245s
ลองใช้คำสั่งนี้ดูครับ
DoCmd.RunCommand acCmdSaveRecord
หรือจะค้นหาด้วยคำว่า acCmdSaveRecord เพื่อดูโค้ดตัวอย่างอื่นๆ ในกระทู้เก่าครับ
คำถามที่ 2
จากโค้ด ผมได้ใช้กับ Combo Box ชื่อ acPlaceType โดยใช้กับเหตุการณ์ Not In List
ซึ่งเป็นการเพิ่มเข้าไปลงไปในฟีลด์ชื่อ PlaceName ในตารางชื่อ tblPlace ครับ