Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / RecordSource (Environ) / 7 сообщений из 7, страница 1 из 1
28.12.2015, 21:01
    #39139636
igor171
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
Добрый вечер, уважаемые форумчане!

Подмогите с ошибкой никак не додумаюсь: имеется подчиненная форма которая формируется запросом в источнике данных, захотел ограничить запрос определенным пользователем пишу в источнике данных так:


SELECT a.AnimalName, a.Cost
FROM [Test_BD].[dbo].[Animal] a
WHERE a.[UserLogin]=Environ("UserName")


В итоге на строке Environ("UserName") получаю ошибку "не является известным именем встроенной функции" ... как быть? что делаю не так?
...
Рейтинг: 0 / 0
28.12.2015, 21:07
    #39139637
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
igor171как быть?написать пользовательскую функцию, получающую эти данные.
...
Рейтинг: 0 / 0
28.12.2015, 22:49
    #39139673
igor171
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
Так этот вариант я рассматривал и пробовал...видимо неправильно ...

создаю public функцию в модуле ...

Public Function GetUser ()
GetUser =Environ("UserName")
end function


в источнике данных (в запросе)

SELECT a.AnimalName, a.Cost
FROM [Test_BD].[dbo].[Animal] a
WHERE a.[UserLogin]=GetUser ()


В чем неправ? укажите пож-ста ...
...
Рейтинг: 0 / 0
29.12.2015, 09:04
    #39139777
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
igor171В чем неправ?
Судя по имени таблицы, данные лежат на MS SQL. А судя по описанию проблемы, либо запрос исполняется там, а не клиенте, либо речь о проекте, а не о базе данных. Но Вы обо всех этих (и прочих) мелочах стыдливо умалчиваете - а зря.
...
Рейтинг: 0 / 0
29.12.2015, 09:30
    #39139793
igor171
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
Akina,

прошу прощение изначально когда описывал проблему я говорил про Access и о свойстве подчиненных таблиц "источник данных" ... вы правы проект ADP, хотел бы чтобы при заходе пользователя отображались данные только по нему на основании его логина по функции Environ ("UserName") в запросе источника данных, но постоянно ошибки ...

подскажите в чем не прав? или это невозможно ...
...
Рейтинг: 0 / 0
29.12.2015, 09:48
    #39139809
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
igor171проект ADP
При этом текст запроса передаётся MS SQL на выполнение "как есть". Если посмотреть справку по MS SQL, то там функции Environ() обнаружить не удастся. Но и решение с пользовательской функцией не пройдёт - она на клиенте, а не на сервере. Есть и третий косяк - пользователь на клиенте и пользователь, от имени которого выполняет у себя запрос сервер, в общем случае ничего общего не имеют.
Решения есть - можно динамически формировать текст запроса, а можно использовать параметрический запрос.
...
Рейтинг: 0 / 0
29.12.2015, 10:10
    #39139826
igor171
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RecordSource (Environ)
Akina,

спасибо! буду копать!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / RecordSource (Environ) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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