Sure. So I actually had two events - one if they hit the Save button and there were no lines is the order and a Cancel button.
The Save event is:
Private Sub SaveBtn_Click()
Dim POIDInput As Variant
Dim OrderLinesCount As Integer
Dim Response As Integer
Dim query As String
Dim db As DAO.Database
Set db = CurrentDb
POIDInput = Me.ID
OrderLinesCount = DCount("*", "OrderItemsT", "[POID] = " & POIDInput)
If OrderLinesCount = 0 Then
Response = MsgBox("No Order Lines added. Do you want to cancel this Order?", vbYesNo, "Cancel Order")
If Response = vbYes Then
query = "DELETE * FROM OrderHeaderT WHERE ID = " & POIDInput
db.Execute (query), dbFailOnError
MsgBox "Order Cancelled", , "Cancel Order"
Set db = Nothing
DoCmd.Close
End If
End If
End Sub
And the Cancel button is:
Private Sub CancelBtn_Click()
Dim POIDInput As Variant
Dim OrderLinesCount As Integer
Dim Response As Integer
Dim query As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
POIDInput = Me.ID
Response = MsgBox("This will delete the whole Order. Do you want to cancel this Order?", vbYesNo, "Cancel Order")
If Response = vbYes Then
query = "SELECT * FROM OrderItemsT WHERE POID = " & POIDInput
Set rs = CurrentDb.OpenRecordset(query)
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
While (Not rs.EOF)
rs.Delete
rs.MoveNext
Wend
End If
rs.Close
Set rs = Nothing
query = "DELETE * FROM OrderHeaderT WHERE ID = " & POIDInput
db.Execute (query), dbFailOnError
MsgBox "Order Cancelled", , "Cancel Order"
Set db = Nothing
DoCmd.Close
End If
End Sub