powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Редактирование таблицы через представление на SQL-сервере через ADP-проект
10 сообщений из 10, страница 1 из 1
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32049590
Фотография grinya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При связи adp-проекта (Access2000) с SQL-сервером (7.0) возникает странная ситуация.
На исходную таблицу (на SQL-сервере) пользователю не дается доступ (неявное отклонение - revoke) , а на предоставление на эту таблицу доступ открыт (select, insert, update, delete), при этом при попытке редактировать представлие (update) через adp-форму, подключаемую к соответствующей БД, выдается сообщение, что у пользователя нет прав на таблицу.
(владелец таблицы и представления один и тот же, dbo)
А при попытке редактировать представление непостредственно через SQL-запрос все удается! (и через SQL-Analyzator и через метод ADODB.Command - Execute() и через ADODB.Recordset - Open).
Но хочется то по простому, через форму-ADP! Как это сделать, кто знает?
(А при открытии прав (select, update) на таблицу пользователю, представление он также может редактировать обычным способом через adp-форму)
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32049596
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
существование свойства формы - однозначная таблица

наталкивает на мысль что строка обновления таблицы генерится формой ...

отсюда вывод - источник данных для формы не является источником данных при update, данные обновляются напрямую в таблицу
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32049657
Фотография grinya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
свойство однозначная таблица стоит.
То есть вывод - что Аксес вообще не умеет работать с представлениями через формы, а лезет сразу в таблицу? Очень странно. Вроде представления именно для этого и существуют- давать доступ к определенным строкам (столбцам) таблиц(ы) при закрытом доступе на всю таблицу.
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32050163
Фотография grinya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снимается. Да, АлексейК прав, спасибо.
Интересная дисскуссия почти на эту тему оказывается уже была: /topic/83

Представления на SQL-сервере действительно работают как им и положено, а вот Аксес не умеет с ними работать через форму adp. Вместо редактирования представления, он пытается сразу редактировать таблицу.
Дальнейшая работа с представлением через adp предполагается в следующем порядке: на форме завести поля-дубликаты, в которые копируются значения из встроенных полей формы, которые делаются невидимыми, т.е. основа отображения данных - все то же представление.
В полях-дубликатах уже возможно редактирование, а сохранение данных (уже все-равно в таблицу или представление) делается через хранимую процедуру.
Если у кого-нибудь будут более удобные варианты, пишите.
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32050365
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а кто тебе не дает реализовать программное обновление запроса?

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

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

можно через ado.command

CMND.execute "update my_query set myvalue= ..... where id= ... "

минус этого способа в том что при необходимости отслеживания обновления именно тех данных , которые были получены пользователем (не были изменены другим)
т. е. придется формировать строку where вида:
id = id and MyValue = MyOldvalue and MyValue1 = MyOldvalue1 ..
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32051036
lvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lvv
Гость
Надо чтобы в предаставлении выбиралось поле с первичным ключем, тогда получается редактировать именно представление
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32651210
Alex_2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если в представлении выбирать первичный ключ, все равно Access не дает редактировать даные.
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32651245
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК: т.е. вы имеете ввиду проверку, не изменилось ли значение таблицы другими пользователями в текущее время?
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32651246
--------------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а может просто указать в представлении with metadata ?
...
Рейтинг: 0 / 0
Редактирование таблицы через представление на SQL-сервере через ADP-проект
    #32651764
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>with metadata
Совершенно верно,но в случае если источник из нескольких таблиц
такой вариант тоже глючит
аксес все равно патается отредактировать таблицу
я выкручивался так:
делал вьюху with metadata
все условия основанные на данных не этой таблицы запихивал в скалярную функцию значение которой проверял в WHERE (чтобы добится ограничения видимости строк вьюхи)
Все связи которые необходимо отображать на форме
(типа ед.изм при выборе товара)
отображал через соотв заполненные и залоченные комбобоксы.

PS кстати если эти комбики заполнять из заранее заполненного рекордсета
а не загружать каждый раз трафик резко падает что может быть полезно при работе через VPN некий аналог dataset.NET
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Редактирование таблицы через представление на SQL-сервере через ADP-проект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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