Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи / 25 сообщений из 67, страница 1 из 3
02.12.2004, 01:14:42
    #32808585
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
Можно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи?

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

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

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

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

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

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

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

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

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

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

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

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

редактироввать через представление не имея SELECT на таблицу
можно только вьюхи имеющие FROM из одной таблицы (по крайней мере в 2002-м)
...
Рейтинг: 0 / 0
02.12.2004, 16:18:43
    #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
02.12.2004, 16:20:49
    #32810072
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
2 ищ > Я ни в коей мере не покушаюсь на то, что у тебя работает, по поводу своего случая я все описал - что и почему, а вот что у тебя - непонятно.
...
Рейтинг: 0 / 0
02.12.2004, 16:32:21
    #32810111
otto_kreiz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
Еще вариант, почти как у Latuk:
освобождать рекордсет формы от сервера и делать его обновляемым.
Как именно - было уже куча примеров.
После обновления нужного контрола посылать команду на обновление на сервер.
...
Рейтинг: 0 / 0
02.12.2004, 16:34:12
    #32810114
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
Как оторвать, знаю. А как сделать обновляемым оторванный рекордсет ?
...
Рейтинг: 0 / 0
02.12.2004, 16:50:19
    #32810169
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
otto_kreiz> Еще вариант, почти как у Latuk:
освобождать рекордсет формы от сервера и делать его обновляемым.

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

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

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


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