|
3 / 3 / 0
Регистрация: 17.05.2015
Сообщений: 39
|
|
Access VBA + нормальный дебаг, реальность или утопия12.07.2018, 12:47. Показов 3298. Ответов 54
Метки нет (Все метки)
Приветствую всех читающих!) Для людей у которых не хватает терпения либо берегут глаза рекомендую перейти сразу на 4й абзац этого "длиннопоста"
Только начиная свое непродолжительное (на данный момент) знакомство с VBA я не мог не отметить ужасного вида стандартный SDK. В те первые дни наполненые суровой реальностью ограниченной длинны строк кода(это когда вставляешь SQL, а среда такая: "а не побить ли мне его на отдельные строчки чертекак!? отличная идея!") и удивительно "полезным" контролем синтаксиса (и настолько же удивительно навязчивым: "Не, едрен батон, вот после этого знака "равно" ты должОн чтот присвоить, и мне пофиг, что ты пошел копировать значение в другом участке кода - Сначала нажми ка на "Окей" моего безумно полезного меседжбокса" ) а уж проблемы с кодировкой мммм... мои любимые) я думал так: "Да ладно, эт не надолго, привыкнуть только, а там задачку допилю и покеда". Не тут-то было товарищи! Судя по всему я тут надолго) Что плавно подводит к сути вопроса. Озвученные проблемы это так, мелкие неудобства, как например крокозябры вместо кирилицы при вставке - известно как боротся. с остальными же можно и мирится. Но вот чего мне действительно не хватает как человеку изнеженному вижуал студией, нетбинсом, да и еклипсом, так это адекватного дебага. Да, в встроенной пародии на SDK есть брейк поинты. Да, компилятор на этапе компиляции сообщает иногда полезную инфу об ошибке. Бывает даже так, что при ошибке правильно указывает на нужную строчку, а не на начало SUB'a (!!)... Но мне этого уже не достаточно. "Проект" уже "распух" до той стадии когда начинаешь смотреть на некоторые участки кода с мыслью "А ты ли это писал?" и "что это вообще здесь имелось в виду?". Потому хотелось бы в случае ошибки вроде "Попытки присвоить null значению Variant" или там "у этого класса нет такого свойства" что-то кроме "крайне полезной" справки по этой ошибке. А конкретно: нормальный стактрейс ошибки с указанием всех ключевых елементов критичного пути. Разве я хочу слишком многого? Потому нужен совет, либо ссылка на соответствующую информацию - как заменить или проапгейдить "SDK по умолчанию" таким образом чтобы там появился нормальный дебаг. Чтобы новая SDK открывалась вместо обычного редактора VBA. Например - я знаю что в вижуал студии это все есть. Есть даже возможность компиляции VB кода. Но как открыть БД аксесс кроме как через БДО конекторы? мне то нужно редактировать и дебажить код форм и прочую шушеру а не работать с базой...
0
|
|
| 12.07.2018, 12:47 | |
|
Ответы с готовыми решениями:
54
Утопия или реальность VBA это миф или реальность в русской раскладке? Где можно скачать нормальный хелп или литературу по VBA для office2000? |
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
|
|
| 18.07.2018, 15:59 | |
|
Коллеги, а не кажется ли вам что это все из-за "ё", которая вылезает за пределы непрерывного алфавита русских букв в нашей аске? при попытке привести переменные в один регистр, исполняющая функция считает, что наш алфавит в длину без буквы ё, а как только начинает выстраивать все для перевода в один регистр, то "ё" начинает учитывать ... а т.к. длина алфавита по факту больше чем он считает, то при приведении регистра в один - последняя буква и теряется
(например)а длину алфавита он считает разницу между началом алфавита и концом таблицы аски (где и стоит я)
0
|
|
|
Модератор
|
||||||
| 18.07.2018, 15:59 | ||||||
|
надо еще букву Ё проверить
0
|
||||||
|
|
|||
| 18.07.2018, 16:18 | |||
|
Добавлено через 2 минуты
0
|
|||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||||
| 18.07.2018, 16:52 | ||||
|
Я пишу всегда в маленьком регистре а умный редактор самостоятельно исправляет регистр переменных, это же сделано, понимаете? Это именно так работает и так должно работать, ну кроме буквы я в верхнем регистре. И именно поэтому ваш вариант непригоден. Добавлено через 3 минуты Добавлено через 21 минуту Сперва редактор исправит регистр переменных (будет одинаковый) а после запуска процедуры на выполнение компилятор ругнется duplicate declaration'oм А если есть языки где переменные регистрозависимые то этим кодерам можно только посочувствовать, ужас же
0
|
||||
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
|
|
| 18.07.2018, 17:35 | |
|
Сразу, пока все собрались ... может я чего не знаю
почему можно глобально писать Const d& = 1024 * 10 но уже Const d& = 1024 * 100 нельзя?! и лонг тут не при чем потому, как можно указать Const d& = 1024100 или Const d = 1024100 Добавлено через 8 минут нашел. надо добавлять явное преобразование Const d = 1024& * 10 видимо базовый тип константы не является основанием к преобразованию. логика конечно торжествует
0
|
|
|
|
||||
| 18.07.2018, 17:39 | ||||
|
Пример на С++
1
|
||||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||||
| 18.07.2018, 18:52 | ||||
|
Вы предлагаете устранить проблему объявлением дополнительной переменной с другим регистром, так сказать победить баг багом. Если предположить что вы рассчитывали на запись в одну и туже переменную обращаясь к двум одинаковым но с разными регистрами то вы ошиблись и это не работает, то есть ваш вариант не пригоден. Если предположить что вы рассчитывали устранить проблему дав кодеру две переменных вместо одной то вы так же ошиблись так как это лишь усугубляет работу кодера, дебаг программы, то есть ваш вариант не пригоден. Странно не моё заявление а ваше, так как IDE не делает за меня мою работу, он делает свою работу. Что значит привыкайте программировать правильно? В этой среде я следую её правилам и это и есть правильно. Эта вот часть вашего ответа была мягко говоря лишняя, или это шутки такие от "бородатых дядек"? Чет не смешно. По примеру из си шарп - здорово, пользуйтесь, вы привели пример регистрозависимости. Гм, но вы явно не в блокноте пишите, среда то у вас посмартовее будет чем наш IDE (намёк про бородатость). И сдаётся мне что в вашей среде регистрозависимость является настраиваемым параметром. Добавлено через 3 минуты Касательно решения проблемы - решения не искал, давно привык к этой занозе, на латиницу переходить не буду. Добавлено через 5 минут Добавлено через 2 минуты Добавлено через 5 минут А даже если и все языки регистрозависимые то в нашем случае, в среде, для кодера, это не так!
0
|
||||
|
|
||||
| 18.07.2018, 19:02 | ||||
|
Добавлено через 4 минуты Добавлено через 1 минуту Поэтому, собственно, и работает
0
|
||||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||
| 18.07.2018, 19:17 | ||
|
0
|
||
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
|
| 19.07.2018, 03:05 | |
|
bedvit, нет, я буду объявлять переменную с разным регистром букв, а обращаться к переменной в коде (делал и делаю) буду исключительно в маленьком и редактор будет (делал и будет делать) менять регистр букв на такой как в объявлении. И всё работает так как и задумано, кроме одной буковки. Это терпимо. И это VBA. Попробуйте.
Добавлено через 7 часов 4 минуты DevilsDen, по теме я ничего толкового не нашёл, от форумчан тоже ответов нет, видать нету ничего (общедоступного) и не было Добавлено через 22 минуты Нашёл одну надстройку к IDE - http://rubberduckvba.com , есть в ней пару инструментов интересных, но и всё на этом
0
|
|
|
|
||||||||
| 20.07.2018, 07:58 | ||||||||
У меня, например, такое было, когда неправильно указал тип данных в API-функции.
1
|
||||||||
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 20.07.2018, 21:42 | |
|
0
|
|
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
||
| 21.06.2019, 21:22 | ||
|
0
|
||
| 21.06.2019, 21:22 | |
|
фокусы или реальность? реальность или миф ?! Бред или Реальность? whois, миф или реальность... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|