Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2010, 22:04   #1
koljan_ded
 
Регистрация: 09.11.2009
Сообщений: 5
По умолчанию Периодически неправильно работает TAB на форме

Здравствуйте! Происходит непонятная штука. Периодически на вложенной форме не работает переключение между контролами с помощью ТАБ. Т.е. например, один раз зайдешь, все переходит правильно, а иногда зайдешь, забьешь значения 1-2 контролов, нажимешь ТАБ и вместо перехода он проставляет в текстбоксе символ табуляции, чего мне совсем не хочется. Отлавливать нажатие таба в каждом текстбоксе слишком длинно. Есть какие-нибудь соображения?
Вложения
Тип файла: rar тест.rar (199.3 Кб, 12 просмотров)
koljan_ded вне форума Ответить с цитированием
Старый 20.01.2010, 07:47   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

http://www.programmersforum.ru/showp...7&postcount=10
http://www.programmersforum.ru/showp...1&postcount=12

Ну и проставьте вручную значения свойства TabIndex (в нужном порядке, начиная с нуля) для всех полей на форме.

Последний раз редактировалось EducatedFool; 20.01.2010 в 07:51.
EducatedFool вне форума Ответить с цитированием
Старый 20.01.2010, 11:52   #3
koljan_ded
 
Регистрация: 09.11.2009
Сообщений: 5
По умолчанию

Все предложенные варианты уже были сделаны. Форму я выложил, посмотрите пожалуйста
koljan_ded вне форума Ответить с цитированием
Старый 20.01.2010, 12:18   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Форму я выложил
Форма-то большая... Посмотрел - вроде работает.

Опишите последовательность действий, которая приводит к появлению в поле символа табуляции.
(только подробно - на какой вкладке формы, какие поля заполняем, что нажимаем)
EducatedFool вне форума Ответить с цитированием
Старый 20.01.2010, 20:27   #5
koljan_ded
 
Регистрация: 09.11.2009
Сообщений: 5
По умолчанию

Заполнять всегда начинаю с первых полей. Попровал вводить одно и тоже - 121212 везде, получилось, что на любой вкладке иногда таб работает как надо, иногда уже начиная с 1,2,3-его поля таб не работает. Вообще не понятно... На всякий вылаживаю полностью книгу со всеми модулями и пр., может дело не в самой форме.
Вложения
Тип файла: rar Лист Microsoft Excel1.rar (268.4 Кб, 16 просмотров)
koljan_ded вне форума Ответить с цитированием
Старый 24.01.2010, 20:28   #6
koljan_ded
 
Регистрация: 09.11.2009
Сообщений: 5
По умолчанию

Так никто и не подскажет? Хоть напишите, что бесполезно ждать, буду отлавливать нажатие TAB...
koljan_ded вне форума Ответить с цитированием
Старый 24.01.2010, 20:58   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Сколько ни проверял - Tab работает нормально для всех полей.
Ни разу ни в одно поле не был введён символ табуляции.

Причин такого поведения Excel в Вашем случае не знаю.
Сам сталкивался раньше с этим (Office 2002, 2003 sp1) - но это было лет 5 назад.
С тех пор, сколько бы форм я ни делал (Office 2003 sp3) - ни разу не наблюдал подобного эффекта.

PS: Ваша программа время от времени вылетает с ошибкой при попытке скачать обновление. (Этого не говоря уже про вылетающие сообщения о небезопасности используемых контролов)
Я, конечно, знаю, как с этим бороться, но, учитывая количество Ваших филиалов, имеет смысл кое-что изменить в коде во избежание проблем:

1) (Самое важное) Избавиться от нестандартных контролов - в данном проекте они абсолютно не нужны.
К примеру, для ввода дат есть такое решение.

2) Переделать код скачивания обновлений - тут не надо никаких отдельных контролов - достаточно одной функции DownLoadFile

3) Использовать классы вместо сотен строк кода для отлова ошибок в текстбоксах. Пример - здесь.

Цитата:
буду отлавливать нажатие TAB...
Конечно, это выход, но... учитывая количество полей на форме, я на это не стал бы тратить время.
Возможно (хотя и маловероятно), что проблема возникает только при наличии нестандартных контролов - когда я сталкивался с подобным, я как раз активно их использовал (не знал ещё тогда про кучу сложностей с их установкой на разных компах), а сейчас подобные штуки (типа MSMASK) вообще не использую - и, соответственно, проблем нет.

Последний раз редактировалось EducatedFool; 24.01.2010 в 21:02.
EducatedFool вне форума Ответить с цитированием
Старый 24.01.2010, 21:12   #8
koljan_ded
 
Регистрация: 09.11.2009
Сообщений: 5
По умолчанию

Спасибо большое за советы, буду пробовать.
koljan_ded вне форума Ответить с цитированием
Старый 19.03.2014, 18:41   #9
konstantin1990
Пользователь
 
Регистрация: 20.07.2013
Сообщений: 63
По умолчанию

Точно такая же фигня! Не решили проблему?
konstantin1990 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неправильно работает WinExec? TwiX Общие вопросы Delphi 2 26.11.2009 21:07
Неправильно работает поиск Власов А.С. БД в Delphi 5 12.10.2009 05:59
задача работает неправильно, подскажите! IvanIvan Помощь студентам 1 26.05.2008 22:21
Скрипт неправильно работает aleksa76 JavaScript, Ajax 4 21.05.2008 17:47
Запрос неправильно работает... yulia БД в Delphi 0 27.05.2007 20:41