|
|
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Постараюсь кратко свои впечатления выразить - для ясности :-) Есть форма ПОИСКФИРМЫ - где один комбобокс в котором я фирму выбираю. После выбора открывается форма ФИРМА (посредством фильтра по CompanyID) - главная, в которую встроена Табличная подформа СОТРУДНИКИ. Подчиненность организована по полю CompanyID Если форма ФИРМА уже открыта, то изменение в комбобоксе поисковой формы ПОИСКФИРМЫ приводит к выводу карточки новой фирмы и, соответственно, в подчиненной форме СОТРУДНИКИ вижу уже ее сотрудников. В подчиненной форме СОТРУДНИКИ я мудрую с событиями Current и Delete. Но все работает правильно до тех пор, пока я в одном из событий не ставлю вызов DoCmd (причем не обязательно для загрузки какой-то формы, а например делаю DoCmd.SelectObject и DoCmd.Restore уже загруженной формы. Результат: Подчиненная СОТРУДНИКИ теряет связь с главной ФИРМА, т.е. если в ПОИСКФИРМЫ меняю в комбобоксе значение, то подчиненная СОТРУДНИКИ НЕ ОБНОВЛЯЕТСЯ. Вопрос: кто-нибудь с эти сталкивался? ЗЫ: база mdb-2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:20 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Дык и плюнь на эту дцмду. Других слов мало что ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:33 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Ну так хотелось бы в форму какую-нить войти и выйти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:41 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
А кто мешает? SetFocus вроде никто не отменял. Хотя не мешало бы разобраться что за фигня происходит. Я такого не наблюдал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:44 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Я не правильно выразился. Входить в форму не надо, достаточно сделать Restore и поменять значение контрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:52 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
А Forms!Form1.Requery? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 17:27 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Я сейчас моделирую на простой базе эффект. Получится - предъявлю общественности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 17:35 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Ну, кто может этот глюк лицезреть на выходных? готов послать письмо с примером 363кь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 19:02 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, скинь мне... У меня что-то такое же было, но не помню чем вылечил... Дайка повспоминаю юность :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 21:08 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Послал... В подчиненной попробуй удалить запись и потом посмотри, как обновляется главная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 21:59 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Может еще кто захочет полюбоваться - тогда здесь возьмите http://sashalev.narod.ru/Test.zip ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 22:09 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, у меня всё нормально... По топику... Делаю: 1. Выбираю "компанию", при этом открывается форма со списком сотрудников; 2. Удаляю сотрудника (выделяю запись и Del, если что;) 3. Открывается "мигальное" окошко; 4. Закрываю или не закрываю мигальное окошко, меняю компанию - результат один - всё работает! Сотрудники меняются как и положено... Кстати, в подчиненной форме ты используешь события ДоПодтвержденияУдалени и ПослеПодтвержденияУдаления, так вот сначала они у меня не вызывались (соответствующая настройка Акса об подтверждениях была отключена) - все работало. Включил подтверждение - все работает... На счет того, что данные события могут и не происходить - держи в голове на всякий случай... Т.е. ничё у меня не "отваливается"... Чё я не так делал? Но зато... Зато: 1. Удавил бы тебя за "Лисицына" в списке сотрудников! //личное... 2. Да у тебя базка то - порушенная! Ладно ссылки у меня отвалились... Да и фиг с ними - просто не стал компилить и все... А вот при попытке открыть модули класса и форму "Свитчбоард" Акс орет, что открываемый объект не найден ядром БД и предлогает мне проверить существование открываемого (!) мной объекта и правильность пути к нему... Типа, путь к форме в окне БД :) Хотя после матов всё же открывает... 3. Я сообщение второй раз набираю, ибо во время первого базку оставил в откытом виде с работающими формами и... система накрылась! Даже три заветные кнопки не привели винду хоть к каким-нить телодвижениям... Вот такие у меня пироги... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 23:56 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Нуф-Нуф: ну недочистил я базу - она же большая была и Switchboard в ней был. Но вот я все вычистил по максимуму, даже картинку поставил не мигающую. Вот что происходит - если DoCmd в событии Form_Delete запускается, то при попытке удалить нелюбимую Лисицину предупреждение об удалении НЕ выдается, из формы человек удаляется, а из базы - нет. Соответственно, дальше у меня работает неправильно, т.е. подчиненная отваливается, а после перезагрузки формы Companies Лисицина остается на своем месте. А ВОТ ЕСЛИ я DoCmd комментирую, то все работает правильно. Да, я не дорассказал, что база А-2000, а офис-то ХР, а дома (откуда я сейчас 2-ой вариант 57кб выкладываю) еще и русский. Но и дома и на работе у меня одна и таже история. Вот новый упрощенный вариант: http://sashalev.narod.ru/NewTest.zip У меня такие пироги... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 01:13 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Ну что, неужели только в моих хозяйствах глюк:(57кб база)?http://sashalev.narod.ru/NewTest.zip Как дальше жить? М.б. застрелиться? Ведь даже в субботу нет мне покоя! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 19:56 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, привет! У меня результат тот же - все нормально работает... Поудалял всех нафик и по очереди и пачками, закрвал окошки и не закрывал, менял компанию или не менял, вообщем изголялся как мог - все ОК! Но тока ты расстраивайся по энтому поводу! Мне вот например хуже от этой ситуации. Представь, я делаю то же самое, что сделал ты, тестирую у себя - все ОК, продаю :) тебе и вдруг такая лажа... А у тебя есть шанс либо разобраться с глюком, либо выбрать другую технологию реализации... Вообщем, воркэраунд... Кстати, может быть действительно дело в ХР? У меня родненький (для формата твоей БД) офис - 2000 с "патчами". В свете выше сказанного я с топика сруливаю, ибо быть полезным не могу, но буду следить за результатами твоих исследований - найдешь решение - скажешь ведь? Удачи в онном! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:01 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
с смысле: Но тока ты НЕ расстраивайся по этому поводу (далее по тексту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:03 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Кажется, пора приглашать психолога (психиатр, надеюсь, не понадобится)... Стреляться не надо. Надо остаться в живых хотя бы из любопытства, чтобы увидеть, что будет дальше. Насчет субботы - можно принять иудаизм, тогда всю субботу можно будет молиться и о работе не думать. Теперь по сути вопроса. Бывает ли такое у людей? - нет, не бывает. Компьютерные заболевания людям не передаются. Животным - иногда да, но тоже редко. И наконец. Я завтра на работе скачаю этот зип, и если база откроется в моем 2000, то попробую сказать что-нибудь умное (в отличие от того, что сказал в этом посте). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:04 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
В свете высказывания Нуфа позволю себе изобразить проблеск надежды. Весьма может оказаться, что у тебя оно не работает, а у клиента будет работать. И тогда можно об этой проблеме забыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:06 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Я бесконечно благодарен Нуф-Нуфу за его уже убитое на меня время и Санычу за возможно убитое воскресенье Ж-)...Всеж-таки аксесс форум выполняет также функцию коллективного организатора, вдохновителя, вправляльщика мозгов и, кстати, психотерапеута, поэтому суицид не состоится пока, да и патронов нет. Будем мучаться дальше. Кстати, на счет клиентов. Поскольку я делаю систему исключительно для внутреннего пользования своим подразделением, то здесь проблема только одна - обнаружить, в чем корень зла. Если причина определится(например - из-за офиса) - нет проблем: всем пятерым пользователям переустановим, сервис пак запустим и прочее. Обидно будет только, если я где-то лоханулся (Лох, извини, что твою отглагольную форму использовал:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:32 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Собственно, данный топик в свете последних исследований, можно именовать так "Запуск DoCmd в событии Form_Delete подчиненной табличной формы приводит к некорректной работе базы (А-2000 офис ХР)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 21:59 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, слушай... Я хоть и попробовать ничего не могу в плане устранения глюка (так как самого глюка у меня не наблюдается), но в качестве тестовых вариантов могу предложить кое-что. Первая тестовая доработка: Попробуй в событии удаления после DoCmd выполнить "Cancel = False". Явное указание того, что отменять удаление не собираемся. Второй тестовый воркэраунд: В обработчике события удаления установи таймер формы на одну (или больше) мс. А уже на событие самого таймера повесь DoCmd с открытием мигальной формы. Вот. Таким образом ты сможешь проверить, действительно ли собака порылась в DoCmd, который расположен внутри обработчика Delete или дело не в этом. То есть, ты как бы вообще в событии на удаление ничего подозрительного не делаешь. Третий тестовый воркэраунд: Не открывай мигальную форму через DoCmd. Просто открой ее заранее, а в событии удаления отображай ее (переводом фокуса, али если ты ее скрытой сделаешь, то Визибл=Тру), ну вообщем добейся чтобы она отображалась, но не через DoCmd. Это поможет прояснить ситуацию вообще с открытием (или вернее отображением) данной формы в процессе удаления записи. По идее, здесь вообще никакой связи быть не может, но чем черт не шутит, тем мужик не перекрестится... Не... Чем мужик не перекрестится, тем черт не шутит... Не... Чем черт не перекрестится, тем... :) Вообщем! Попробуй просто на всякий случай... Еще раз удачев! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 22:22 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
> черт не шутит, тем мужик не перекрестится... В одной из старых передач КВН много лет назад было сказано: Гром не грянет, а свинья не съест. Нуф, тебе этот вариант пословицы должен быть близок. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 22:58 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Как дальше жить? М.б. застрелиться? Ведь даже в субботу нет мне покоя! Мужайся Лифчик Наступит воскресенье, я скачаю твою базу и полью говном всех и вся Если что - я не виноват марос марос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 22:58 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лох>...и полью говном всех и вся ... ---- Лох, ты не представляешь, как я этого хочу! По-моему, есть даже извращение такое - подставляться в момент дефекации партнера, ловить струи (катушки, орешки) как манну небесную :-))))) Кстати, про мороз - это ты расфантазировался, завтра на большей части опять 30. Или ты среди оленеводов распелся?:-)) Нуф-Нуф: вот попробовал Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а также вариант с предварительной ручной загрузкой моргалки из окна базы, так что в Load только Visible=false остается. Не помогает. Вернее (что я раньше не замечал) - кривит Только с удалением первой записи (удаляет только из формы, но не из таблицы и не дает предупреждение). На попытку удаления второй записи Уже дает предупреждение, т.е. все ОК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:16 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Саныч, не... Здесь я КВН не видел еще, а там где видел, так я там не свинья ж :) Очень даже хороший такой весь прям аж... //может фоту мелким планом выложить... не... чё народ пугать та Лох, слюшай... А где ты стока того самого возьмешь, шобы на всё и на всех хватило? Даже подумать страшшшшшно Лифчик... Первая запись, вторая запись... какая ему нахр разница? Хм... Слушай, ну попробуй вариант с таймером и задержку дай в пару-тройку секунд... Пусть удаление спокойно отработает, а уж затем по таймеру форму или открывай или визибль... //опять же... дополнительная информация в отлове жука может появится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:22 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Нуф-Нуф: супер идея в том и состоит, что с первого раза я не даю человека удалять - за ним есть в связанных табличках переписка. Задумка в том, что во время первой попытки удаления я делаю Cancel=True и подсвечиваю строку (коряво это в табличной форме получается, но уж как есть). А затем при подсвеченной строке кандидата на исключение предлагаю пользователю тыркнуться в другую строчку и ловлю событие Current, чтобы переписать письма на другого сотрудника фирмы. И именно эту операцию сопровождает моргалка. Без нее все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:39 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Нет, конечно кординально решит проблему собственная моргалка на форме, но я -то хотел универсальную моргалку иметь для разных форм: мало ли где какие тонкие операции придется пользователю доверять. Шпаргалка моргающая была бы очень кстати ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:50 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
>что с первого раза я не даю человека удалять Лифчик... Пошел ка я спать... Нифига не могу понять, что же ты хочешь. Вернее могу (кажется), но не пойму зачем тогда вообще удалять запись (в контексте глюка, при котором у тебя ее удалить не получается, а у меня получается), если ты ее фактически удалять не хочешь (отменяешь удаление по кнопке Del, что я и тестировал)? Т.е. давай по полочкам: 1. Пользователь выбирает запись и жмет Дел; 2. Ты отлавливаешь событие Delete и отменяешь удаление (Кэнсел=Тру). Но у меня то при тестировании оно совсем не тру, а очень даже фальш...; 3. Запускаешь моргалку с подсказкой и ждешь клика пользователя на другой записи; 4. ??? Я не понял, зачем я тестировал удаление записи? Удаление записи мы отменили, а затем когда оно стало возможным ты должен сам организовать удаление (на программном уровне)! Пользователь не должен опять возвращаться к удаляемой записи и удалять ее повторно, кажется... мне... вроде... При чём тогда тут не удаляющиеся записи при удалении? Кстати, а если пользователь боится мышей и захочет выбрать "другого" пользователя через клавиатуру? Ну вот я грохаю Лисицыну в пользу Горовой, которая на пару позиций выше. Грохаю я лисицыну КЛАВИШЕЙ Дел, и коль скоро ручки у меня на клавиатуре, то я попытаюсь (даже не задумываясь, автоматом) передвинуть курсор с помощью клавиатуры, но не мыши, а ты отловив первое Куррент привесишь письма лисицыной тому, кто сразу перед ней, а не моей желанной Горовой... Понимаешь? Я тебя покритикую дальше немного, ладно? А? Ну ладненько :) Лисицына она хоть и стерва порядошная, но удалять ее ну никак нельзя. Онаж зарплату получала, че-та где-то еще там делала и если ты ее грохнишь, то у тебяж вся база накроется - зарплату получал неизвестно кто, че-та где-то там еще тоже делал кто неизвестно... Подход, имхо, не правильный... Как бы я решал данную задачу. Можно? А? 1. Завел бы логическое поле "УстаревшиеДанные"; 2. По событию Delete отменял бы онное, но устанавливал бы логическое поле в Тру; 3. В твоей мигалке вывел бы что мол надо закончить операцию, а во втором окошке мигалки (которое для этого и предназначено, думаю) написал бы что-нибудь типа: "Перед удалением сотрудника Лисицына выберите другого сотрудника, на которго будет свалено все то, что обещал свалить Лох Позорный. Текущий выбранный сотрудник: (Фамилия сотрудника, на котором стоит курсор в данный момент)." Ну кроме того в мигалке надо кнопку ОК, Отмена, да и еще саму мигалку сделать немодальной, но всегда "на поверхности", а здесь без винапи не обойтись... Т.е. я имею сказать, что проще просто напросто помечать лисицыну как устаревшую, а юзеру вываливать (в отдельном окне даже) список сотрудников уже без лисицыной. Ну и ОК и Отмена конечно... А вообще-то, я пошел спать. сорри, если был "длинен, скучен, непонятен и не в тему" :) Ночи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 00:52 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Полностью поддерживаю Нуфа по поводу логических ошибок в проектировании. Кроме одного момента: > саму мигалку сделать немодальной, но всегда "на поверхности", а здесь без винапи не обойтись... Не нужен винапи, а просто Modal = False PopUp = True Все остальное за мной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 11:15 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Грустно, но у меня все работает, как в аптеке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 11:26 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Володь, на счет "Не нужен винапи"... Понимаешь, если описанными тобой средствами Акса сделать такое окошко, то оно перекрываться будет активным всплывающим окном. Т.е. если основные формы в которых мы будем выбирать сотрудников тоже всплывающие (а Лифчик ведь делает универсальную всплывалку, так что надо предусмотреть и такой вариант), то при получении ей фокуса она перекроет нашу мигалку. А мигалка она на то и мигалка, чтобы пользователя раздражать постоянно! Ну чтобы не забыл чёнить прально сделать :) Нашей мигалке нельзя быть модальной, но в тоже время нельзя и с экрана уходить, а здесь (на сколько я знаю) только винапи... Тоже работает? Ну всё Лифчик, попал ты! Щаз еще лох придет с этим же, да еще и с тем чего наобещал... Бедный ты будешь :) Кстати, Лифчик... В мне идея мигалки понравилась... Если ее еще и реализовать с непрямоугольной формой, да с прозрачными областями, да мигания ласковые (плавно появляющиеся и уходящие), то вообще бомба будет! Ты не против, если я (попозже) тоже эту весчь (идею) буду у себя прикручивать (там где просится)? //вообще-то, если сделать второе окно с наглым (модальным) требованием выбрать нового сотрудника занимающегося письмами удаляемого (как в принципе сейчас и делаю), то мигалка не нужна вовсе, но мне понравилось в целом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 11:53 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Понял. Эскюзе муа. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 11:58 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
2 Нуф-Нуф: Опишу подробнее свои соображения, может оправдаюсь:-) Дело в том, что весь этот наворот придуман для решения следующей задачи - обнаружены двойники людей и они подлежат удалению. Ну, обычное дело: из разных мест дважды был заведен один и тот же человек. И теперь две Лисицины существуют в базе, каждая со своей карточкой человека, телефонами, факсами, мэйлами, должностями и проч. лабуденью. Одного надо удалять. Но на них на обоих - подчиненные записи. И я знаю, что в моем случае - только ссылки в таблице электронной переписки, никаких более зарплат и проч. нет. Тогда, я предлагаю пользователю: 1. Стандартным аксессовским способом правой кнопкой пометить одну из Лисициных на удаление. Во время события Form_Delete я ставлю против удаляемого человека метку в невидимом поле, а само удаление отменяю (на нем же еще подчиненные записи), запускаю моргалку с предупреждением и предлагаю мышью указать на другую Лисицину (или вообще на другого человека) 2. После того, как пользователь тыркает мышью на другого чела, я спрашиваю подтверждение (действительно ли тот человек), если тот - перевожу переписку, если нет - ожидаю второй попытки. 3. Если пользователь подтверждает, что выбрал правильного человека - уже в событии Current удаляю первую запись (откуда пришел), т.к. письма уже перекинуты. Так что повторно возвращаться к удаляемому человеку не приходится. А переход по стрелке на другую запись я заблокирую для пользы пользователя - только мышью пусть выбирает. Все это у меня работало, пока с моргающей формой не связался. Теперь вот ее не моргающей сделал, упростил до невозможности - не помогает. После Form_Delete НЕ генерится событие запрос подтверждения удаления, запись из формы удаляется, а из таблицы - нет. Причем на второй записи запрос подтверждения уже идет. Нет, пожалуй застрелюсь. Хотя сначала надо теще на дачу хавчик отвезти, а то с голоду помре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:10 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Мужик, тебе жизнь тещи дороже, чем собственная??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:12 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Нуф-нуф>Конечно делай как считаешь нужным! Потом расскажешь, чего получилось. Буду рад, что хоть идею сырую смог подкинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:13 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Саныч: поздравляю с МИЛЛЕНИУМОМ!(2000 сообщений)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:14 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Есть такое дело Ж-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:16 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
:^) Спасибо за поздравление, только поклянись, что останешься в живых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:16 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Все в руках Лоха теперь:-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 12:18 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, понял зачем сие... Всё ОК... На счет идеи спасибо, но я сейчас на другом этапе, поэтому вплотную данной идеей буду заниматься позже и, соответственно, позже дам знать о том, что получится. А пока идея ложится в папочку "Задачи 2-ой итерации" :) А на счет реализации режима отображения формы таким образом, чтобы была постоянно "над всеми" другими, то только через ВинАПИ, что совсем не страшно :) Ниже приведенный код просто копируешь в мигальную формочку (которую обязательно надо сделать "всплывающей") и наслаждаешься :) Если оно тебе конечно надо... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Кстати, формочку можно сделать "всегда верхней" как в пределах приложения, так и в пределах системы в целом. Разберешся сам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 13:58 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Ой... Забыл выкинуть два флага из вызова процедурки... Исправляюсь... И навожу красоту в расцветках кода :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 14:04 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Дополняю ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. а в форме просто инициализируем Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 16:08 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Alexanderik, извини, но дополняешь чего? Че та я не пойму зачем с регионами заморочки прикручены... На строке... Rgn = CreateRectRgn(.WindowLeft, .WindowHeight, .WindowWidth, .WindowHeight) ...вываливается. Да и... Const HWND_TOP = -1 Const HWND_TOPMOST = -1 ...как-то нелогично выглядит Я не критикую! Я пытаюсь посмотреть что этот код делает, а ничего толком добиться от него не могу :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 17:02 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Да и CaptionHeight нигде не используется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 17:13 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
просто код с рабочего проекта = поэтому не все успел подчистить. Дополнение к этому выглядит как прозрачное окно которое висит поверх всех - вроде и модальное - но без BlockControl. Код: plaintext 1. - не прав я тут - корректирую Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. >Да и CaptionHeight нигде не используется... Первоначально = прозрачным был только топик ! остатки кода ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 17:35 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Приехал. Обменял у тещи колбасу на ягоды, теперь неделю можно свободой наслаждаться и Аксессом :-) Ба, да тут куча полезного кода высветилась! Спасибо, все скопировал и использую по мере возможностей. Но меня сейчас больше волнует не реализация мигалки или удаления, а вообще факт НЕглючности моего софта. В связи с этим еще раз даю ссылку http://sashalev.narod.ru/NewTest.zip и спрашиваю - может ли кто-то запустить в ХР-шном офисе и сказать - УДАЛЯЕТ ЛИ аксесс из подчиненной формы человека с первой попытки (как положено, т.е. с подтверждением об удалении) . У меня нормально удаляется только ВТОРОЙ человек, а запись с первым блокируется в таблице, а в форме удаляется БЕЗ подтверждения. Буду глубоко признателен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2003, 22:50 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Я не читал, но я не согласен! Мой опыт подсказывает, что в ситуациях, когда требуется подтверждение удаления (с удалением в связанных таблицах) и возможным откатом, наиболее простой схемой является байтовое поле УДЛ в таблице (вроде бита удаления в DBF табличках) По событию формы Form_delete SQL запросом UPDATE выставляешь в выбранных записях УДЛ=1 (или другое, если режимов удаления несколько), и с Cansel=true выходишь из Form_delete. А в запросах на просмотр добавляешь where УДЛ=0. Фактическое же удаление выполняешь в конце работы перед закрытием приложения или в начале при открытии базы. При этом можно использовать нудные Rollback и Commit для пущей корректности в плане целостности данных. И всегда можно вызвать формочку отката и убрать УДЛ=1 с драгоценной записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 09:07 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
2 Лифчик Скачал. Поглядел. Сижу чешу репу.. Access XP sp2, Win2000 sp2 Не удаляются записи вапсче. Т.е. из формы они удаляются (без предупреждения), в таблице блокируются и остаются. Как 1-я, так и все последующие. Связь главной с подчиненной теряется. Бред какой-то. Попробовал избавиться от DoCmd.OpenForm в Form_Delete. Заменил на Set frm = New_Форма1. Форма1 любая, моргающая, не моргающая - пофигу мороз. Все работает. Как только делаешь frm.Visible - все перестает работать. Буду думать... Бред какой-то... З.Ы. Лучше отходи от такого "интуитивно понятного" интерфейса. Пусть лучше человек выберет нормальным способом одну запись, вторую запись, нажмет кнопку. По нажатию на кнопку делаешь всю работу (перекидываешь связи) и удаляешь одну из записей. Всем будет проще и понятнее. Имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 09:57 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лох - ты спас мне жизнь! На своем борту нарисуй красную звезду - как символ спасенного! В догонку - если DoCmd ОДИН раз сработало (причем, как ты правильно сказал - запись заблокировалась но из базы не удалилась и в этот момент потерялась синхронизация форм), ТО СО ВТОРОГО УДАЛЕНИЯ ВСЕ НАЧИНАЕТ РАБОТАТЬ ПРАВИЛЬНО И ФОРМЫ ОПЯТЬ СЦЕПЛЯЮТСЯ!!! Нуф-Нуф> Спасибо за код - наслаждаюсь поверх расположенной формочкой. Вот если бы еще аксесс всегда работал как надо :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 10:05 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лифчик, можешь упростить свой пример до безобразия Табличная форма. На событии Form_Delete делаешь DoCmd.OpenForm "ЛюбаяФорма" Записи перестают удаляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 10:07 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Лох - пардон, я забыл добавить, не знаю, какой вариант у тебя, но у себя в последних я поставил загрузку Progressbar на Form_Load CompanySearch, которую потом делаю видимой/невидимой. Поэтому - неправильно работает только ПЕРВОЕ удаление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 10:08 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Соображение чайника: если DoCmd - элемент ядра Jet, то м.б. данный топик плавно перетекает в "Долго ли Jet поживет?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 10:16 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
У меня вариант по последней ссылке (только что скачал) Загрузки ProgressBar'а там не обнаружил. Записи не удаляются. Никакие. Таблица блокируется целиком (все записи). Форма (моя собственная, см. предложение по упрощению примера), висящая на таблице, не блокирует записи (в конструкторе блокировка записей = отсутствует). Таблица блокируется даже на добавление новых записей . Я думал такое невозможно начиная с 97-го аксеса. Новую запись (по идее) можно добавить даже если все страницы с данными заблокированы (просто выделится новая страница). Возможно, дело в счетчике - для получения нового значения требуется заблокировать таблицу. З.Ы. DoCmd - класс аксеса. К Jet'у отношения не имеет. Jet и так сдохнет. С такими то глюками. Я как X-Prod Join начальнику показал - он тут же закричал "На х%й Jet!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 10:21 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
М.б. у Большого Билла объяснений потребовать? Послать ему тестовую базу?Просто не знаю, как в таких случаях поступают. И неужели на такой лежащий на поверхности глюк еще никто из лицензированных пользователей не выходил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 12:34 |
|
||
|
Табличная подчиненная теряет связь с главной - бывает ли такое у людей?
|
|||
|---|---|---|---|
|
#18+
Развитие темы. Глюк происходит именно при показе формы (Visible = True или автоматом при DoCmd.OpenForm) Поэтому у тебя и глючит только первое удаление - потом форма уже видима. Если же на Form_Delete сделать Код: plaintext то глючить будет через раз. Спрашивает - не спрашивает. То работает, то не работает. Прямо как милицейская мигалка. Еще прикол. Открываем форму. Пытаемся удалить запись. Вопросов не возникает, из формы запись исчезает, из таблицы - нет. Вспомогательная форма (прогресбар) открыта, больше глюков нет. Удаляем еще одну запись. На этот раз задается вопрос, как и должно быть. На вопрос отвечаем гордое "нет". Удаленная запись появляется обратно, а вместе с ней и первая запись Кажись майкрософт что-то наглючил с транзакциями в аксесовском скрытом workspace'е Ща буду пробовать в 97-м ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 14:25 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1680271]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 413ms |

| 0 / 0 |
