|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Привет всем. Подскажите, как разобраться с одной непоняткой. Вроде бы, по логике, должно работать нормально - но не работает. Согласно приложенного примера: Есть стартовая форма FStart. На ней переключатель "да/нет". И кнопка открытия формы FStart2. Во второй форме есть поле [ДляТаба] для установки фокуса при открытии формы FStart2. В этой второй форме есть встроенная подформа, с тремя полями из таблицы. Задача: по кнопке "Открыть" из формы FStart открыть форму FStart2. При этом анализируется состояние переключателя: если выключен - открывается FStart2, курсор фокусом загоняется в поле "ДляТаба", поля в подформе Forms![FStart2]![пф_Таблица1].Form должны быть скрыты (Visible = False). Если выключатель включен - открывается FStart2, курсор фокусом загоняется в поле "ДляТаба", поля в подформе Forms![FStart2]![пф_Таблица1].Form должны быть отображены (Visible = True). В самой подформе все переходы по табу отключены, но: Если выключатель выключен, при попытке открыть вторую форму получаю сообщение Run-time error '2165' Невозможно сделать невидимым элемент управления, имеющий фокус ввода. Какой фокус ввода, если я переход по табам отключил и фокус насильно загоняю в поле "ДляТаба", где он и мигает, гад этакий? ;) Вроде бы и простая задача, но туплю и не смог нарыть решения :( В приложении - пример в формате Access 2003. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 00:57 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
vmag, спасибо большое! Решение от "наоборот", не выключать видимость, а включать по требованию. Вроде бы и те же яйца, но - работает, и это главное ) Ещё раз спасибо, а то почти сутки игрался, теперь могу дальше двигаться ) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 01:39 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Tarasios, попробуйте: на форме1, по нажатию кнопки записывать значение true/false в переменную уровня модуля,затем открывать форму2 и уже из неё на открытии,в зависимости от значения переменной управлять видимостью полей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 01:40 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Tarasios Решение от "наоборот", не выключать видимость, а включать по требованию. Да я сам нифига не понял, чисто комбинаторика... если на Visible = False ругается, а на Visible = True нет, то убрать Visible = False и все дела... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 01:54 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Вдогонку: Может не понял Вашей задумки,но возник вопрос-свободное поле "для табулятора" с успехом можно разместить в заголовке пф_таблица1-form2 становится "лишним посредником" и кажется Вы избавитесь от ""непонятки" ( 100% не утверждаю-не проверял) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 01:57 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
sdku, да, пример отличается от реальной реализации. В главной форме курсор ставится в поле одной из характеристик товара. Потому и не размещал дополнительное "пустое" поле в подчинённой форме. Хотя вру, размещал ) Отрабатывал и такой вариант. Пробовал его уменьшить до точки, спрятать "в сторону", под другое поле, сделать прозрачным с цветом текста под цвет формы - фиг там, Access старательно рисовал большой белый прямоугольник на месте "точки" и сдвигал содержимое подформы так, что бы это поле было на виду. Спасибо, заботливый ты мой Access, заррраза )) А в подчинённой -отображаются используемые, согласно настроек, цены (у товара есть 7 вариантов отпускных цен). То есть в настройках в "чеках" (логические поля) отмечаются нужные варианты цен (кому то все 7 нужно, например - для опта, кому то и двух за глаза, или даже одной). И уже в карточке товара работаем с выбранными ценами, не отвлекаясь не неиспользуемые поля (а там ведь по каждой цене - наценка в процентах, гривнях, прибыль, подписи к этим полям и т.д., т.е. экономия нагрузки на мозги ощутимая выходит. И вот если самая первая цена была не выбрана - и рождался такой карамболь :( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 02:42 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
vmag Tarasios Решение от "наоборот", не выключать видимость, а включать по требованию. Да я сам нифига не понял, чисто комбинаторика... если на Visible = False ругается, а на Visible = True нет, то убрать Visible = False и все дела... "Век живи - век учись", приговаривал Ржевский, перекладывая серебряный портсигар из штанов в нагрудный карман ;))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 02:44 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Прочтите справку по событиям Load and Open (когда они возникают и почему Вы их не обрабатываете,от слова никак-при нажатии кнопки они не возникают-только при выполнении DoCmd.OpenForm и в других случаях не имеющих отношения к вопросу) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 14:00 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Tarasios, по мне лучше обрабатывать ошибку, и в случае, если все поля нужно спрятать - прятать контейнер с формой. Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 15:42 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
alecko, спасибо за внимание к вопросу. Да, допускаю вариант, при котором клиент в настройках не выбрал ни одной продажной цены для работы. Тут я сделал так, что форма FStart2 (если согласно примера) тогда вообще не открывается, с показом соответствующего сообщения. Логика: нет ни одной выбранной цены - значит, нет смысла открывать окно обработки цен, наценок. Иначе в самой открытой форме пришлось бы на все кнопочки вешать контроль варианта "нет ни одной выбранной цены", с соответствующими сообщениями, лишняя морока. Думаю, что если программа молча отказывается что то делать, пусть это и правильно - клиент, особенно слабо подготовленный - будет в напрягах, что нежелательно. А так программа даёт ценное указание, типа - "старушка сюда не ходи, туда ходи" ) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 18:47 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Подумайте вот над чем: почему Вы обрабатываете события никак не относящиеся к форме пф_Таблица1,хотя надо именно в ней на Load или Open произвести некие действия ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 19:11 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Для переключателя значение по умолчанию 0 Хотя Вашу задумку не понимаю от слова совсем ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 19:31 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
sdku, а вы не вышли, случаем, на самое начало этой ветки? Именно на вариант, где вылетала ошибка? Повторюсь: всё работает чётко. До момента, если "не отображать" самое первое поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 20:10 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Может хватит уже точить грабли и выбирать костыли... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 21:56 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Прошу прощения-не тот файл опубликовал Перед тем как от чего-либо открещиваться-проверьте ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 01:25 |
|
Ошибка 2165
|
|||
---|---|---|---|
#18+
Тьфу ты опять не тот Это уже точно оно ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 01:28 |
|
|
start [/forum/topic.php?fid=45&msg=39993933&tid=1609960]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 273ms |
0 / 0 |