|
|
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Столкнулся с такой проблемой: Есть главная форма, в ней есть подчиненная в табличном виде. Т.к. в подчиненной форме много записей, то последние записи уходят за пределы окна и для их просмотра приходится пользоваться скроллом (а в особых случаях и Ctrl+End). Так вот, чтобы этого избежать я сделал передачу фокуса подчиненной форме и переход в ней на последнюю запись: Код: plaintext 1. 2. Но очень не хочется оставлять фокус на этой подчиненной форме, т.к. ее задача только показать их (кстати, если есть более разумный способ показать конец таблицы, то подскажите). Для редактирования записей и последующего просмотра нужен фокус на главной форме. Метод Me.Parent.SetFocus почему-то не срабатывает, а других я не знаю :) Проблема еще в том, что фокус нужно возвращать не какой-то определенный контрол, а на тот, который был последним до передачи фокуса подчиненной форме (замечу, что подчиненная форма создана "по-умолчанию", т.е. ни к каким событиям не привязана). Так вот, как мне изменить поле "Учетный номер", увидеть низ подчиненной формы и снова иметь фокус в поле "Учетный номер"? Буду рад, если покажете на пальцах P.S. А как сделать условное форматирование в табличной форме, но выделять не ячейку, а сразу строку по определенному условию? Это нужно, чтобы сразу видеть какие заказы оплачены, а какие нет. Стандартное средство условного форматирования "кнопочками" Access этого не позволяет (что странно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 18:49 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
dim c as control set c=me.activecontrol Me.Форма_заказы.SetFocus DoCmd.GoToRecord acActiveDataObject, , acLast c.SetFocus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 20:57 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
так не прокатит? Me.Форма_заказы.form.recordset.movelast ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 09:22 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
Отчет о применении советов: 1. Метод Саныча выглядит более универсальным (идея понятна), но к желаемому результату не приводит. Почему? Подробнее о том как я его проверял: В код текущей записи главной формы вставляю это ноу-хау. Запускаю форму. Перехожу в поле примечание, нажимаю Ctrl+F и ищу с любой частью поля, скажем, "груз" (таких записей 42 штуки). Поиск выполняется до первой записи, показывает ее, но курсор (или фокус, кстати, это одно и то же? а то мало ли) остается на последней записи подчиненной формы (там список всех заказов). После этого мне приходится вручную возвращаться в поле "Примечание" главной формы и нажимать "Далее" и так 42 раза :) 2. Метод Алексея работает! :) Т.е. в подчиненной форме показывается нужный низ выборки и при этом фокус остается на текущем контроле. Единственное, что меня смущает, это то, что где-то в процессе поиска чего-уже-не-помню-что (ну, правда не помню :), ЛП или ХТ строго _не_ рекомендовали использовать для этого Recordset. Может быть, кто-то объяснить разницу GoToRecord и Recordset.MoveLast? А заодно не подкинет идейку почему способ №1 не сработал? P.S. Забыл сказать что у меня Access 2003. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 09:59 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
после операций с рекордсетом нужно над флажками рисовать прозрачный контрол и на его клик делать me.recordset("данныефлажка") = not me.recordset("данныефлажка") иначе "придется сходить на микрософт" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 10:06 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 10:10 |
|
||
|
Как вернуть фокус из подчиненной формы предыдущему элементу главной формы?
|
|||
|---|---|---|---|
|
#18+
Спасибо! Хоть я и не понял ничегошеньки про флажки и его контролы, и вообще, "чё творится то?!". А второй (последний) вариант вызывает просто ужасное количество ошибок, в результате чего, я от него отказался. Сначала не понравилось, что при открытии формы фокус переходит на control "список". Потом ошибка выскочила при работе с полем со списком, ругнулся на то, что невозможен переход к указанной записи (выделение стояло на: Me.Bookmark = rs.Bookmark). И, наконец, записи в форме перестали листаться скроллом. Короче, полный бедлам That's all folks... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 16:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32448458&tid=1675941]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 404ms |

| 0 / 0 |
