Проблема с функцией Right

yavorsky90

Сделал базу, есть часть кода
If Me.cboPeriodicity2.Value = "monthly" Then
 Me.Chart.RowSource = "SELECT (MonthDate(qryViewTest.[" & q2 & "]) & "" '"" & Right
(qryViewTest.[" & q1 & "],2)) As " & q2 & ", Sum(qryViewTest.Total) AS Ñóììà_Total FROM qryViewTest 
GROUP BY qryViewTest.[" & q1 & "], qryViewTest.[" & q2 & "];"
 Else: Me.Chart.RowSource = "SELECT (qryViewTest.[" & q2 & "] & "" '"" & Right(qryViewTest.[" & q1 
& "],2)) As " & q2 & ", Sum(qryViewTest.Total) AS Ñóììà_Total FROM qryViewTest GROUP BY 
qryViewTest.[" & q1 & "], qryViewTest.[" & q2 & "];"
 End If
Возникает проблема с открытием базы на другой машине. Выбивает ошибку "Не удается подключится к библиотеке OWC10" (текст не точен, но смысл таков). Потом при открытии графика выбивает ошибки, связанные с функцией Right. Как я понимаю, Access на другой машине стринговую функцию Right воспринимает как какое-то свойство с библиотеки OWC10. Как решить проблему?MonthDate - это собственная функция
7 ответов

yavorsky90

Спасибо, посмотрел. Библиотека действительно пропущена. Но и на другом компе то же. Что же получается - нельзя быть уверенным, что обычный пользователь сможет использовать базу, если он не умеет включать библиотеки.И ещё вопросик. Как програмно написать функцию Right. Думаю, проблема в ней, и хочу попробовать сделать собственную функцию (чтобы не иметь привязок к библиотекам)?


yavorsky90

yavorsky90,можно автоматизировать этот процесс. Поищите по "AddFromGUID" и "AddFromFile"По поводу своей функции Right. Совершенно не требуется. Отсутствие какой-то библиотеки не обязательно скажется именно на этой функции, вполне может быть и любая другая


yavorsky90

Проблема с библиотеками выливается не только в проблему с функцией Right.В программе нужно иметь подключенными только необходимый минимум библиотек, все лишнее отключить.Лишнее могло появится в процессе разработки и экспериментов автоматически/случайно.Для специфичных вещей библиотеки по возможности не подключать, а использовать позднее связывание.При распространении программы необходимо заботиться о наличии нужных компонентов на компах - т.е. к базе/программе приложить необходимые файлы библиотек, написать скрипт/инсталятор - который эти файлы раскидает в нужные места и зарегистрирует их в системе.


yavorsky90

Это же вроде функция VBA. Поставьте VBA.Right и все должно быть ОК


yavorsky90

Это же вроде функция VBA. Поставьте VBA.Right и все должно быть ОК
Но это надо делать по всей программе и со всеми функциями.


yavorsky90

нельзя быть уверенным, что обычный пользователь сможет использовать базу, если он не умеет включать библиотеки?
Если обычный пользователь научится делать это и еще многое другое, то он перестанет быть обычным пользователемХотя если код Вам кажется маленьким по объему можно и програмно подключать библиотеки.