กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
339 5
URL.หัวข้อ /
URL
จะใส่รหัสสินค้า โดยที่เมื่อไม่มีประวัติใน Table ของ ProDuct
รบกวนอาจารย์ และผู้รู้ ช่วยทีครับ
คือผมต้องการใส่รหัสสินค้า ในCombo ProductID(LinkกับTableProductID) ใน SubForm OrderDetail ที่อยู่ในFormOrder โดนเมื่อถ้าประวัติสินค้าไม่เคยลง รหัสนี้มาก่อน ให้ฟ้องว่า เช็ครหัสสินค้า!!! ครับ ต้องทำอย่างไรครับ ProductID เป็นTextนะครับ เพราะBarcodeของProductID บางที BarCode มีศูนย์นำหน้า เพราะเคยลองใช้ Numberแล้ว เวลาใส่ ศูนย์ มันหายทุกทีครับ ขอบคุณครับ
คือผมต้องการใส่รหัสสินค้า ในCombo ProductID(LinkกับTableProductID) ใน SubForm OrderDetail ที่อยู่ในFormOrder โดนเมื่อถ้าประวัติสินค้าไม่เคยลง รหัสนี้มาก่อน ให้ฟ้องว่า เช็ครหัสสินค้า!!! ครับ ต้องทำอย่างไรครับ ProductID เป็นTextนะครับ เพราะBarcodeของProductID บางที BarCode มีศูนย์นำหน้า เพราะเคยลองใช้ Numberแล้ว เวลาใส่ ศูนย์ มันหายทุกทีครับ ขอบคุณครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05918
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
ผมค้นเจอตามด้านบนที่เห็นบอกว่าอาจารย์ใช้บ่อยครับ ช่วนอธิบายอีกนิดครับ Combo36ของผม ไปลิ้งกับ ProductID ที่เป็น Text ต้องแก้อะไรเพิ่มเติมรึป่าวครับ ขอบคุณครับ (ช่วงนี้ เปิดบอร์ดยากจังครับ)
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
ผมค้นเจอตามด้านบนที่เห็นบอกว่าอาจารย์ใช้บ่อยครับ ช่วนอธิบายอีกนิดครับ Combo36ของผม ไปลิ้งกับ ProductID ที่เป็น Text ต้องแก้อะไรเพิ่มเติมรึป่าวครับ ขอบคุณครับ (ช่วงนี้ เปิดบอร์ดยากจังครับ)
3 @R05919
ช่วงปีใหม่นี้ ไม่รบกวนดีกว่า เดี๋ยวใช้วิธีจำกัดแค่ในรายการไปก่อนแล้วกันครับ สุขสันต์วันปีใหม่ครับ
4 @R05936
เงื่อนไขที่จะสามารถใช้โค้ดข้างบนได้คือ
1. ตารางเป้าหมายจะต้องมีฟีลด์ที่เป็น Primary Key เป็น AutoNumber
2. มีฟีลด์ที่ต้องการใส่ข้อมูลลงไปเพิ่มเพียง 1 ฟีลด์ จากตัวอย่างข้างบนคือฟีลด์ PlaceName
3. ต้องเปลี่ยนโค้ดให้ตรงกับตารางเป้าหมาย ดังนี้ครับ
...
Set rst = .OpenRecordset("ชื่อตารางเป้าหมาย")
rst.AddNew
rst!ชื่อฟีลด์เป้าหมาย = NewData
rst.Update
...
1. ตารางเป้าหมายจะต้องมีฟีลด์ที่เป็น Primary Key เป็น AutoNumber
2. มีฟีลด์ที่ต้องการใส่ข้อมูลลงไปเพิ่มเพียง 1 ฟีลด์ จากตัวอย่างข้างบนคือฟีลด์ PlaceName
3. ต้องเปลี่ยนโค้ดให้ตรงกับตารางเป้าหมาย ดังนี้ครับ
...
Set rst = .OpenRecordset("
rst.AddNew
rst!
rst.Update
...
5 @R05937
ขอบคุณมากนะครับ ปีใหม่นี้ขอให้อาจารย์และครรอบครัว มีสุภาพสมบูรณืแข็งแรง คิดอะไรสมดังใจระครับ
Time: 0.1189s
โดยกำหนด Not In List property ของ Combo Box นี้ ให้เป็น Yes แล้วค้นด้วยคำว่า NotInList ในกระทู้เก่าๆ ดูครับ เคยมีการพูดถึงการเขียนโค้ดไว้ด้วย