Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хочу знать имя контрола субформы. / 19 сообщений из 19, страница 1 из 1
13.11.2003, 17:53
    #32323501
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Субформа изменяемая. Имена полей = имена пользователей из определенной таблицы. При изменении пользователей меняется набор контролов в субформе (программно по кнопке). Следовательно предыдущий совет Саныча запоминать имя контрола в глобальной переменной при получении им фокуса, боюсь, не реализуем практически.
Зафигачил на главную текстбокс. В свойствах ("данные") вогнал
=Forms("fmCO").[fmSubCO].[Form].[activeControl].[Name]
Замечательно работает при переходе на другие записи и напрочь отказывается, если переходишь в другое поле этой же. Конечно, можно сказать юзеру: перейди в том же столбце на др. запись - потом вернись, - но как-то "не фонтан".

Пробовал и в программе
Screen.PreviousControl.Form.ActiveControl.Name - работает. Но если перед необходимым действием не влезать в какой-нть контрол главной формы - кричит, что ошибка мол!

Вот и думаю думу. Можно ли без особых извратов?
...
Рейтинг: 0 / 0
13.11.2003, 18:03
    #32323513
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Сорри, мой предыдущий совет - это где? Вроде первый пост топика...
...
Рейтинг: 0 / 0
13.11.2003, 18:09
    #32323527
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Я не очень понял, зачем фигачить тексбокс. Текстбоксу такую:
Me!Внедренный.[Form].[ActiveControl].[Name]
строчку мне присвоить не удалось. Но в коде главной формы она работает.Может, я не понял, че надо?
...
Рейтинг: 0 / 0
13.11.2003, 18:10
    #32323529
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Саныч писал:Сорри, мой предыдущий совет - это где? Вроде первый пост топика...
"Это было давно и... неправда!". На самом деле все правда, а совет был где-то в марте-апреле. Не помню точно. Но я его использовал на всю катушку! :о)
...
Рейтинг: 0 / 0
13.11.2003, 18:11
    #32323532
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Знать бы, о чем речь шла... Может, меня неправильно поняли, а я и проверить не могу.
...
Рейтинг: 0 / 0
13.11.2003, 18:13
    #32323537
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
автор писал:. Текстбоксу такую:
Me!Внедренный.[Form].[ActiveControl].[Name]
строчку мне присвоить не удалось.
Попробуй как я написал не ме!, а полное имя формы использовать.

Вообще-то цель использовать имя контрола, как условие отбора записей из таблы. Для этого и надо.
...
Рейтинг: 0 / 0
13.11.2003, 18:13
    #32323539
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Код: plaintext
1.
2.
3.
4.
Врач написал письмо своему другу с приглашением на рыбалку.
Друг не пришел. Через некоторое время встречаются:
- А ты мое письмо получил?
- Конечно. Я отнес его в аптеку, мне по нему сделали лекарство,
и теперь я себя чувствую гораздо лучше.

Витал, ты уверен, что не отнес в аптеку мое приглашение на рыбалку?
...
Рейтинг: 0 / 0
13.11.2003, 18:16
    #32323547
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Саныч писал:Знать бы, о чем речь шла... Может, меня неправильно поняли, а я и проверить не могу.

