У меня есть таблица Customer
, таблица Order
, таблица Orderline
и таблица Product
. Все они имеют Autonumber
поля в качестве первичного ключа, и Orderline
имеет внешний ключ ссылку на Order ID
на Order
таблицы:MS Access Создание нового заказа и порядка заказа
ORDER
-----
Order ID - Autonumber
Customer ID - Number
...
ORDERLINE
---------
OrderLine ID - Autonumber
Order ID - FK to Order
Product ID - FK to Product
Quantity
PRODUCT
-------
Product ID - Autonumber
Product details...
У меня есть форма, где я могу выбрать клиент, а затем список записей из Orderline
таблицы, и запрос, который я ссылаться из данного подпункта форме, которая перечисляет Order ID
, Orderline ID
, Product ID
, Product details
...
у меня есть 2 проблемы.
Все заказы отображаются, и мне нужны только те, которые связаны с этим заказом (который должен быть никем, когда форма сначала загружается).
Когда я ввести
Product ID
, что я хочу, чтобы добавить новый заказ, я ожидал новыйOrder ID
появляться (Autoincremented) И новый Идентификатор строки ID`, (Autoincremented) and the details of the product that I have selected, corresponding to the
продукта я вошел, но вместо этого я получаю это сообщение об ошибке:
изменения, запрашиваемые в таблице не были успешными, потому что они будут создавать повторяющиеся значения в индексе, первичный ключ, или отношения. Измените данные в поле или полях, содержащих повторяющиеся данные, удалить индекс, или переопределить индекс, чтобы разрешить повторяющиеся записи и повторите попытку
Дело в том, что таблицы должны создать мне уникальные ключи, когда я пытаюсь создать новая запись, и когда я вхожу в каждую таблицу напрямую и вхожу в новую запись, автонабор работает и создает уникальный ключ - это просто когда он пытается создать как Order ID
, так и Orderline ID
одновременно с тем, что он похоже, терпит неудачу.
Должен сказать, что я провел несколько дней на этом, обыскал множество поисковых систем, просмотрел целую серию видеороликов YouTube по созданию форм заказов, но безрезультатно. Любой, кто понимает Access, я уверен, что смогу мне помочь, так как я могу помочь кому-либо в аналогичных обстоятельствах в считанные минуты, если это проблема в SQL.
# 1 звучит как проблема с вашим запросом. # 2 - Идентификатор автоинкремента работает только тогда, когда вы добавляете запись в таблицу, которой принадлежит идентификатор. Вы не можете добавлять записи в таблицу ордеров и вводить идентификатор продукта, который не существует, и надеемся, что он добавит запись ProductID в таблицу Product. –
Какова ваша таблица заказа? можете ли вы раскрыть свой дизайн db? –
Спасибо Invent - Animate, я посмотрю на мой запрос. Что касается №2 - я не добавляю продукт, просто заказ и заказ, в то же время, продукт уже существует –