powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Bookmark для скрытой формы, перед ее отображением
20 сообщений из 20, страница 1 из 1
Bookmark для скрытой формы, перед ее отображением
    #32643586
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация:
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
Bookmark для скрытой формы, перед ее отображением
    #32643597
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправочка:При открытии Ф2, Ф1.Visible=False
Ага, а вопрос то забыл... :) если он вообще нужен...
Как при закрытии формы Ф2 сделать Reuery формы Ф1 и остаться на той же записи, из которой вызывалась форма Ф2
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32643599
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А не описана ли переменная bm случайно в двух местах?
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32643604
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил, нет...
Код: plaintext
Me.Bookmark = bm
вставил почти на все события Ф1, нихрена...
Отследить событие когда Visible формы меняет значение и там... а как и где...
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32643610
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, вот еще: к форме Ф1 применяется фильтр, сбрасывать его ну никак нельзя...
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32643623
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все ничего не понимаю...
Когда читал про бубны, лыбился идиот...
Дальше дословно, потому как пахнет шаманством...

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

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

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

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

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

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

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

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

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

Получиться тока в том случа еcли эта запись(а-1) существует. Но даже если существует то это не значит что это будет предидущая запись набора в форме, тк сортировка может быть не по полю PK.
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32644721
amel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может тебе вот это подойдет?
Application.Echo False
strISBN = Me!ISBNNumber
DoCmd.ShowAllRecords
Me!ISBNNumber.SetFocus
DoCmd.FindRecord strISBN
Application.Echo True
...
Рейтинг: 0 / 0
Bookmark для скрытой формы, перед ее отображением
    #32644963
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю что этот код значит, он работает, причем пришлось отключить 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
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Bookmark для скрытой формы, перед ее отображением
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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