Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: WITH OWNERACCESS OPTION не работает в RunSQL
 
 автор: buka   (21.02.2007 в 13:54)   личное сообщение
 
 

Есть таблица, в которую юзеру запрещена запись.
В VBA есть команда DoCmd.RunSQL, в которой прописан запрос на добавление в эту запрещённую таблицу "INSERT INTO... Ессно, чтобы запись выполнилась, запрос оканчивается описанием WITH OWNERACCESS OPTION.
Тем не менее работать не хочет - ругается "Run-time error 3107" - отсутствует разрешение на вставку данных.

Иду другим путём:
Создаю запрос в базе и вставляю туда ту-же самую SQL-строку, а в VBA прописываю:
DoCmd.OpenQuery "Запрос1".

Работает, сволочь, и ни про какие права не вспоминает!
Вот только это не решение проблемы по вполне понятным причинам - в том запросе должны фигурировать переменные и поля формы...

Выходит, не нравится ему RunSQL.

Народ, кто знает, как эту бяку обойти?

  Ответить  
 
 автор: KrukVN   (21.02.2007 в 14:06)   личное сообщение
 
 

попробуйте может
currentdb.execute

  Ответить  
 
 автор: osmor   (21.02.2007 в 14:23)   личное сообщение
 
 

Это не бяка это нормальное поведение
WITH OWNERACCESS OPTION - это не значит выполнить с самыми крутыми правами, это значит выполнить с правами владельца
строка INSERT INTO создается текущим пользователем, т.е. он и является Owner'ом и выполняется с его правами.

передавайте в сохраненный запрос (созданный тем кто имеет права на доступ к таблице)нужные парамерты через коллекцию Parameters объекта QueryDef (Для DAO) или oбъекта Command для ADO

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList