powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
25 сообщений из 67, страница 1 из 3
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32808585
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи?

Дело в том, что необновляемый набор получился вследствии перевода MDB в ADP ( в MDB запрос был обновляемым и ленточная форма для его редактирования очень естественно для его использовалаь).

Хотелось бы как-то перехватывать попытку пользователя обновить/удалить/добавить запись
и далее в своем обработчике с помощью INSTEAD OF UPDATE,DELETE,INSERT триггера на View формы модифицировать т.о. базовые таблицы View, затем делать requery источника формы.

Пока я это все делаю вызовом на каждой записи по кнопке отдельной дополнительной формы для редактирования,
от чего и хотелось бы избавиться, т.е. сделать редактирование таким же естественным , как это было прежде в MDB.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32808599
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yunikiнеобновляемый набор получился вследствии перевода MDB в ADP
А если все-таки бороться с причиной и вынести текст запроса сюда и попытаться сделать его обновляемым?
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32808605
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи?
Если набор необновляемый - то никакой попытки обновления и не будет. И реакции не будет. Чего перехватывать-то собрались???
И уж тем более дело никогда не дойдет до триггеров Instead Of
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809470
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный >
Я не случайно рассказал о том, как он был получен - в MDB все работало прекрасно, поэтому его не надо делать обновляемым, ибо - невозможно. Это 4 таблицы, связаные отношениями один много, через LEFT JOIN.
2 Лох Позорный >
Если набор необновляемый - то никакой попытки обновления и не будет. И реакции не будет. Чего перехватывать-то собрались???
Ну может это и не реакция для Вас, но когда я нажимаю клавишу для редактирования значения в поле этого запроса, то в строке статуса пишется - "Данный набор записей не допускает обновление". Вот от это то и хотелось бы перехватить.НО я так чувствую, что не удастся.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809532
Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)?

Поскольку, как я тоже полагаю, сообщение "Данный набор записей не допускает обновление" вряд ли можно перехватить, то нужно "обмануть" Access, чтоб он "думал", что источник записей обновляемый, а собственно обработку изменений данных возложить на сервер. Тоже, конечно, не панацея, но, может, для конкретной задачи и подойдёт?
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809567
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
присоединюсь к Темному
если в mdb обновлялся, то в adp тоже
должен обновляться
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809598
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADP строже.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809687
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего надо просто разобратся
и грамотно заполнить свойства UniqueTable & ResyncCommand

На крайний случай можно сделать фичу аля .net
сделать свободные контролы парные контролам с данными
спрятать из на задний план
при получении фокуса контролом с данными
копировать его содержимое в парный свободный
и передавать фокус на него фокус
на AfterUpdate свободного контрола
повесить код который будет сливать содержимое на сервер
и обновлять строку рекордсета(Recordset.Resync AffectRecords, ResyncValues)
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809829
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Тимур Рахимов > Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)?
Так я так и делаю, правда не знаю пока что такое WITH VIEW_METADATA?
Так и делаю только вопрос не в этом , а как сделать редактирование таким же естесственным , как это было в MDB.
2 ищ> если в mdb обновлялся, то в adp тоже
должен обновляться

ну вроде хотя бы с моих описаний видно , что это не так - К СОЖАЛЕНИЮ !
2 Latuk >
Списибо еще раз, так как я уже видел ваш пост на подобную тему где-то и почти так и сделал, но вопрос оказывается не в этом , а в том что в ленточной форме это (подкаладка полей , передача фокуса,...) невозможна, и приходится открывать отдельный бланк для редактирования каждой записи, что по сравнению с Access MDB пользователю жутко неудобно - он уже привык к свободному редактированию в ленточной форме - В ЭТОМ ДЕЛО !
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809837
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
More 2 Latuk > Скорее всего надо просто разобратся
и грамотно заполнить свойства UniqueTable & ResyncCommand

Это , если Вы обратили внимание на то , какой запрос, - неприемлемо, ибо - невозможно использовать.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809861
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
More
2 Тимур Рахимов >
Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)?

Я не очень понятно ответил, т.к. забыл еще одну неприятную вещь - ДАЖЕ если использовать триггер INSTEAD OF на необновляемый вью в форме, - все равно запрос остается необновляемым !!!
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809872
yuniki2 Тимур Рахимов > Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)?
Так я так и делаю, правда не знаю пока что такое WITH VIEW_METADATA?
Эта опция представления ( CREATE VIEW ... WITH VIEW_METADATA ) - совершенно необходимая вещь для решения поставленной задачи. Если её опустить, то шибко умный Access вместо обращения к view как к единой таблице будет пытаться напрямую обращаться к таблицам, его составляющим. А поскольку способ соединения таблиц в нём заведомо не позволяет обновление (иначе зачем INSTEAD OF триггеры городить?), то не преуспеет в этом.

