Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Добавление записи в базу данных


Автор: Skodina 7.5.2010, 21:18
столкнулась с такой ошибкой при добавлении записи в базу данных

user posted image

создание этой программы было описано вот в этой http://forum.vingrad.ru/forum/topic-299732/kw-delphi-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.html

поставила на форму стандартный компонент DBNavigator

Автор: Данкинг 7.5.2010, 22:35
Ну, значит в таблице есть ключ, значения которого должны быть уникальными. И сиё правило при добавлении новых записей почему-то нарушается.

Автор: Skodina 7.5.2010, 22:40
Данкинг не знаю, но код магазина может повторяться, это мне и нужно, а не получается :( да и секция может повторяться. мне же нужно добавлять новые данные только о том, что, когда и за сколько продали 

Автор: Данкинг 7.5.2010, 22:58
Цитата(Skodina @  7.5.2010,  23:40 Найти цитируемый пост)
но код магазина может повторяться

А в конструкторе что написано про данное поле? "Индексированное поле, совпадения не допускаются", наверное?

Автор: Skodina 7.5.2010, 23:34
Цитата(Данкинг @ 7.5.2010,  22:58)
Цитата(Skodina @  7.5.2010,  23:40 Найти цитируемый пост)
но код магазина может повторяться

А в конструкторе что написано про данное поле? "Индексированное поле, совпадения не допускаются", наверное?

да нет, я все правильно ставила, там могут быть совпадения

Автор: Skodina 8.5.2010, 10:17
немного разобралась с проблемой, попытаюсь описать подробно

с помощью ADOQuery данные выводятся в таблицу DBGrid, с применением  SQL запроса структура которого показана на картинке
user posted image

таблицы товар, секции, магазины являются справочниками, т. е. информация в них не дублируется, а в таблице продажи, поля код магазина, код товара  и код секции являются полями подстановки из соответствующих таблиц.
Задача стоит внести новую запись в таблицу продажи, с помощью DBNavigator это не получается, так как судя по всем у он пытается вставить записи и в справочники.
как корректно мне это сделать? подскажите smile  или покажите где можно посмотреть на пример

Автор: Волшебник 8.5.2010, 11:14
Цитата(Skodina @ 8.5.2010,  10:17)
немного разобралась с проблемой, попытаюсь описать подробно

с помощью ADOQuery данные выводятся в таблицу DBGrid, с применением  SQL запроса структура которого показана на картинке
user posted image

таблицы товар, секции, магазины являются справочниками, т. е. информация в них не дублируется, а в таблице продажи, поля код магазина, код товара  и код секции являются полями подстановки из соответствующих таблиц.
Задача стоит внести новую запись в таблицу продажи, с помощью DBNavigator это не получается, так как судя по всем у он пытается вставить записи и в справочники.
как корректно мне это сделать? подскажите smile  или покажите где можно посмотреть на пример

Здесь связи не видать.
Связь таб. товар, секции, магазины должна быть один ко многим.

Автор: Skodina 8.5.2010, 12:11
Цитата(Волшебник @ 8.5.2010,  11:14)

Здесь связи не видать.
Связь таб. товар, секции, магазины должна быть один ко многим.

связи есть

вот
user posted image

Автор: Волшебник 8.5.2010, 12:37
Цитата(Skodina @ 8.5.2010,  12:11)
Цитата(Волшебник @ 8.5.2010,  11:14)

Здесь связи не видать.
Связь таб. товар, секции, магазины должна быть один ко многим.

связи есть

вот
user posted image

в запросе?

Автор: Skodina 8.5.2010, 17:34
нет, в схеме данных, а в запросе почему-то нет  smile  как сделать чтобы и в запросе было?

Автор: bopoha 9.5.2010, 15:10
Таблицы Товары, Секции, Магазины должны отсутвовать в запросе для грида. Эти таблицы должны отображаться через поля со списком. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)