Выполнение запроса на добавление ничего не делает
У меня странная проблема, которая по какой-то причине просто подняла свою уродливую голову.У меня есть форма, которая используется для добавления / редактирования / удаления записей в tblWorkOrder.Когда запись сохраняется, выполняется проверка, чтобы увидеть, существует ли сопутствующая запись в tblServiceRecord, и если нет (как если бы это была первая запись в tblWorkOrder при сохранении / вводе), она выполнит запрос (qryCreateSR).
Несколько недель назад все работало просто отлично.У меня не было проблем с этим, но затем я обновил tblServiceRecord, добавив несколько новых столбцов, и теперь он вообще не работает.Однако SQL для запроса не очерчивает ни один из этих новых столбцов, не говоря уже о какой-либо конкретной информации из tblWorkOrder.Так что я не совсем уверен, как возникла эта ошибка.
Вот SQL:
INSERT INTO tblServiceRecord ( WorkOrderID )
SELECT Forms![frmWorkOrders].Form![txtID];
А вот код, стоящий за командной кнопкой:
Private Sub cmdSave_Click()
If DCount("*", "[tblServiceRecord]", "[WorkOrderID] = " & [Forms]![frmWorkOrders].[Form]![txtID]) > 0 Then
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryCreateSR"
End If
DoCmd.RunCommand acCmdSaveRecord
DoCmd.GoToRecord , "", acNewRec
Me.lstWorkOrders.Requery
Me.lstWorkOrders.Value = ""
Me.txtComments.Value = ""
cmdSave_Click_Exit:
Exit Sub
cmdSave_Click_Err:
MsgBox Error$
Resume cmdSave_Click_Exit
End Sub
После снятия подавления предупреждений у меня возникает проблема нарушения ключа .
Не знаю, что является причиной нарушения ключа.Я проверил свои таблицы, и эти две таблицы: tblWorkOrder
и tblServiceRecord
.Оба не имеют записей в них, я сжал базу данных, связанные поля (в tblServiceRecord
, есть ссылка на tblWorkOrder
с полем WorkOrderID
) установлены на тот же тип данных (число), и дочерний-таблицы установлены в индексированный (нет).
На всякий случай, если кто-то захочет взглянуть на саму базу данных, вот ссылка:
https://drive.google.com/open?id=1_T-G9fyYQYjH3-YBe4PXhbBDTKNmY3ce