|
|
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Только не понятно - каким должны быть свойства уникальная таблица и команда синхронизации для запроса из 4 таблиц : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 18:09:44 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
(Подпрыгивая от нетерпения) А меня, а меня! Как оторванный делать обновляемым ? Кода! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 18:10:45 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Ты скажи - как его отрывать - то собираешься - отсоединенный набор записей что-ли делать предлагаешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 18:16:54 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
>при размещении в области данных свободного поля после его отображения >во всех записях будет светиться в нем одно и то же!!! Это и мешает в >ленточной форме!!! Э не кычи так дарагой,все слишу,все панимаю. все можна,все полющиса вай Ключевой слов "на задний план" контрол непривязанный к данным выскочит напередний план только в текущей строке в остальных строках будет виден контрол привязанный к данным Но я табе советую разобратся с командой синхронизации однозначная таблица Контакты судя по всему у нее (смотрите почти пелепят свездочку наскрось вижу) есть таки поле id и наверное оно счетчик и наверное оно ключевое значится как будет команда синхронизации Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. PS не забудь что пермишны надо раздать на все таблицы ну да не дошел наверно до этого еще из под овнера наверно базу юзаеш. не допреш сам полож ADP-ник с формой и бакап базы , с таблицами из запроса и небольшим кол-вом тестовых данных покажу как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 20:27:21 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
после беглого прочтения... Темный yunikiнеобновляемый набор получился вследствии перевода MDB в ADP А если все-таки бороться с причиной и вынести текст запроса сюда и попытаться сделать его обновляемым? истина ЛПЕсли набор необновляемый - то никакой попытки обновления и не будет. истина ЛП И реакции не будет. Чего перехватывать-то собрались??? реакция будет- ошибка формы её и обрабатывать запустить ХР с параметрами в ней вставить в нужные поля нужных таблиц в нужном порядке нужные значения, чтоб сохранить все связи и целостность данных. потом сделать ресинк одной записи как пример обновление данных в ленточной форме на основе SP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 20:37:40 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Не получилось из меня телепата надо было сразу картинки включить (почему то когда нажимаеш ответить картинки не отображает) в общем тама два ключевых поля значит в WHERE будет два "?" к этим полям кстати совсем не обязательно вообще обращать на них внимание поскоку каманду синхронизации можно формировать без параметров (на текущая запись) заполняя ее строкой с любым Where главное чтобы FROM был такой-же кстати еще не ясно какую таблицу хотелось редактировать может тоже промахнулся тута можно и до Клиенты добратся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 20:55:30 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk > Ключевой слов "на задний план" А как на задний план ? я это делаю так : создаю парный свободный контрол, отодвигаю старый привязанный, на его место ставлю парный свободный, после чего заслоняю его старым привязанным И результат - при отображении на форме видны все свободные парные контролы из-под привязанных !!!!! Хотя я их даже по размерам меньше сделал Еще событие такое есть : Код: plaintext 1. 2. 3. 4. вот и рис показывает это Я бы сказал, что ключевой слов еще и "передача фокуса" однозначная таблица Контакты судя по всему у нее (смотрите почти пелепят свездочку наскрось вижу) есть таки поле id и наверное оно счетчик и наверное оно ключевое Не совсем - по рисунку же видны ключевые поля,они жирные.И потом не понятно все равно с однозначной таблицей - ведь она предназначена ТОЛЬКО для правки в ЕЕ полях, а нужно во ВСЕХ полях запроса ( ну, точнее, всех, кроме Expr1,Expr2,Expr3 ),т.е. всех таблиц ! Как в этом случае этот механизм будет работать - не понятно! А ну вот увидел твое кстати еще не ясно какую таблицу хотелось редактировать еще раз скажу - все поля всех таблиц. совсем не обязательно вообще обращать на них внимание поскоку каманду синхронизации можно формировать без параметров (на текущая запись) заполняя ее строкой с любым Where неясно - как с любым? Как запись-то обновляемая определится? PS не забудь что пермишны надо раздать на все таблицы ну да не дошел наверно до этого еще из под овнера наверно базу юзаеш. Опять пермишны?! Я уже говорил, что все роздано - при чем вообще здесь пермишны? Юзаю под sa. 2 Вадя > после беглого прочтения... после беглого прочтения высказывания неудачные - читай внимательнее посты и мои ответы на них (а топик приведенный я уже читал вчера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 01:16:56 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Почему dbo.Клиенты INNER JOIN dbo.Контакты ? думаю неоднозначность здесь, нужно dbo.Клиенты RIGHT OUTER JOIN dbo.Контакты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 02:30:20 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2yuniki >Не совсем - по рисунку же видны ключевые поля,они жирные я ж поправился потом,просто у меня рисунки отключены были. Предложение: >полож ADP-ник с формой и бакап базы , >с таблицами из запроса и небольшим кол-вом тестовых данных >покажу как. остается в силе проблемма твоя решается стандартным способом за 5 минут. не забудь сказать поля какой таблицы собираешся редактировать PS Если будеш посылать на мыло из профиля предупреди на форуме ато это у меня мусорный ящик (редко заглядываю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 09:02:14 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
после более спокойного прочтения... у тебя есть форма на ХП не обновляемая? (ну такая получилась .., при переносе из мдб) тебе нада её редактироватьь как в мдб? тебе важен способ как ты этого достигнешь, или конечный результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 10:27:02 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk> Да ты скажи, лучше как дубликатный контрол-то подложить - видишь же на картинке, что у меня получилось. Пошли пример, на yuniki@rambler.ru. Если ты предлагаешь послать для того, что сказал PS не забудь что пермишны надо раздать на все таблицы ну да не дошел наверно до этого еще из под овнера наверно базу юзаеш. не допреш сам полож ADP-ник с формой и бакап базы , с таблицами из запроса и небольшим кол-вом тестовых данных покажу как. На это я ответил выше.Т.е. я не понимаю, что ты предлагаешь раздать, если и так все роздано. 2 Вадя> Конечно способ важен и результат, способ нужно чтобы был минимально трудозатратным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 11:32:27 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk> Все таки послал я тебе на avrallv@mail.ru свой пример, посмотри , плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 12:14:59 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk> не забудь сказать поля какой таблицы собираешся редактировать Так как я уже говорил - все поля в запсиси на форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 12:17:29 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
To Программист-любитель: Dim cn As ADODB.Connection Set cn = CurrentProject.Connection Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim SQL as String SQL = "любой самый что ни на есть необновляемый запрос, включая группировки и т.п." rs.CursorLocation = adUseClient 'Обязательно курсор клиентский rs.Open SQL, cn, adOpenStatic, adLockOptimistic, adCmdText Set rs.ActiveConnection = Nothing 'убиваем соединение Set Me.sfWHDets.Form.Recordset = rs Set rs = Nothing теперь подформа sfWHDets.Form стала обновляемой, в том числе можно удалять записи. Естественно, база на сервере ничего об этом не узнает, с ней нужно работать отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 12:39:19 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
yuniki родной, ты когонибудь кроме себя слушаеш или нет? как сделать тебе давно уже сказали может на пальцах понятнее станет в прикрепленном файле бакап базы и ADP-к (дал бы свой я бы у табе поправил а так извиняй за тестовые имена) Форма1 - стандартный подход со строкой синхронизации с параметрами Форма2 - Свободный контрол(Поле16) спрятанный под контрол с данными (Name1) Поверь мне между "заслоняю его старым привязанным" и "на задний план" есть разница Форма3 - динамически формируемая команда синхронизации без параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 13:10:14 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Естественно что редактировать можно только те поля со стороны LEFT & RIGHT Для которых существует запись в соотв таблице отсутствие оных надо проверять отдельно PS В примере ошибка СохраненнаяПроцедура1 переименовать в Форма1Resync ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 13:22:57 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk> yuniki родной, ты кого--нибудь кроме себя слушаешь или нет? Что же я не слушаю, вроде как это на мои ответы реакции нет. Например, ты хотел получить от меня посылку, я тебе ее отправил, но ты почему-то не отвечаешь, я тебя спрашиваю по 2 раза - зачем пермишны, ты твердишь про них вновь, не глядя на то, что я тебе ответил про них ответил, хотя и без ответов ясно, что незачем упоминать про пермишны. Про то, что подложить свободный контрол мне не удается , ты тоже не реагируешь, и все это оказывается я никого не слушаю, а не наоборот. Про то, что надо все поля всех таблиц на форме редактиорвать ты тоже ноль внимания Про команду синхронизации с запросом из 4 таблиц (поля всех, что показаны на форме, надо обновлять) - тоже ноль. Ну так и как же тут вести беседу? Мда... , закачал твой файл - сплошной облом : 1) у меня Access2000 2) ResyncSQL.Bak - не хочет Restore'иться , хотя ,например, мои базы нормально восстанавливаются. Поверь мне между "заслоняю его старым привязанным" и "на задний план" есть разница Ты на словах просто скажи в чем разница и как ее достигнуть. PS: Ты получил мой-то файл на свой e-mail из профиля? Да , последний твой пост прочитал, сделай поправку на это в том , что сказал выше . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 14:10:31 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2yuniki смотри мыло там твой пример исправленный >Ты на словах просто скажи в чем разница и как ее достигнуть. заходиш в конструктор формы Ставиш курсор на контрол с данными Ctrl-C , Ctrl-V получаеш дубль стираеш у него привязку к данныи получаеш свободный контрол кладеш его на контрол сданными и выравниваеш по краям чтобы парные контролы оказались точно друг над другом ставиш курсор на свободный контрол формат - на задний план ВСЕ Но это табе не надо, а надо просто заполнить строку синхронизации обычным стандартным образом (см Гетца том 2) форма сама возьмет значения ключевых полей из текущей строки и подставит их в комманду синхронизации вместо "?" единственное что может понадобится это проконтролировать редактирование полей со стороны LEFT & RIGHT Для которых отсутствует запись в соотв таблице и либо добавлять ее либо запрещать редактирование этих полей (например с помощью условного форматирования) но как правило такого не бывает потому что редактируется только одна таблица остальные же используются как справочники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:00:29 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
>Мда... , закачал твой файл - сплошной облом : Почитай правила оформления топиков там сказано что если хочеш избежать проблемм подобных этой то должен указать версии своего ПО естественно обломился у меня Acc2002 & MSSQL2000SP3a 2000 не самый лучший вариант для разработки ADP До SP2 работать с ним практически не возможно Да еще забудь про VIEW_METADATA оно тебе тоже пока не надо его юзают тока при продвинутой безопастности когда стандартных пермишинов не хватает для ограничения доступа юзеров к таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:09:56 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk > кладеш его на контрол сданными и выравниваеш по краям чтобы парные контролы оказались точно друг над другом ставиш курсор на свободный контрол формат - на задний план Ну вот опять непонятки - что значит формат на задний план ? А вообще ты же можешь у моего 2000 посмоотреть, он же возьмется 2002. Я все вроде так и сделал, как ты говорил. Да еще забудь про VIEW_METADATA оно тебе тоже пока не надо А без него и не идет нормальный вариант, предложенный Тимур Рахимов . Это самый простой способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:19:16 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
Да , Access2000+SP3 у меня , SQL Server2000 +SP3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:20:05 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
2 Latuk > К сожалению, твою посылку на мыло не получил, потому что редактируется только одна таблица остальные же используются как справочники Вот из этого могу сделать вывод , что насчет команды синхронизации ничего сделать невозможно , так как у меня редактируются поля трех таблиц ( уже в n-й раз повторяю) в одной записи на форме.(Так было в MDB) Хотя , наверное , насчет этого надо отдельный топик сдлеать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:28:11 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
yunikiМожно ли как-то в ленточной форме с необновляемым набором перехватить ее реакцию на попытку обновления записи? Дело в том, что необновляемый набор получился вследствии перевода MDB в ADP ( в MDB запрос был обновляемым и ленточная форма для его редактирования очень естественно для его использовалаь). Хотелось бы как-то перехватывать попытку пользователя обновить/удалить/добавить запись и далее в своем обработчике с помощью INSTEAD OF UPDATE,DELETE,INSERT триггера на View формы модифицировать т.о. базовые таблицы View, затем делать requery источника формы. Пока я это все делаю вызовом на каждой записи по кнопке отдельной дополнительной формы для редактирования, от чего и хотелось бы избавиться, т.е. сделать редактирование таким же естественным , как это было прежде в MDB. а Однозначная таблица (Unique Table) Вы меняли? (сорри, всего не читал, может, уже обсуждалось) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:28:42 |
|
||
|
в ленточной форме с необновляемым набором перехватить реакцию на попытку обновления записи
|
|||
|---|---|---|---|
|
#18+
А вообще ты же можешь у моего 2000 посмоотреть, он же возьмется 2002. Я его уже посмотрел исправил и отправил назад >К сожалению, твою посылку на мыло не получил, ок щаз попробую с другого ящика >Вот из этого могу сделать вывод , что насчет команды синхронизации ничего сделать невозможно Вывод неправильный (см пример) редактировать можно все поля кроме тех которые со стороны LEFT & RIGHT Для которых отсутствует запись в соотв таблице но иэто можно обойти включив в запрос ключевые поля этих таблиц и проверяя их на NULL при попытке редактирования добавлять соотв запись в соотв таблицу команда синхронизации нужна только для отображения результата редактирования на форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2004, 15:39:07 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32812057&tid=1669942]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
110ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 369ms |

| 0 / 0 |
