ขอบคุณทุกท่านครับ
ตอนนี้ผมแก้จนได้ผลตามที่ต้องการแล้วครับ
บางทีก็อธิบายคำถามหรือสิ่งที่ต้องการยากครับ ฮ่าๆ
คือฟังก์ชั่นในการบันทึกเลข Serial ลงในรายการของบิลครับ โดยข้อมูลใน OrderDetail เมื่อเปิดบิลก็จะเพิ่มข้อมูลใน BillDetail จากนั้นจะมีการใส่เลข Serial ลงไปในรายการของบิลด้วยครับ
Private Sub InsertSerialtoBillDetail(CurrentOrderID As Long, NewBill_ID As String)
Set rsOrder_Details = CurrentDb.OpenRecordset("SELECT * FROM Order_Details WHERE Order_ID = " & CurrentOrderID, dbOpenSnapshot)
Set rsBill_Details = CurrentDb.OpenRecordset("Bill_Details", dbOpenDynaset, dbAppendOnly)
Do While rsOrder_Details.EOF = False
With rsBill_Details
.AddNew
For Each fld In rsOrder_Details.Fields
Select Case fld.Name
Case "Order_ID"
rsBill_Details("Bill_ID").Value = NewBill_ID
Case "Product_ID"
rsBill_Details("Product_ID").Value = fld.Value
ProID = fld.Value
getPSerial = Nz(DLookup("P_RunSerial", "Products", "Product_ID=" & ProID), "")
Case "OD_Quantity"
rsBill_Details("BD_Quantity").Value = fld.Value
PQuantity = fld.Value
Case "OD_Unit_Price"
rsBill_Details("BD_Unit_Price").Value = fld.Value
'BD_Serials
Case Else
'เรียกฟังก์ชั่นในการรันซีเรียล
txtLastSerial = RunSerialTube(getPSerial, PQuantity)
CurrentDb.Execute "UPDATE Products SET P_RunSerial ='" & txtLastSerial & "' WHERE [Product_ID]= " & ProID, dbSeeChanges
End Select
Next
.Update
End With
rsOrder_Details.MoveNext
Loop
rsOrder_Details.Close
rsBill_Details.Close
Set rsBill_Details = Nothing
Set rsOrder_Details = Nothing
มีผิดแปลกตรงไหนแนะนำได้ครับ
ขอบคุณครับ