|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.06.2017, 14:27 | #1 |
Пользователь
Регистрация: 26.04.2017
Сообщений: 86
|
VBA Access Обработчик ошибок
Доброго времени суток
Для процедуры импорта данных из Excel в Access нужно сделать обработчик ошибок. В данный момент под ошибкой подразумевается последствие попадания в столбец таблицы символа, непереваримого для поля типа FLOAT (пока так, иные возможные ошибки пока неизвестны). Требуется, чтобы, наткнувшись на строку с такой ошибкой, создалась табличка, куда будет импортирован номер этой строки (номера строк содержатся в столбце А). При этом, импорт данных в таблицу должен продолжаться. Код:
Когда выполняю процедуру, она прерывается ошибкой 3010 и сообщает, что таблица Errors уже существует; подчёркнут запрос на создание таблицы. Импорт данных приостановлен на строке с ошибкой. Таблица Errors создана, в ней положенный номер строки. Похоже, программа пытается создать её повторно... Подскажите пожалуйста, как вылечить? |
06.06.2017, 14:35 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Один из вариантов
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
06.06.2017, 15:48 | #3 | |
Пользователь
Регистрация: 26.04.2017
Сообщений: 86
|
Цитата:
|
|
06.06.2017, 15:50 | #4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Делитесь xlsx и mdb. Будем посмотреть
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
06.06.2017, 16:30 | #5 |
Пользователь
Регистрация: 26.04.2017
Сообщений: 86
|
Делюсь
Вот. Эксельник, естественно, кастрирован
В строке 95 нехороший символ Последний раз редактировалось Ethex; 06.06.2017 в 16:35. |
06.06.2017, 19:58 | #6 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
А так?
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
06.06.2017, 21:14 | #7 |
Пользователь
Регистрация: 26.04.2017
Сообщений: 86
|
Aleksandr H., поздно увидел. Сегодня уже не успею, завтра утром попробую. Единственное, поспрашиваю немного.
1) Зачем замена For на Do While? 2) Для чего служит вот эта часть? Код:
4) Стыдно спрашивать, но немогли бы Вы объяснить мне вот эти условия? Код:
Приношу извинения за повышенный градус незнания |
06.06.2017, 21:48 | #8 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
1. Была какая-то мысля где шаг должен был быть не 1. Но можете оставить For
2. После обработки ошибки код должен вернуться для обработки следующих строк. Как это сделать? 3. Необходим. В первом храните Таблицу1, при ошибке в етот рекордсет пишете таблицу Еррор. После внесения данных в Еррор, ведь надо вернуться к внесению данных в Таблицу. А как если в рекордсете таблица Еррор? Как вариант, перенести в начало цикла строку Код:
Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
07.06.2017, 12:31 | #9 |
Пользователь
Регистрация: 26.04.2017
Сообщений: 86
|
Aleksandr H., попробовал сделать вариантик, несколько более приближённый к тому, что в первом посте
Код:
Потом попробовал запустить процедуру с одним ркордсетом. Процедура выполнялась, ошибок не выдавало, но устал ждать пока она выполнялась - прождал около часа с лишним, устал и снял задачу. Это при том, что ошибок, для которых делался обработчик в файле было всего 5 (если будет настроение, снижу колличество обрабатываемых строк до ста и посмотрю что из этого выйдет) Спасибо вам за помощь в очередной раз. В данном случае, главным образом за условие. Сам бы, наверное, нескоро бы докопался до него P.S. Вопрос номер 2, собственно, подразумевал использование Resume Next |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу через обработчик ошибок | investr | Microsoft Office Word | 1 | 03.02.2012 18:27 |
Обработчик ошибок | tae1980 | Microsoft Office Excel | 4 | 18.01.2012 22:34 |
Обработчик ошибок. | DennerV | Общие вопросы Delphi | 11 | 12.08.2010 14:05 |
Обработчик ошибок | XPAiN | Microsoft Office Excel | 3 | 21.04.2008 09:30 |
Обработчик ошибок. | Dj_smart | Общие вопросы Delphi | 17 | 30.03.2008 11:58 |