Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Bookmark для скрытой формы, перед ее отображением / 20 сообщений из 20, страница 1 из 1
11.08.2004, 00:00:23
    #32643586
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Ситуация:
bm - стринг, публик

Sub _Click() 'в формеФ1
bm = Me.Bookmark 'форма Ф1
Открываю другую форму. (Ф2)
End Sub
....
Sub _Click() 'в формеФ2
Docmd.Close
Forms!Ф1.Requery 'тута все в прядке...
Forms!Ф1.Bookmark=bm ' а вот тута мордой об стол...
End Sub

Получается два варианта событий:
1. Ошибка :3159- Недопустимая закладка
2. Все нормально, только запись, вместо позиционирования улетает кудато далеко, а позиционируется предыдущая...

Кто знает помогите, плиз...
...
Рейтинг: 0 / 0
11.08.2004, 00:28:31
    #32643597
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Поправочка:При открытии Ф2, Ф1.Visible=False
Ага, а вопрос то забыл... :) если он вообще нужен...
Как при закрытии формы Ф2 сделать Reuery формы Ф1 и остаться на той же записи, из которой вызывалась форма Ф2
...
Рейтинг: 0 / 0
11.08.2004, 00:30:15
    #32643599
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
А не описана ли переменная bm случайно в двух местах?
...
Рейтинг: 0 / 0
11.08.2004, 00:49:46
    #32643604
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Проверил, нет...
Код: plaintext
Me.Bookmark = bm
вставил почти на все события Ф1, нихрена...
Отследить событие когда Visible формы меняет значение и там... а как и где...
...
Рейтинг: 0 / 0
11.08.2004, 01:14:41
    #32643610
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Да, вот еще: к форме Ф1 применяется фильтр, сбрасывать его ну никак нельзя...
...
Рейтинг: 0 / 0
11.08.2004, 02:05:35
    #32643623
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Все ничего не понимаю...
Когда читал про бубны, лыбился идиот...
Дальше дословно, потому как пахнет шаманством...

Все по прежнему, и код тот же, и все то же...
Добавил на форму Ф1 кнопку К3 с кодом:
Код: plaintext
Me.Bookmark = bm
В Ф2 строку с ....Bookmark = bm затер.

Из Ф1 (с первой записи ушел на другую, не первую) кнопкой К1 открываю Ф2, колесом мыша перехожу на добавление записи, не добавляю, перехожу обратно.
Из Ф2 кнопкой К2 закрываю Ф2, делаю Requery Ф1, Visible Ф1.
Ф1 открылась, запись 1(первая, я запомнил что там было.. :)

Жму на К3 работает, и работает как надо!!!
Позиционируется на той записи откуда вызывал Ф2.

Но работает один раз. Базу приходится закрыть, открыть для повторения эффекта...

Ничего не понимай...
...
Рейтинг: 0 / 0
11.08.2004, 02:12:05
    #32643627
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
При наведении на bm
Код: plaintext
1.
bm="?□"
Что бы это значило?
...
Рейтинг: 0 / 0
11.08.2004, 02:15:51
    #32643629
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
madgForms!Ф1. Requery 'тута все в прядке...
Forms!Ф1.Bookmark=bm ' а вот тута мордой об стол...
Да тут не то что бы мордой об стол, а, я бы даже сказал, хуем по лбу.
После реквери у тебя получается полностью новый набор данных , в котором, само собой, никакие букмарки из прошлой жизни не прокатывают.
В таком виде - не лечится.

Лечится запоминанием значения первичного ключа и поиском по этому значению - после реквери.
...
Рейтинг: 0 / 0
11.08.2004, 10:53:14
    #32643985
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Специально для Лоха:
/topic/112176
Так что, наверно, этот финт с Requery иногда прокатывает, а иногда нет. Интересно понять, от чего это зависит.
...
Рейтинг: 0 / 0
11.08.2004, 12:04:08
    #32644224
lsnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Не совсем вник что именно делается но если попробовать
Forms!Ф1.Requery
Forms!Ф1.Bookmark=bm

