Запрос подчиненной формы возвращает «#Deleted» во всех полях во втором выборе. - PullRequest
0 голосов
/ 14 июля 2020

У меня проблема с запросом, когда он отлично работает при первом выборе, но возвращает "#Deleted" в каждом поле формы, если выбрана другая запись.

У меня есть основная форма frm_Manage_Demand с двумя подчиненными формами: 1) frm_Pick_Part_Number_List, который содержит список, и 2) frm_Manage_Demand_Sub, который содержит ряд атрибутов для выбранного номера детали. Желаемое поведение состоит в том, что когда пользователь выбирает номер детали, данные во второй форме обновляются.

У меня есть две таблицы: первая - tbl_usage_price_cost, которая содержит данные для 30k номеров деталей. Второй - tbl_Manage_Demand, который содержит записи для выбранных номеров деталей, скопированных из tbl_usage_price_cost, выбранных пользователем для дальнейшей обработки. Я использую поле QUOTE_ID_FK = -1, чтобы идентифицировать запись номера детали, которую выбрал пользователь. Каждый раз, когда пользователь щелкает новый номер детали в форме 1, я удаляю эту запись и создаю новую с данными, связанными с выбранным номером детали. Этот код работает нормально.

recordsource для frm_Manage_Demand_Sub это "SELECT * FROM tbl_Manage_Demand WHERE QUOTE_ID_FK = -1"

Проблема возникает, когда пользователь нажимает второй номер детали после успешного выбора начального номера детали.

Вот код процедуры frm_Manage_Demand, который заставляет frm_Manage_Demand_Sub отображать «#Deleted» в форме frm_Manage_Demand_Sub на втором проходе:

With frm_Manage_Demand_Sub.Form
        .RecordSource = "SELECT * FROM tbl_Manage_Demand WHERE QUOTE_ID_FK = -1"
        .Requery
End With

Вот некоторые из вещей, которые я пробовал:

Setfocus в форму frm_Manage_Demand_Sub. Каждый раз сбрасывайте recordset. Я заменил приведенный выше код на:

Me!frm_Manage_Demand_Sub.Form.RecordSource = "SELECT * FROM tbl_Manage_Demand WHERE QUOTE_ID_FK = -1"
Me!frm_Manage_Demand_Sub.Form.Requery

Это та же ошибка.

Любая помощь искренне приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...