Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2008, 13:10   #1
Demonk
Пользователь
 
Аватар для Demonk
 
Регистрация: 25.11.2008
Сообщений: 21
По умолчанию как исключить добавление повторных записей в таблицы?

Есть таблица, в неё периодически по нажатию кнопки добавляются строки, как избежать добавления туда повторно строк которые там уже есть?

строки добавляюстя запросом: INSERT INTO No_for_import ( code )
SELECT sales_line.heder1_NUMBER
FROM sales_line
GROUP BY sales_line.heder1_NUMBER
HAVING (((sales_line.heder1_NUMBER)=[Forms]![Импорт_Экспорт]![sales_no_access]));

И есть еще одна таблица туда добавляются строки из накладной. Можно ли перед добавлением строк создать диалог который, задает вопрос о замене строк в таблице. Или отмене действия?
Demonk вне форума Ответить с цитированием
Старый 25.11.2008, 13:50   #2
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

Можно для поля задать свойство уникальности или добавить его к ключу.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума Ответить с цитированием
Старый 25.11.2008, 14:13   #3
Demonk
Пользователь
 
Аватар для Demonk
 
Регистрация: 25.11.2008
Сообщений: 21
По умолчанию

это самое первое что пришло мне в голову но тогда в форме по нажатию кнопки выходит сообщение :

B пpилoжeнии 'Microsoft Office Access' знaчeниe Null пpиcвoeнo cлeдyющeмy чиcлy пoлeй - 0 (oшибкa пpeoбpaзoвaния типa), нe дoбaвлeнo в
тaблицy cлeдyющee чиcлo зaпиceй - 1 (нapyшeниe yникaльнocти ключa), зaпиceй - 0 (нapyшeниe блoкиpoвки), зaпиceй - 0 (нapyшeниe
ycлoвий нa знaчeния).
Пoдтвepдитe пpoдoлжeниe выпoлнeния зaпpoca нa измeнeниe.
Для пpoпycкa oшибoк и выпoлнeния зaпpoca нaжмитe кнoпкy "Дa".
Чтoбы пoлyчить oбъяcнeния пpичин oшибoк, нaжмитe кнoпкy "Cпpaвкa".

В этом случае его нужно отключить и вывести сообщение что такая накладная уже добавлена, и подействует в первой таблице а во второй какое поле сделать ключевым?, там по идее все поля могут повторяться просто в разных комбинациях, например номер накладной к примеру 236 товар вино количество 5, во второй строке может быть номер накладной 236 товар водка количество 10, следующая строка номернакладной уже другой (222) товар опять вино количество 5 и т.д. А нужно чтобы при повторной записи с этим номером накладной выводился запрос на добавление например : да, или нет
Demonk вне форума Ответить с цитированием
Старый 27.11.2008, 10:30   #4
Demonk
Пользователь
 
Аватар для Demonk
 
Регистрация: 25.11.2008
Сообщений: 21
По умолчанию

C первой таблицей разобрался, просто отключил предупреждения о том что данные не будут добавлены, а вот второй вопрос остался актуален.
Demonk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление в 2 таблицы Dissonance БД в Delphi 5 04.06.2008 23:54
Удаление, обновление записей из MySQL таблицы xDjarx БД в Delphi 2 14.05.2008 13:36
Добавление записей в связанные таблицы с помощью Навигатора ~MaGic~ БД в Delphi 2 09.07.2007 08:01
Добавление и удаление записей в Listview Scorpeon Компоненты Delphi 0 08.06.2007 23:09
добавление записей в таблицу strannik БД в Delphi 5 10.05.2007 08:12