Ванильный, насколько вы можете получить: Основная форма с деталями заказа (например, номер заказа, адрес доставки и т. Д.) И подчиненная форма с фактическими деталями заказа (код продукта, количество и т. Д.). До сих пор, настолько общий, и я действительно смущен, что застрял.
Прямо сейчас, с этой настройкой, я нахожусь в одном из двух сценариев - либо:
получение дубликатов записей заказов: первая (когда я открываю форму) создается и без проблем связывается с идентификатором клиента (используя rs.AddNew). Однако, когда форма заканчивает заполнять связанные поля, она показывает новый номер заказа в элементе управления номером заказа (он еще не создан, насколько я могу судить по обновлению таблицы). Затем, когда я использую подчиненную форму для добавления деталей заказа, она создает ссылки на этот новый номер заказа, в котором нет номера клиента.
Если я удаляю .AddNew для набора записей в моей форме_загрузки, я в конечном итоге не создаю новую запись заказа (и элемент управления номером заказа показывает "(Новый)"), но когда я начинаю добавлять детали заказа Затем мне сообщают, что я не указал номер заказа в своей записи заказа.
Я подозреваю, что я полностью сбит с толку и слишком много запросов / слишком много кода в слишком многих местах.
Стандартная настройка таблицы: клиент, заказы, заказ, детали, продукты.
Order_Detail имеет автономный номер PK, но FKs для заказов и продуктов, как и следовало ожидать.
У меня есть основная форма, в которой есть запрос, который возвращает все данные, которые должны быть в форме. В настоящее время большая часть формы не связана, потому что я так плохо с этим боролся. Я могу изменить это достаточно легко, хотя.
В подчиненной форме установлена ссылка родитель / потомок, поэтому я просто растерялся.
Я понимаю, что я делаю что-то глупое: когда я делаю .AddNew, это все хорошо. Когда я возвращаюсь и заполняю форму связанными значениями, это создает новый порядок. Если я не заполняю элементы управления, я получаю (новый), и ни один из них не работает.
Основной источник записи формы:
SELECT Orders.ID, Orders.Customer_Id, Orders.Display_Order_Id, Orders.Date_Ordered, Orders.Notes, Orders.Deliver_Date, Orders.Delivery_Address, Orders.Web_Order_Id, Orders.Order_Cost, Orders.Discount_Amount, Orders.Delivery_Title, Orders.Delivery_First_Name, Orders.Delivery_Surname, Orders.Billing_Address, Orders.EmplID, Orders.SpecificDelivery, Orders.CallRequired FROM Orders;
(Если я уберу это, он запрашивает ID при запуске формы, так что ...)
Мастер: ID (из таблицы «Заказы»)
Ребенок: Order_ID (из таблицы Order_Detail)
Запрос Sfrm (я сократил его до максимально простого - он по сути выбирается * из order_detail)
SELECT Order_Detail.ID, Order_Detail.Order_Id, Order_Detail.Product_Id, Order_Detail.UnitPrice, Order_Detail.Quantity, Order_Detail.Discount, Order_Detail.Last_Updt_Tstamp, Order_Detail.UserID
FROM Order_Detail;
Все, чего я хочу, это создать новый заказ для номера клиента, который потенциально позволяет ему не иметь подробностей заказа, но когда он имеет детализацию заказа, он не выдает ошибку.