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


Автор: Druidik25 9.4.2005, 18:51
Уважаемые эксперты.

Возник вопрос как задать SQL зпрос добавления записи в таблицу если два параметра не присутствуют вместе.
Увеличить значение у меня получилось, а вот если нету таих данных, то увеличено значение ноля записей - вот в этом и проблема. Нельзя чтобы записей при обновлении было больше одной и меньше одной тоже нельзя.

Больше одной - это не проблема, просто поакуратней програмить, шоб не на портачить, ну а когда новый человек в одной таблице, во вторую его не обязательно совать, но и если меняются параметры, то он там должен появится.
Добавлено @ 19:00
DoCmd.RunSQL ("INSERT INTO People2(... ... ...) VALUES (... ... ...) WHERE COUNT(*)<1")

Это, понятное дело не сработало, но... ????

Автор: Akina 11.4.2005, 08:56
Не занимайся ты фигней... первым запросом определи, что нужно (корректировка или добавление), а вотрым уже вноси изменения. Хочешь прикрыться - оформи это как транзакцию.

Автор: Foxer 4.1.2006, 22:25
Уважаемый, Вам необходимо сделать то, что делает весь мир при программировании БД. А именно, не высчитывать записи при добавлении, а просто , тихо и спокойно, завести в БД табличку - справочник кодов, состоящую из 3 полей:
1. Имя таблицы
2. Имя ключа.
3. Значение ключа.
Создать по этим полям индекс для быстрого поиска выражения Имя таблицы+Имя ключа+Значение ключа.
Сотвественно, при добавлении новой(вых) записей в таблицу БД, извлекать последнее значение ключа, делать инкримент ( или выполнять более замудренный алгоритм - это зависит от типа поля ключа и разрядности значения ключа) прописывать значение в таблицу и в справочник кодов для ключа.
Такой алгоритм даже на БД миллионерах "летает только в путь".

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