powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
10 сообщений из 10, страница 1 из 1
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32797649
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, простите за назойловость, нет раз уже была затронута эта тема, но так
и никто толком непояснил.

Проблема такова:

1. DoCmd.RunSQL и DoCmd.OpenQuery - эти запросы опасные, поясняю:
допустим если я запускаю запрос на добавление, и он ловит ошибку в таких случаях когда он неможет добавить все записи (по различным причинам), он
запрашивает в диалоговом окне типа Игнорировать или нет - а это не есть хорошо. Если отключить вывод подобного сообщения то он вообще и неспросить и сделает свое игнорировав при этом те записи которые по какаим либо причинам не могут добавиться в Table.
2. CurrentDB.Execute - вообще не задает никаких вопросов, выполняя запрос игнорируе те записи которые не могут добавиться в Table.

3. Применять CurrentProject.Connection.Execute (то бишь через объекты ADO) - я этим только и пользуюсь, но он не любит заготовленные запросы.

Сам я решаю проблемы так, создаю Table временный туда закачиваю данные
через обычный DoCmd.RunSQL, только потом объявив транзакцию через CurrentProject.Connection.Execute запускаю групповую операцию. Неустраивает то, что данных может быть много, и базу
приходиться всё время сжимать после подобных операций.
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32797688
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется что ты не туда роешь. Зачем запускать запрос, который не может (по различным причинам) добавить записи из-за ошибки данных?

А когда у тебя данные оказались во временной таблице, откуда уверенность, что там все записи (или они правильные)?
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32797700
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудрый клён2. CurrentDB.Execute - вообще не задает никаких вопросов, выполняя запрос игнорируе те записи которые не могут добавиться в Table.
Слухай, дерево, ты справку умеешь читать?
CurrentDB.Execute "трампампам" , dbFailOnError

интересно, сколько сот раз я уже это сказал?
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32797702
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при этом вообще непонятно - с какой радости транзакции в названии темы.
как переименовать?
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32797742
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорныйпри этом вообще непонятно - с какой радости транзакции в названии темы.
как переименовать?
переименуй в <<Волшебная сила dbFailOnError>>

сделано
ЛП
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32798108
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DafМне кажется что ты не туда роешь. Зачем запускать запрос, который не может (по различным причинам) добавить записи из-за ошибки данных?
Дело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.

Daf
А когда у тебя данные оказались во временной таблице, откуда уверенность, что там все записи (или они правильные)?
предварительно произвожу анализ.
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32798130
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудрый клёнДело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.


А как ты импортируешь?
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32798275
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daf Мудрый клёнДело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.


А как ты импортируешь?

1. связываю лист excel.
2. создаю временную таблицу (так как в дальнейшем удобно производить групповую операцию, объявив транзакцию).
3. закачиваю с помощью DoCmd.OpenQuery "запрос1".
4. спокойной душой объявив транзакцию начинаю закачивать в осн. Table и таблицы справочники, если какой нибудь зихер, то транзакция не завершается
и культурным образом ADО мне дает сообщение об ошибке.

Попытки:
на 2 этапе пробовал уже в временной таблице создавать уникальные индексы,
затем пробовать закачивать туда данные, чтобы лишний раз не производить анализ данных.
Но ДЫРА как и DoCmd.RunSQL так и DoCmd.OpenQuery при зихере выводит сообщение с возможностью игнорировать ошибочные записи.
Получается что если глупый юзер нажимает на кнопку Да, то добавятся только часть данных (не зихерные).

Поэтому господа я запрашивал у Вас как избежать таких проблем.
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32798291
Мудрый клён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать CurrentDB.Execute, то коннекшн получается не текущий а к Excelю.
Конечно буду следовать вашим советам,
проэксперементирую на CurrentDB.Execute, только не CurrentDB, а Connect на Excel.
...
Рейтинг: 0 / 0
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
    #32798309
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я добавил вопрос 33:
http://www.sql.ru/faq/faq_topic.aspx?fid=213
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]