เกี่ยวกับเรื่อง Not in list และเรื่องค่าใน form
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 307   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 แต่ไม่รู้จะไปใส่ไว้ตรงช่วงไหนคับ

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

1 @R04526
คำถามที่ 1 ต้องทำการบันทึกข้อมูลก่อน

ลองใช้คำสั่งนี้ดูครับ

DoCmd.RunCommand acCmdSaveRecord

หรือจะค้นหาด้วยคำว่า acCmdSaveRecord เพื่อดูโค้ดตัวอย่างอื่นๆ ในกระทู้เก่าครับ

คำถามที่ 2

จากโค้ด ผมได้ใช้กับ Combo Box ชื่อ acPlaceType โดยใช้กับเหตุการณ์ Not In List

ซึ่งเป็นการเพิ่มเข้าไปลงไปในฟีลด์ชื่อ PlaceName ในตารางชื่อ tblPlace ครับ
2 @R04528
ดีครับอาจารย์ ขอบคุณมากครับอาจารย์ที่ช่วยตอบ ( อิอิ อยากเห็นรูปอาจารย์บ้าง เอามาติดไว้หน้าเว็บพร้อมครอบครัวบ้างสิครับอาจารย์ )
อาจารย์ครับ ผมสงสัยคำตอบที่ 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 ด้วยชื่อฟอร์มเป้าหมายครับ

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1384s