|
|
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Можно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи? Дело в том, что необновляемый набор получился вследствии перевода MDB в ADP ( в MDB запрос был обновляемым и ленточная форма для его редактирования очень естественно для его использовалаь). Хотелось бы как-то перехватывать попытку пользователя обновить/удалить/добавить запись и далее в своем обработчике с помощью INSTEAD OF UPDATE,DELETE,INSERT триггера на View формы модифицировать т.о. базовые таблицы View, затем делать requery источника формы. Пока я это все делаю вызовом на каждой записи по кнопке отдельной дополнительной формы для редактирования, от чего и хотелось бы избавиться, т.е. сделать редактирование таким же естественным , как это было прежде в MDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 01:14:42 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
yunikiнеобновляемый набор получился вследствии перевода MDB в ADP А если все-таки бороться с причиной и вынести текст запроса сюда и попытаться сделать его обновляемым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 01:55:59 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Можно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи? Если набор необновляемый - то никакой попытки обновления и не будет. И реакции не будет. Чего перехватывать-то собрались??? И уж тем более дело никогда не дойдет до триггеров Instead Of ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 02:23:30 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Темный > Я не случайно рассказал о том, как он был получен - в MDB все работало прекрасно, поэтому его не надо делать обновляемым, ибо - невозможно. Это 4 таблицы, связаные отношениями один много, через LEFT JOIN. 2 Лох Позорный > Если набор необновляемый - то никакой попытки обновления и не будет. И реакции не будет. Чего перехватывать-то собрались??? Ну может это и не реакция для Вас, но когда я нажимаю клавишу для редактирования значения в поле этого запроса, то в строке статуса пишется - "Данный набор записей не допускает обновление". Вот от это то и хотелось бы перехватить.НО я так чувствую, что не удастся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:16:04 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)? Поскольку, как я тоже полагаю, сообщение "Данный набор записей не допускает обновление" вряд ли можно перехватить, то нужно "обмануть" Access, чтоб он "думал", что источник записей обновляемый, а собственно обработку изменений данных возложить на сервер. Тоже, конечно, не панацея, но, может, для конкретной задачи и подойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:34:03 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
присоединюсь к Темному если в mdb обновлялся, то в adp тоже должен обновляться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:44:25 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
ADP строже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 13:52:23 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Скорее всего надо просто разобратся и грамотно заполнить свойства UniqueTable & ResyncCommand На крайний случай можно сделать фичу аля .net сделать свободные контролы парные контролам с данными спрятать из на задний план при получении фокуса контролом с данными копировать его содержимое в парный свободный и передавать фокус на него фокус на AfterUpdate свободного контрола повесить код который будет сливать содержимое на сервер и обновлять строку рекордсета(Recordset.Resync AffectRecords, ResyncValues) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 14:22:17 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Тимур Рахимов > Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)? Так я так и делаю, правда не знаю пока что такое WITH VIEW_METADATA? Так и делаю только вопрос не в этом , а как сделать редактирование таким же естесственным , как это было в MDB. 2 ищ> если в mdb обновлялся, то в adp тоже должен обновляться ну вроде хотя бы с моих описаний видно , что это не так - К СОЖАЛЕНИЮ ! 2 Latuk > Списибо еще раз, так как я уже видел ваш пост на подобную тему где-то и почти так и сделал, но вопрос оказывается не в этом , а в том что в ленточной форме это (подкаладка полей , передача фокуса,...) невозможна, и приходится открывать отдельный бланк для редактирования каждой записи, что по сравнению с Access MDB пользователю жутко неудобно - он уже привык к свободному редактированию в ленточной форме - В ЭТОМ ДЕЛО ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 15:04:37 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
More 2 Latuk > Скорее всего надо просто разобратся и грамотно заполнить свойства UniqueTable & ResyncCommand Это , если Вы обратили внимание на то , какой запрос, - неприемлемо, ибо - невозможно использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 15:06:22 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
More 2 Тимур Рахимов > Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)? Я не очень понятно ответил, т.к. забыл еще одну неприятную вещь - ДАЖЕ если использовать триггер INSTEAD OF на необновляемый вью в форме, - все равно запрос остается необновляемым !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 15:12:13 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
yuniki2 Тимур Рахимов > Хорошо, а почему тогда нельзя применить представление с INSTEAD OF триггерами (и не забыть добавить в его описание WITH VIEW_METADATA)? Так я так и делаю, правда не знаю пока что такое WITH VIEW_METADATA? Эта опция представления ( CREATE VIEW ... WITH VIEW_METADATA ) - совершенно необходимая вещь для решения поставленной задачи. Если её опустить, то шибко умный Access вместо обращения к view как к единой таблице будет пытаться напрямую обращаться к таблицам, его составляющим. А поскольку способ соединения таблиц в нём заведомо не позволяет обновление (иначе зачем INSTEAD OF триггеры городить?), то не преуспеет в этом. Наберите в этом форуме в качестве строки поиска VIEW_METADATA и прочитайте всё снизу доверху. Если останутся вопросы (что маловероятно), я на них отвечу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 15:14:26 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
на каком основании ты решил, что "невозможно использовать" обновление? а я считаю, что возможно и у меня работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 15:34:02 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
> а в том что в ленточной форме это (подкаладка полей , передача фокуса,...) невозможна Ето что за новости такие , почему ето невозможна у мине усе работает именно в ленточной форме (может имелась ввиду табличная) вот еще вариант для тех кто очень хочет "как в mdb" создать рядом mdb создать в ем табличку с требуемыми полями слить туды результат запроса открыть на ей рекордсет открыть на ем форму при закрытии измененные записи слить на сервер получится этакий аналог датасета из нета PS WITH VIEW_METADATA не поможет редактировать сложную вьюху глюпый аксес се равно прочухает внутренние таблички и потребует иметь пермишины на SELECT на все таблицы содержащиеся в FROM иначе набор будет не редактируемым редактироввать через представление не имея SELECT на таблицу можно только вьюхи имеющие FROM из одной таблицы (по крайней мере в 2002-м) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:02:30 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Тимур Рахимов > Эта опция представления (CREATE VIEW ... WITH VIEW_METADATA) - совершенно необходимая вещь для решения поставленной задачи. Если её опустить, то шибко умный Access Попробовал - все равно даже при просмотре этого View в окне представлений (я уж не говорю о ленточной форме) Access при попытке редактирования говорит, что "Данный набор записей не доаускает обновление" . Хотя это View прекрасно в EM от MsSQL 2000 редактируется как надо. 2 Latuk> Ето что за новости такие , почему ето невозможна у мине усе работает именно в ленточной форме (может имелась ввиду табличная) Да я не понимаю, как это может быть - о чем ты говоришь ? В ленточной форме находится РЯД записей , а не одна запись, - если одна - нет проблем! (Это вроде уже мной как-бы давно пройдено.) Так вот - при размещении в области данных свободного поля после его отображения во всех записях будет светиться в нем одно и то же!!! Это и мешает в ленточной форме!!! PS WITH VIEW_METADATA не поможет редактировать сложную вьюху глюпый аксес се равно прочухает внутренние таблички и потребует иметь пермишины на SELECT на все таблицы содержащиеся в FROM иначе набор будет не редактируемым При чем тут пермишины - я разве сказал , что их нет на базовые таблицы вьюхи ? они у меня есть на все таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:18:43 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 ищ > Я ни в коей мере не покушаюсь на то, что у тебя работает, по поводу своего случая я все описал - что и почему, а вот что у тебя - непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:20:49 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Еще вариант, почти как у Latuk: освобождать рекордсет формы от сервера и делать его обновляемым. Как именно - было уже куча примеров. После обновления нужного контрола посылать команду на обновление на сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:32:21 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Как оторвать, знаю. А как сделать обновляемым оторванный рекордсет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:34:12 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
otto_kreiz> Еще вариант, почти как у Latuk: освобождать рекордсет формы от сервера и делать его обновляемым. Мда-уж... - распространись , плиз, подробнее и потом, что тут похожего на вариант Latuka ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:50:19 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
"по поводу своего случая я все описал - что и почему, а вот что у тебя - непонятно" это у тебя ничего непонятно. ты нам не привел ни строчки кода, ни команды синхронизации ни однозначной таблицы, а тока даешь нам свои пространные рассуждения. никакой конкретики. тебе уже надавали кучу советов, а у тебя мозги никак не просветлеют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 16:51:15 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
зачем так нападать юноша? Вы же ничего не поняли из всего топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:09:22 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Думаю, Ищ прав - необходимая информация для того, чтобы начать решать задачу самостоятельно, здесь уже давно присутствует. Всё же считаю нужным уточнить свой совет: WITH VIEW_METADATA - необходимый элемент для "обновляемости", но не единственный. В частности, чтобы Access решил, что представление обновляемое, ему для какой-то надобности требуется, чтобы в его список полей были включены primary key (или UNIQUE INDEX ) всех таблиц, участвующих в представлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:09:54 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Тимур Рахимов > ему для какой-то надобности требуется, чтобы в его список полей были включены primary key (или UNIQUE INDEX) всех таблиц, участвующих в представлении а вот это уже что-то забрезжило... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:42:37 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
тут светом его обливают а он: "забрезжило". брезжи-брезжи. может и озарит как-нибудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 17:56:24 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32809470&tid=1669942]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
330ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 643ms |

| 0 / 0 |