Тогда требовалось открывать справочник и возвращать выбранное значение в то поле формы (субформы, субсубформы...) которое было активным в момент вызова справочника... Сам уже точных подробностей не помню. Но использование глобальной переменной помогло. Полей этих на разных формах было, в принципе, не так уж и много. На событие фокус можнро было присваивать переменной имя контрола без проблем. Сейчас другое.
...
Рейтинг: 0 / 0
13.11.2003, 18:19
    #32323553
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
А справочник открывался из события того же поля? Тогда почему бы не брать имя этого поля в том же событии?
...
Рейтинг: 0 / 0
13.11.2003, 18:19
    #32323554
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
При прыжках между контролами подчиненной формы надо чтобы где-то менялся набор записей? Ну и какие проблемы? Напиши обработчики внутри формы, где прыгаешь.
...
Рейтинг: 0 / 0
13.11.2003, 18:21
    #32323556
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Напиши обработчики кодом! Это будет очень в стиле твоего приложения:-)
...
Рейтинг: 0 / 0
14.11.2003, 10:14
    #32324002
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Саныч писал:А справочник открывался из события того же поля? Тогда почему бы не брать имя этого поля в том же событии?\r
\r
Владимир Саныч! Спасибо за анекдот! Класс!! Извини ради Бога, что запутал и вверг в сомнения! Ты там тоже был, но совет был Сергея Гаврилова. Сергей! Извини, что забыл благодетеля!!! Каюсь и рыдаю. :о((( Буду его еще раз перечитывать...\r
\r
\r
Shark писал:При прыжках между контролами подчиненной формы надо чтобы где-то менялся набор записей? Ну и какие проблемы? Напиши обработчики внутри формы, где прыгаешь.\r
\r
Плохо представляю о чем речь! Если отлавливать все возможные способы перехода к следующему контролу, то настолько в этой ситуации запариваться не охота.
...
Рейтинг: 0 / 0
14.11.2003, 10:36
    #32324036
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
а можно поконкретнее,
ЧТО и КОГДА надо получить?
...
Рейтинг: 0 / 0
14.11.2003, 11:00
    #32324085
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
автор писал:ЧТО и КОГДА надо получить?
Пользователь открывает форму (не связанныую с источником данных). В ней - подчиненная табличная, которая содержит итоги - 1-й столбец № затрат, а заголовок имя затратчика. Пользователь щелкает ячейку, которая его заинтересовала, затем кнопку на основной форме "Показать детали" и получает список всех затрат, сформировавших этот итог (соответствующих позиции и имени затратчика).
...
Рейтинг: 0 / 0
14.11.2003, 15:56
    #32324746
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Что такое все возможные способы? OnGotFocus и OnEnter разве срабатывают не всегда?
...
Рейтинг: 0 / 0
14.11.2003, 16:11
    #32324786
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Может, кнопку положить не на форму, а на панель инструментов? Тогда у тебя фокус останется там где надо.
...
Рейтинг: 0 / 0
14.11.2003, 18:11
    #32325026
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Что такое все возможные способы?
Если заранее не известны контролы (добавляются и удаляются программно с неизвестной периодичностью), то и обработку их событий разве что при создании в модуль формы вгонять придется (я так понимаю).

Пока не стал извращаться (отображать пользователю что он выбрал перед тем как переключиться на что-то другое), решил просто - выбрал, не зевай, дави на кнопку детализации, а там в условия запроса и полетит
Me.SubForm.ActiveControl.Name

При тестировании проги, если вылезут уши (большие). Буду думать!

Главное, что я понял, и за что спасибо большущее, так это то, что простого пути, который я не заметил или не знал не существует. А сложным я всегда успею.
...
Рейтинг: 0 / 0
14.11.2003, 18:14
    #32325031
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Пардон! Про все возможные способы не ответил. Это предполагается отлавливать какая клава была нажата и куда юзер в форме перешел влево или вправо или вниз или вверх (какое поле получило фокус).
...
Рейтинг: 0 / 0
14.11.2003, 18:59
    #32325085
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу знать имя контрола субформы.
Обработку событий можно не в модуль, а прямо в значение свойства. Туда можно запихивать 3 варианта:

1. [Event Procedure] - неудобно, потому что текст обработчика надо писать в модуль.
2. Название макро (или по-русски вроде говорят макроса) - неудобно, потому что негде указывать имя контрола.
3. Обращение к функции - это то, что нам нужно. Имя контрола передаем через параметры (и заполнение значения свойства занимает одну строчку в программе), а саму функцию пишем заранее один раз.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хочу знать имя контрола субформы. / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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