Наберите в этом форуме в качестве строки поиска VIEW_METADATA и прочитайте всё снизу доверху. Если останутся вопросы (что маловероятно), я на них отвечу.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32809937
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на каком основании
ты решил, что
"невозможно использовать" обновление?
а я считаю, что возможно
и у меня работает
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810010
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а в том что в ленточной форме это (подкаладка полей , передача фокуса,...) невозможна

Ето что за новости такие , почему ето невозможна у мине усе работает
именно в ленточной форме (может имелась ввиду табличная)

вот еще вариант для тех кто очень хочет "как в mdb"
создать рядом mdb
создать в ем табличку с требуемыми полями
слить туды результат запроса
открыть на ей рекордсет
открыть на ем форму
при закрытии измененные записи слить на сервер
получится этакий аналог датасета из нета

PS WITH VIEW_METADATA не поможет редактировать сложную вьюху
глюпый аксес се равно прочухает внутренние таблички
и потребует иметь пермишины на SELECT на все таблицы содержащиеся в FROM
иначе набор будет не редактируемым

редактироввать через представление не имея SELECT на таблицу
можно только вьюхи имеющие FROM из одной таблицы (по крайней мере в 2002-м)
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810064
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Тимур Рахимов > Эта опция представления (CREATE VIEW ... WITH VIEW_METADATA) - совершенно необходимая вещь для решения поставленной задачи. Если её опустить, то шибко умный Access
Попробовал - все равно даже при просмотре этого View в окне представлений (я уж не говорю о ленточной форме)
Access при попытке редактирования говорит, что
"Данный набор записей не доаускает обновление" . Хотя это View прекрасно в EM от MsSQL 2000 редактируется как надо.
2 Latuk>
Ето что за новости такие , почему ето невозможна у мине усе работает
именно в ленточной форме (может имелась ввиду табличная)


Да я не понимаю, как это может быть - о чем ты говоришь ?
В ленточной форме находится РЯД записей , а не одна запись, - если одна - нет проблем! (Это вроде уже мной как-бы давно пройдено.)
Так вот - при размещении в области данных свободного поля после его отображения во всех записях будет светиться в нем одно и то же!!! Это и мешает в ленточной форме!!!

PS WITH VIEW_METADATA не поможет редактировать сложную вьюху
глюпый аксес се равно прочухает внутренние таблички
и потребует иметь пермишины на SELECT на все таблицы содержащиеся в FROM
иначе набор будет не редактируемым


При чем тут пермишины - я разве сказал , что их нет на базовые таблицы вьюхи ? они у меня есть на все таблицы.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810072
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ищ > Я ни в коей мере не покушаюсь на то, что у тебя работает, по поводу своего случая я все описал - что и почему, а вот что у тебя - непонятно.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810111
otto_kreiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вариант, почти как у Latuk:
освобождать рекордсет формы от сервера и делать его обновляемым.
Как именно - было уже куча примеров.
После обновления нужного контрола посылать команду на обновление на сервер.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810114
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как оторвать, знаю. А как сделать обновляемым оторванный рекордсет ?
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810169
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
otto_kreiz> Еще вариант, почти как у Latuk:
освобождать рекордсет формы от сервера и делать его обновляемым.

Мда-уж... - распространись , плиз, подробнее и потом, что тут похожего на вариант Latuka ?
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810173
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"по поводу своего случая я все описал - что и почему, а вот что у тебя - непонятно"
это у тебя ничего непонятно.
ты нам не привел ни строчки
кода, ни команды синхронизации
ни однозначной таблицы,
а тока даешь нам свои
пространные рассуждения.
никакой конкретики.
тебе уже надавали кучу
советов, а у тебя мозги
никак не просветлеют
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810233
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем так нападать юноша? Вы же ничего не поняли из всего топика.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810236
Думаю, Ищ прав - необходимая информация для того, чтобы начать решать задачу самостоятельно, здесь уже давно присутствует.

Всё же считаю нужным уточнить свой совет: WITH VIEW_METADATA - необходимый элемент для "обновляемости", но не единственный. В частности, чтобы Access решил, что представление обновляемое, ему для какой-то надобности требуется, чтобы в его список полей были включены primary key (или UNIQUE INDEX ) всех таблиц, участвующих в представлении.
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810346
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тимур Рахимов > ему для какой-то надобности требуется, чтобы в его список полей были включены primary key (или UNIQUE INDEX) всех таблиц, участвующих в представлении

а вот это уже что-то забрезжило...
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810401
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут светом его обливают
а он: "забрезжило".
брезжи-брезжи.
может и озарит как-нибудь
...
Рейтинг: 0 / 0
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
    #32810423
На этом пути встретятся ещё проблёмы. Я о них говорить не стал, в надежде, что вы с ними не столкнётесь. Будем надеяться на лучшее.
...
Рейтинг: 0 / 0
25 сообщений из 67, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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