For those that end up here with the same issue, I resolved it by:
1) Removing the fields causing the issue from the control source
2) On form open, add similar code to below to insert the values into the table directly if needed.
This isn't ideal, as a record will be created even if the user cancels and doesn't actually create a record, but since this is just a composite table used for calculations, it was an acceptable workaround for me. Hope this helps someone!
Code:
Private Sub Form_Open(Cancel As Integer)
On Error GoTo Err_Handler
Dim exceptionSQL As String
Dim checkSQL As String
Dim existsRS As DAO.Recordset
Set existsRS = CurrentDb.OpenRecordset("SELECT tblAppointmentException.AppointmentID, tblAppointmentException.InstanceID From tblAppointmentException;") 'WHERE (((tblAppointmentException.AppointmentID)=" & Me.AppointmentID & _
") AND ((tblAppointmentException.InstanceID)=" & Me.InstanceID & "));")
existsRS.FindFirst ("AppointmentID = " & Forms!frmMain!frmAppointmentLogSub.Form!AppointmentID & " AND InstanceID = " & Forms!frmMain!frmAppointmentLogSub.Form!InstanceID)
If existsRS.NoMatch Then
exceptionSQL = "INSERT INTO " _
& "tblAppointmentException (AppointmentID,InstanceID) " _
& " VALUES ('" & Forms!frmMain!frmAppointmentLogSub.Form!AppointmentID & "'," _
& "'" & Forms!frmMain!frmAppointmentLogSub.Form!InstanceID & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL exceptionSQL
DoCmd.SetWarnings True
Else
Set existsRS = Nothing
End If
Set existsRS = Nothing
Exit_Handler:
Set existsRS = Nothing
Exit Sub
Err_Handler:
Call LogError(Err.Number, Err.Description, conMod & ".Form_Unload")
Resume Exit_Handler
End Sub