вставить в
Sub _Click() 'в формеФ1
bm = Me.Bookmark 'форма Ф1
Открываю другую форму. (Ф2)
СЮДА
End Sub
И случаем просто Me.refresh вместо всего этого не поможет?
...
Рейтинг: 0 / 0
11.08.2004, 12:09:03
    #32644242
lsnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
2 Владимир Саныч
Думаю что глюки будут наблюдаться в случае если набор данных при Me.requery изменился
...
Рейтинг: 0 / 0
11.08.2004, 12:17:12
    #32644256
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Отказать! Если рекордсет меняется - поиск по первичному клюту и точка.
...
Рейтинг: 0 / 0
11.08.2004, 12:38:53
    #32644336
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
RE:Alexey Sh
Категоричный молодой человек!
Покажите как:
Первичный ключ: [Код]
Значение: 800 - ну например...

RE: ВС
Создал дубль базы, оставил только нужные две формы и три таблицы.
В таблицах оставил три записи, потом руками добавил еще одну.
Присваиваю значение bm в первой форме, Reqery и "восстановление" bm во второй.

Только без мата! - работает, или я чего не понимаю?

ЗЫ
ЛП грузчиком не работали? :)
...
Рейтинг: 0 / 0
11.08.2004, 12:41:23
    #32644341
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Забыл прицепить...
...
Рейтинг: 0 / 0
11.08.2004, 13:19:42
    #32644465
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
В одном отказали :(
А варианта нету :(
Одни :( :( :(
...
Рейтинг: 0 / 0
11.08.2004, 13:41:37
    #32644528
lsnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Ну примерно так:
В начале запоминаешь свой PK (например в переменную) a=Me!PK
потом открывашь вторую форму...закрываешь, и после реквери примерно следующее:
Set rst=Me.RecordsetClone
потом с помощью seek ищешь свой PK в этом наборе
ну и потом
Me.Bookmark=rst.Bookmark
Вроде так
Зы: Если ты конечно не убьешь запись на которой стоял до начала все этого :)
...
Рейтинг: 0 / 0
11.08.2004, 13:49:22
    #32644554
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
lsnkНу примерно так:
Зы: Если ты конечно не убьешь запись на которой стоял до начала все этого :)

Пробую... счас поиском здеся по seek ну и тд

А если запись убью в Ф2 на обработку Del поставлю переменной х=1 (изначально х=0)
а, в Ф1 перед Set rst=Me.RecordsetClone проверю х, если >0, то
Ваше:
а=а-1

Интересно, получится?
...
Рейтинг: 0 / 0
11.08.2004, 13:57:37
    #32644581
lsnk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
madg
а=а-1
Интересно, получится?

Получиться тока в том случа еcли эта запись(а-1) существует. Но даже если существует то это не значит что это будет предидущая запись набора в форме, тк сортировка может быть не по полю PK.
...
Рейтинг: 0 / 0
11.08.2004, 14:40:01
    #32644721
amel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Может тебе вот это подойдет?
Application.Echo False
strISBN = Me!ISBNNumber
DoCmd.ShowAllRecords
Me!ISBNNumber.SetFocus
DoCmd.FindRecord strISBN
Application.Echo True
...
Рейтинг: 0 / 0
11.08.2004, 15:54:58
    #32644963
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bookmark для скрытой формы, перед ее отображением
Не знаю что этот код значит, он работает, причем пришлось отключить Requery Ф1, т.к. записи мелькали...
И немного подкорректировал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Application.Echo False
DoCmd.ShowAllRecords
 '+++++++++++++ 
 'после предыдущей команды надо восстановить фильтр 
Forms!Data.Filter = Filtr  'Filtr-переменная публик, вариант, значение задается в Ф1 
Forms!Data.FilterOn = True
"+++++++++++++
Forms!Data.Код.SetFocus
DoCmd.FindRecord bm1  ' переменная в которой в Ф1 запомнил значение поля Код 
Application.Echo True

А как работает вся конструкция есть загадка... особенно вот в этом месте:
Код: plaintext
1.
DoCmd.ShowAllRecords
К этому моменту форма Ф2 у меня точно закрыта.
Каким местом Акс определяет где показать все записи...
Хотя к этому моменту управление передается форме Ф1...

Одним словом, Кот Матроскин

Спасибо люди!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Bookmark для скрытой формы, перед ее отображением / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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