Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Программирование, связанное с MS Office > Access не понимает функции Trim, LCase |
Автор: BelkaJul 6.9.2007, 20:23 |
Уважаемые знатоки, подскажите!!! На домашнем компьютере не работает программа написанная с помощью Access 2003 и VBA. Спотыкается на таких СТАНДАРТНЫХ функциях, как Trim, LCase, UCase. В редакторе VB проверила, какая библиотека требуется этим функциям. (View - Object Browser) Там указано: C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL Проверила, по указанному пути данный файл есть. При этом, на работе данная программа работает без проблем. Разница только в том, что на домашнем стоит только офис (2003), а на работе установлен еще и VB6. Админ посоветовал скопировать недостающую библиотеку в C:\WINDOWS\system32 (пояснив, что если нужной библиотеки программа не находит, то она будет искать ещё и в этой папке). Не помогло :( Подскажите, какие библиотеки скопировать (и куда), чтобы Access начал понимать стандартные функции. |
Автор: Akina 6.9.2007, 20:53 |
Теперь проверь, что она числится в списке подключенных (References...) - галочка должна стоять. |
Автор: BelkaJul 7.9.2007, 11:14 |
Akina, проверила.... Tools - References: стоят галочки около первых 5-ти элементов: Visual Basic for Application Microsoft Access 11.0 Object Library OLE Automation Microsoft DAO 3.6 Object Library Microsoft ActiveX Data Objects 2.1 Library в чем ещё может быть загвоздка? ![]() |
Автор: Akina 7.9.2007, 12:11 |
Все правильно - эти функции описаны в VBA Library (%Program Files%\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL). Попробуй, что ли, перерегистрировать эту библиотеку... |
Автор: BelkaJul 7.9.2007, 13:21 |
Akina, я правильно Вас понимаю? "перерегистрировать эту библиотеку" это следующие действия: в Tools - References 1) снять галочку около библиотеки Visual Basic for Application 2) кнопка Browse, указать заново путь для этой библиотеки (%Program Files%\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL) 3) поставить галочку обратно Понимаю, что для знающего человека этот вопрос более, чем дурацкий, но мне ни разу ещё не приходилось совершать сей обряд "перерегистрации библиотеки" ![]() |
Автор: Akina 7.9.2007, 14:15 | ||
нет, это в командной строке подряд 2 команды:
То что описАли Вы - это перепривязка. PS. А еще бы проверить валидность либы (т.е. просто сравнить ее с той что в дистрибутиве, если ее не обновлял какой-нить постфикс илисервис-пак - не попорчена ли)... |
Автор: BelkaJul 10.9.2007, 15:18 | ||||
сделано, не помогло :( ![]()
офис свеже переустановлен - вроде бы библиотеки не должны успеть попортиться (за 5 минут разделяющие установку офиса и запуск программы) Прога уже проверена на 3-х компах (кроме рабочего). НА всех трех - не видит функции LCase, Trim ![]() |
Автор: Akina 10.9.2007, 15:39 |
Более чем странно - если Object Browser видит и показывает функцию, то библиотека подключена и функция доступна. Нет ли каких проблем с безопасностью? антивирусом? сертификатами? Дополнительно - функции не отрабатывают в коде модуля? в запросе? а через построитель запросов видны-доступны? |
Автор: BelkaJul 11.9.2007, 08:35 | ||||
Уровень безопастности стоит низкий. Антивирус отключен. Сертификатами не пользуюсь. И Акцесс про них не спрашивает.
Функция не отрабатывает в коде модуля. В запросе не пробовала - на одной машине снова снесу vb6 - поэкспериментирую в построителе запросов. ПРоблему решили установкой на машину VB6. ![]() Можно ли как-нибудь сделать что-то наподобие дистрибутивного пакета??? Чтобы на все машины, где должна работать программка не устанавливать vb6. Просто на мой взгляд слегка дико, что для работы Акцесса с весьма простыми функциями - требуется дополнительная установка vb6. ![]() |
Автор: mihanik 16.9.2007, 15:54 |
Пока помечу как решённый... |