|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Есть форма с несколькими textbox. Перемешаюсь по ним клавишей Tab. Нужно, чтобы при появлении фокуса на TextBox3 открывался календарь. Для этого использую событие Enter: Код: vbnet 1. 2. 3.
Запускаю форму, перемещаюсь по Tab TextBox1, TextBox2, TextBox3. На TextBox3 выскакивает календарь. Всё нормально. Ставлю курсор на TextBox2, нажимаю снова Tab, курсор переходит на TextBox3, но календарь уже не появляется. Почему Enter срабатывает только 1 раз? Как сделать, чтобы при каждом переходе к TextBox3 появлялся календарь? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 09:48 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
DatePer это TextBox3, не поправил в коде ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 09:48 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНужно, чтобы при появлении фокуса на TextBox3 открывался календарь. Для этого использую событие Enter: А тебе не кажется, что если "при появлении фокуса", то надо использовать TextBox_GotFocus? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 10:05 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
AkinaА тебе не кажется, что если "при появлении фокуса", то надо использовать TextBox_GotFocus? Из справки: События Enter, Exit Office 2013 and later .... Замечания События Enter и Exit подобны событиям GotFocus (получение фокуса) и LostFocus (потеря фокуса) в Visual Basic. В отличии от событий GotFocus и LostFocus, события Enter и Exit не происходят тогда, когда форма получает или теряет фокус. + в VBA у меня нет таких событий в списке выбора события. + пробовал в самом коде писать GotFocus в виде TextBox_GotFocus() - не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 10:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
См. название темы. VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 10:27 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailИз справки: События Enter, Exit Office 2013 and later Что за приложение? Какая версия? (в 2003 Word, Excel) эти события присутствуют ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 11:30 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailСм. название темы. VBA Лучше см. название раздела: Visual Basic . А с VBA надо было идти в раздел Microsoft Office. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 11:38 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmail, выложи тестовый пример - ответ будет гораздо быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 11:44 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, пример ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:03 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmail, файл rar не прикрепляется ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:04 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Вроде файл с примером прикрепился со второй попытки. Извинтиляюсь, что не в ту тему написал, просто увидел, что есть уже такие темы VBA и бла-бла-бла, вот и тоже создал свою в этой ветке. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:15 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
О боже, дикий треш и ужас! Вы что-нибудь слышали про циклы, про подпрограммы, функции? Если потребуется обработать сто значений, вы сто раз напишете один и тот же код? Я не нашел там никакой обработки события Enter. Уберите все лишнее, сделайте файл, из которого понятно, что именно не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Переделал. Прямо вначале кода вариант с Enter, который срабатывает только один раз. В конце кода вариант с MousUp, который срабатывает каждый раз. По Вашему замечанию: я бы с удовольствием упростил код, если бы знал как это делать. Спросить не у кого, а сам я только учусь. Этот-то код собирал не одну неделю, чтобы хоть как-то работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:37 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Занимательный прикол. Если тектбокс не располагать в фрейме, то все нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:52 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProЗанимательный прикол. Если тектбокс не располагать в фрейме, то все нормально. Без фрейма работает. Я могу убрать фреймы, но как тогда нарисовать таблицу стандартными средствами, не подключая никаких дополнительных контролов? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:28 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Попробовал событие повесить на фрейм - работает как надо! Можно ничего не переделывать, просто вешать Enter на фрейм, а не на текстбокс. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:32 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Спасибо!!! Кстати, может подскажете как код упростить? Как он правильно пишется? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:33 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailБез фрейма работает. Я могу убрать фреймы, но как тогда нарисовать таблицу стандартными средствами, не подключая никаких дополнительных контролов?Я не понимаю, в чем проблема. Для чего там вообще используются фреймы?ypmailКстати, может подскажете как код упростить? Как он правильно пишется?Первое правило в похожем случае - забыть про копипасту. Любой повторяющийся алгоритм должен быть написан один раз и оформлен в виде процедуры, класса и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:44 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProЯ не понимаю, в чем проблема. Для чего там вообще используются фреймы? Чтобы получилась таблица :-) Shocker.ProПервое правило в похожем случае - забыть про копипасту. Любой повторяющийся алгоритм должен быть написан один раз и оформлен в виде процедуры, класса и т.п. Я пытался, но ничего не получилось, мне бы примерчик какой-нибудь посмотреть. На примере какого-нибуд куска моего кода, чтобы понять как это делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 19:54 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailShocker.ProЯ не понимаю, в чем проблема. Для чего там вообще используются фреймы? Чтобы получилась таблица :-)Ответ непонятен. Что мешает составить ее просто из текстбоксов? ypmailShocker.ProПервое правило в похожем случае - забыть про копипасту. Любой повторяющийся алгоритм должен быть написан один раз и оформлен в виде процедуры, класса и т.п. Я пытался, но ничего не получилось, мне бы примерчик какой-нибудь посмотреть. На примере какого-нибуд куска моего кода, чтобы понять как это делается.Учиться нужно по учебникам, а не по примерам. Пример не даст системных знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 20:19 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailЯ пытался, но ничего не получилосьНе получилось напечатать не одной буквы? Не получилось включить компьютер? Это не подход. Не получилось что-то конкретное - это и можно спросить. На конкретный вопрос будет конкретный ответ. А на беспредметные вопросы будет ответ - читай учебник. ) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 20:22 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Proypmailпропущено... Чтобы получилась таблица :-)Ответ непонятен. Что мешает составить ее просто из текстбоксов? Точно такую же таблицу из текстбоксов не сделаешь в плане оформления. Shocker.Proypmailпропущено... Я пытался, но ничего не получилось, мне бы примерчик какой-нибудь посмотреть. На примере какого-нибуд куска моего кода, чтобы понять как это делается.Учиться нужно по учебникам, а не по примерам. Пример не даст системных знаний. Другого ответа и не ожидал.По непойми каким языком с кучей непонятных терминов написанным учебникам через пару лет точно научусь, а пока как могу так и делаю, пусть хоть так работает, чем вообще никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 09:32 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailТочно такую же таблицу из текстбоксов не сделаешь в плане оформления.Вот это мне и непонятно. У текстбокса точно такие же настройки границы, как и у фрейма. Может что-то не понимаю, может на каком-нить Win10 и каком-нить Офисе2017 это выглядит иначе... На скриншоте две ячейки выполнены с помощью текстбоксов без фреймов. Найдете какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 12:37 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailДругого ответа и не ожидал.По непойми каким языком с кучей непонятных терминов написанным учебникам через пару лет точно научусь, а пока как могу так и делаю, пусть хоть так работает, чем вообще никак.Что вам мешает выбрать учебник, написанный понятным языком? Не видел книжного магазина, где не дают ознакомиться с изданием перед покупкой - хоть часами сиди изучай. Согласитесь, пересказывать учебник в топике форума - глупо. Хотите, можно курсы организовать, мастер-класс... Но это не бесплатно же. Здесь мы все-таки отвечаем на конкретные вопросы, а не на "научите меня программировать". И еще. Вы боитесь потратить время на чтение учебника, но я вас уверяю, чем дольше вы будете писать плохой код, тем больше он будет тянуть вас ко дну, и в конечном итоге вы потратите больше времени, чем на то, чтобы изначально разобраться и написать хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 12:44 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
По ячейкам: 3 и 5, угадал? Попробую, правда заголовки колонок наверное придется оставить в Label внутри фреймов, иначе придётся как-то делать вывод текста по умолчанию в textbox с форматированием, пока для меня это сложно. По науке: я и сам понимаю разницу между "подскажи" и "сделай за меня". Я также сторонник компактных кодов, но пока для меня это сложно, разберусь со временем. Я с VBA знаком от силы недели 2-3, и то методом научного втыка. В своём коде пробовал один раз объявлять переменную, а потом присваивать закладкам значения (Dim rng), но код перестал работать. Поэтому я вернулся к копипасту и каждый раз объявлял переменную для вставки каждой закладки. Вот и получилось: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Как правильно записать, чтобы объявить один раз переменную и потом несколько раз использовать не нашел, поэтому пока оставил так. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 14:11 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Короче темный лес для меня пока Ваши красоты в кодах. Придет время - научусь, все программисты тут тоже не родились такими и не сразу стали писать красивые коды. На детей же не орут, когда они только начинают ходить и у них это плохо получается. Да криво, зато работает, другие среднестатистические и специально не обученные и этого не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 14:17 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailПо ячейкам: 3 и 5, угадал?Не угадал, ячейки 1 и 2. А 3 и 5 - это просто фреймы без текстбоксов (лень их было туда возвращать, а так как у фреймов установлен прозрачный фон, сквозь него просвечивает фон формы, поэтому они чуть чуть другого цвета) ypmailправда заголовки колонок наверное придется оставить в Label внутри фреймовопять за рыбу деньги. У меток есть все те же самые свойства обрамления, нет никакой необходимости во фреймах, если речь идет только об оформлении ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 14:29 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailКак правильно записать, чтобы объявить один раз переменную и потом несколько раз использовать не нашел, поэтому пока оставил так. Примерно так может выглядеть ваш код в цикле Код: vbnet 1.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А вообще, по хорошему, то, что в самом документе несколько раз повторяется одно и то же - тоже не гуд, должно быть один раз и размножаться кодом. А количество повторений должно быть забито глобальной константой ТОЛЬКО в одном месте для всех применений. А то, если потребуется внести косметические изменения в дизайн ярлыка, то придется это делать восемь раз. Но к этому вы уже со временем придете. ypmailНа детей же не орут, когда они только начинают ходитьПростите, если вы восприняли критику в свой адрес именно так, ни в коем разе не хотел вас обидеть, только простимулировать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 14:43 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, По Вашему способу код не становится короче, т.к. в нём только программно определяются имена полей, всё остальное приходится также по несколько раз прописывать. От переменной rng избавиться не получается, т.к. она постоянно принимает новые значения, её приходится прописывать для каждого поля. Снова копипаст получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2016, 11:29 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
вы предложили фрагмент, я показал как его можно сократить в 8 раз. если другой фрагмент не получается сократить аналогично, ну выложите его и скажите, в чем проблема... зачем нужно избавляться от rng - не понял вообще... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2016, 23:06 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Учусь, пыхтю, туплю, извините за глупые вопросы Тут строка Код: vbnet 1.
повторяется, нельзя её как в математике вынести за скобки? Я имею ввиду, как-то избежать повторов. Вот тут Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
мне кажется тоже надо сократить, нашел пример, там какие-то Class Modul используют, прописывают коды в разных местах и в class modul и в коде формы и просто в Modul1. пока пытаюсь разобраться в этом темном лесу и применить к своему примеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:04 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
У них в примере работает, а у меня выдаёт ошибку на Код: vbnet 1.
Пробовал эту строчку в своем Module1 - не работает в отдельном модуле - не работает вообще удалил - начинает ругаться на кусок в UserForm1 Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Ну естесственно, ведь aoTxtBxes не объявлена нигде, если эту строчку вообще удаляю. И как у них в примере ругается и без Код: vbnet 1.
дальше код не работает. На кусок в Class1 пока не ругается, т.к. первую строчку еще не поборол Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Вроде начал разбираться с модуль классами. Помимо этой строчки надо было прописать Sub Show_Form(). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:53 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
В результате использования модуль класса код сократился до Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Спасибо за замечание по поводу громоздкости кода и подсказки! Буду дальше что-нибудь упрощать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 10:02 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Не работает из-за этих First и Last. Я в сообщении выше просто второй строкой прописал для Last, но так не работает. Пробовал так: Код: vbnet 1.
Как быть с разными именами текстбоксов? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 10:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmail Код: vbnet 1.
повторяется, нельзя её как в математике вынести за скобки?ну тут она играет роль вспомогательной переменной, а работаете вы с парными закладками на каждый объект, пока нет смысла наверное, внутри цикла находится законченный алгоритм. ypmail Код: vbnet 1. 2. 3.
мне кажется тоже надо сократить,это достаточно бессмысленный код, он не дает нажать в текстбоксе нецифровые кнопки, но никак не защищает от вставки из буфера, перетаскивания текста и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 11:25 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmail Код: vbnet 1.
Как быть с разными именами текстбоксов?никак, либо делать сквозную нумерацию текстбоксов, либо вернуться к своему предыдущему варианту. Переупрощать, конечно не надо тоже. Однако тут тоже есть косяк: Код: vbnet 1. 2. 3. 4.
У вас вторая строка нивелирует действие первой. То есть вы назначили aoTxtBxes(i).oTxtBx одно значение, а потом сразу затерли его другим значением. Так что работать у вас будут только Last-ы. Раз у вас 16 текстбоксов то..... НЕТ вспомните, я говорил, что лучше, чтобы число 8 было объявлено в ОДНОМ месте в виде константы и нигде более не использовалось в виде числа. Так что у вас N строк в таблице и N*2 текстбоксов, следовательно и массив должен быть не 1 To N, а 1 To N*2 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 11:32 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Proypmail Код: vbnet 1. 2. 3.
мне кажется тоже надо сократить,это достаточно бессмысленный код, он не дает нажать в текстбоксе нецифровые кнопки, но никак не защищает от вставки из буфера, перетаскивания текста и т.п. Как на счёт такого варианта?: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Вроде не позволяет вводить ничего кроме цифр и вставка из буфера не работает. Очень уж не хочется сквозную нумерацию вместо NumberFirst1 (Last и т.д.), сложнее будет в коде ориентироваться (по крайней мере мне), но раз других путей нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 13:52 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailВроде не позволяет вводить ничего кроме цифр и вставка из буфера не работает.так лучше ypmailОчень уж не хочется сквозную нумерацию вместо NumberFirst1 (Last и т.д.), сложнее будет в коде ориентироваться (по крайней мере мне), но раз других путей нет...почему нет? Я бы как раз оставил First и Last - код будет нагляднее, что тоже важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 13:54 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProЯ бы как раз оставил First и Last - код будет нагляднее, что тоже важно. Тогда у меня опять копипаст получается. Этот кусок кода надо копировать для всех First, потом для всех Last. Опять ничего не получается с компактностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:11 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Нет, я же писал выше Shocker.Pro Код: vbnet 1. 2. 3. 4.
Это вполне нормальный подход, только ошибка в том, что массив должен состоять из 16 элементов, а не из 8 и заполняться соответственно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
В классе этот кусок вообще не хочет работать (даже i на j поменял) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Думал это загоню в модуль класс и этот код будет проверяться на каждом textbox. Не тут-то было. На форме с конкретным именем текстбокса работает, а в модуль классе нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:26 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProНет, я же писал выше Shocker.Pro Код: vbnet 1. 2. 3. 4.
Это вполне нормальный подход, только ошибка в том, что массив должен состоять из 16 элементов, а не из 8 и заполняться соответственно Я пробовал везде 8 на 16 менять - не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:27 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailЭтот кусок кода надо копировать для всех First, потом для всех Last.кроме того, это тоже решается просто: Код: vbnet 1. 2. 3.
Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:28 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailЯ пробовал везде 8 на 16 менять - не помогло.потому что надо не тупо что-то делать, а думать над тем, что делаешь, что хочешь сделать. Я даю направление для размышлений, а не пишу код за вас. Покажите код, который "не помогло." ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:30 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
В UserForm1: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
В Modul1: Код: vbnet 1. 2. 3. 4.
В Class Modules: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:35 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmail Код: vbnet 1. 2. 3. 4.
У вас есть текстбокс с именем NumberFirst16? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:39 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Вот к чему были эти N, N*2? Мозг уже не воспринимает ничего, надо пока забросить это дело, а то психушка по мне заплачет... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:47 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailВот к чему были эти N, N*2?ну пусть для начала будет 8 и 16, потом переделаете на N и N*2 (раз сразу не можете абстрагироваться, хотя это чистая алгебра за 6й класс) У вас 8 одних текстбоксов и 8 других. Всего 16. Массив должен состоять из 16 элементов. Но заполнять-то его надо как 8+8, а не как 16+16 Я не хочу править ваш код, хочу, чтобы сами сообразили, это намного полезнее на будущее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 14:52 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
В модуле оставил 1 To 16 В форме извратился уже до такого: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Снова как Вы писали "нивелирует" действие первого выражения. Левая часть до знака равенства с i и с j - отличается, правая тоже, не должно одно выражение нивелировать второе, но увы... 8 текстбоксов First, 8 Last, разные переменные i и j, почему не работает? Нигде даже нет примеров. Все самомучители показывают только простейшие примеры, нигде нет примеров синтаксиса когда надо прописать разные варианты как в моем случае. На SQL написал Where Field = '123' OR Field = '456' OR и т.д. и всё понятно, а тут какой-то тупой язык (или я :-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 15:25 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНа SQL написал ... и всё понятно ... а тут какой-то тупой язык (или я :-))Вы заполняете массив одними значениями. Потом тот же массив другими значениями. Хорошо, вот вам пример на SQL Код: sql 1. 2. 3. 4.
У вас в таблице теперь хранятся все четыре числа 5,6,7,8? Или только 7,8 и язык SQL такой же тупой? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 15:45 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Я понял, что у меня учитываются только 8 текстбоксов из 16, т.к. i принимает значения от 1 до 8. Нужно для левой части другую переменную, которая бы принимала значения от 1 до 16, а в правой части оставить i, снова проблема как это прописать? Пока родил это: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Дальше буду думать как это заставить работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 15:59 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
Это называется вложенный цикл. Выполнится он 8*16=128 раз. Зачем? Но главный косяк у вас все там же. Вы пишете два подряд оператора: Код: vbnet 1. 2.
и прямую аналогию с Код: sql 1. 2.
никак не хотите видеть ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 16:19 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНужно для левой части другую переменную, которая бы принимала значения от 1 до 16Я уже писал выше - переменная все та же - массив aoTxtBxes, только не 1 To 8, а 1 To 16 Вы сначала подумайте, как вы собираетесь располагать в этом массиве свои текстбоксы. Разумных вариантов ровно два: NumberFirst1 NumberFirst2 ... NumberFirst8 NumberLast1 NumberLast2 ... NumberLast8 или NumberFirst1 NumberLast1 NumberFirst2 NumberLast2 ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 16:22 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProypmailНужно для левой части другую переменную, которая бы принимала значения от 1 до 16Я уже писал выше - переменная все та же - массив aoTxtBxes, только не 1 To 8, а 1 To 16 Вы сначала подумайте, как вы собираетесь располагать в этом массиве свои текстбоксы. Разумных вариантов ровно два: NumberFirst1 NumberFirst2 ... NumberFirst8 NumberLast1 NumberLast2 ... NumberLast8 или NumberFirst1 NumberLast1 NumberFirst2 NumberLast2 ... массив у меня 1 To 16 Располагать планирую как NumberFirst1 NumberLast1 NumberFirst2 NumberLast2 UPDATE A SET B=5, C=6 UPDATE A SET B=7, C=8 В моём случае тоже надо использовать Update? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2016, 15:32 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailВ моём случае тоже надо использовать Update?Нет, вы же сами писали что мол в SQL все просто, в VB все сложно. Поэтому я вам привел пример на языке SQL, чтобы было понятно. В данном случае используется операция присваивания "=". ypmailРасполагать планирую как NumberFirst1 NumberLast1 NumberFirst2 NumberLast2ок, вот, собственно, есть код: Код: vbnet 1. 2. 3. 4.
Включаем знание школьной математики и думаем, какую формулу нужно применить к i в выделенных местах, чтобы получить нужные значения, а именно 1 и 2 при первом проходе цикла, 3 и 4 на втором и т.д. до 16. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2016, 15:39 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
2i-1 и 2i Если у меня в Class Modules KeyPress, то работает Код: vbnet 1. 2. 3.
Пробую вместо этого использовать в Class Modules указанный выше вариант - не работает (выдаёт ошибку и выделяет IntPos) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
В коде формы кусок был рабочим, правда у меня тогда везде вместо oTxtBx было NumberFirst1. Раз я использую в классе для всех текстбоксов, то заменил на oTxtBx. IntPos как я понял определяет позицию курсора, почему в классе не хочет работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 14:08 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailвыдаёт ошибкутекст ошибки сообщите или требуется угадывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 15:59 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, variable is not defined Когда указываю конкретное имя текстбокса NumberFirst1 все работает (но это только в коде формы), а когда вместо конкретного имени использую oTxtBx да ещё пытаюсь этот кусок кода использовать в классе, то тут облом. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 19:35 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Покажите полный код класса ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 19:43 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, В сообщении выше писал что было и чем заменил в класссе Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 18:14 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Если variable is not defined значит variable is not defined Не хотите показать полный текст класса - ищите ошибку сами ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 18:38 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Через KeyPress работает. Удаляю кусок кода с KeyPress и вместо него оставляю, тот, что ниже (убираю везде ') - не работает. Файл прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 12:49 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Ну так правильно, вы ж первой строкой требуете обязательного объявления всех переменных (и это правильно), но не объявляете их, о чем вам и сообщает компилятор. Освоить Ctrl+C-Ctrl+V мало, надо ж разобраться, как работает скопипастченный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 13:27 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо за помощь! Где ещё мне упростить код? Наверное с помощью классов нужно избавиться от копипаста тут?: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:07 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailСпасибо за помощь!Пожалуйста, но только расстраивает, что похерив рекомендацию потратить пару недель на учебник вы будете тратить месяцы на скачки по граблям и биться головой об стену. ypmailГде ещё мне упростить код?Получить название месяца из числа: Код: vbnet 1.
- соответственно, заполнение комбобокса сделать в цикле. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:29 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Так а, собственно, как в UserForm1.Ok _Click как все было так и осталось, ничего не упоростили ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:50 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Что толку с учебника, если в нём нет моего примера, пока я там изучаю всё подряд, не имеющее отношение к моей задаче, меня с работы уволят. Я не программист, а ИТР, хотел немного автоматизировать свою работу. Сам вынужден этим заниматься, т.к. айтишникам платят только за обслуживание потребностей высшего руководства, но никак не узких специалистов. Если я вместо основной работы целыми днями буду изучать программирование, то точно уволят. Дома зимой учиться ещё куда ни шло, а летом - слишком много дел, ещё и жена бросит пока книжки читаю вместо домашних дел :-) Я рад бы всему научиться, да слишком уж цена высока для такой науки. Пусть лучше все будет как есть, работает и ладно. А то жизнь-то одна, просижу в учебниках и окажусь на мусорке с бомжами. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:53 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProТак а, собственно, как в UserForm1.Ok _Click как все было так и осталось, ничего не упоростили Сложно пока для понимания, да и основной работы хватает. Пожалуй пока заброшу до лучших времен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:55 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Тут надо было или специально на программиста идти учиться в свое время и сделать это основной профессией или сидеть на пенсии и от скуки самообразовываться, а так голопом по европам всего не схватишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 14:58 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
И всё же я уже подсел на это дело, не могу без Вашего Простоквашино ))) Появилась свободная минутка, и снова так и подмывает доработать код. Немного поправил код на UserForm - стало гораздо компактнее и красивее. Воткнулся с текстбоксами дат, хотел событие Enter тоже разместить в классе, т.к. оно одинаковое для 8 текстбоксов, но почему-то оно не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 10:14 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНемного поправил код на UserForm - стало гораздо компактнее и красивее.вторым шагом - почему бы три цикла не объединить теперь в один? Код: vbnet 1. 2.
с циклами вы так и не разобрались до конца. Зачем вам оба массива по 24 элемента, если в одном хранится 16 элементов, а в другом - 8? Что касается Change - действительно не хочет это событие перехватываться классом. У меня крайне мало опыта работы с контролами и формами MSForms, подозреваю, что как-то связано с тем, что если Change - это "родное" событие текстбокса, то работу Enter (то есть навигацию по контролам) обеспечивает сама форма и где-то тут у них недоработочка. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:05 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProypmailНемного поправил код на UserForm - стало гораздо компактнее и красивее.вторым шагом - почему бы три цикла не объединить теперь в один?Имеете ввиду в Private Sub Ok_Click()? Код: vbnet 1. 2.
с циклами вы так и не разобрались до конца. Зачем вам оба массива по 24 элемента, если в одном хранится 16 элементов, а в другом - 8? Ну почему же, изначально я как раз так и пробовал. Не получилось, событие Enter не работает, потом уже начал извращаться над кодом, приведя его к 1 To 24. Изначально код был такой: Код: vbnet 1. 2.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Что касается Change - действительно не хочет это событие перехватываться классом. У меня крайне мало опыта работы с контролами и формами MSForms, подозреваю, что как-то связано с тем, что если Change - это "родное" событие текстбокса, то работу Enter (то есть навигацию по контролам) обеспечивает сама форма и где-то тут у них недоработочка.Заменил Enter на Change - работает (если поле не заблокировано, у меня первое разблокировано), с Enter ни в какую. Оставить как было (для каждого поля отдельно прописывать событие Enter)? Или есть ещё какие-то варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:24 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailЗаменил Enter на Change - работаетда, я тоже это для начала попробовал. Ну чтобы не лезть уже в какую-то экзотику, можно оставить обработчики событий на форме, но содержимое я бы все-таки вынес в отдельную процедуру, хоть это и одна строка (сегодня одна, завтра десять), а в самих обработчиках прописать вызов этой процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:35 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailИмеете ввиду в Private Sub Ok_Click()?да ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:35 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
В Class Modules Enter/Exit не существует... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 13:35 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProypmailЗаменил Enter на Change - работаетда, я тоже это для начала попробовал. Ну чтобы не лезть уже в какую-то экзотику, можно оставить обработчики событий на форме, но содержимое я бы все-таки вынес в отдельную процедуру, хоть это и одна строка (сегодня одна, завтра десять), а в самих обработчиках прописать вызов этой процедуры. Делаю процедуру в Module1: Код: vbnet 1. 2. 3. 4.
В событиях Enter на форме будет вызов этой процедуры, всего одно слово OpenCalendar С самой процедурой что-то не то. Не пойму, как программа поймет какое значение i для того или иного текстбокса использовать? С процедурами и функциями в примитивных примерах более менее понятно, но тут 8 текстбоксов и для всех надо задать одну процедуру, по-моему нереально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:47 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Зачем там цикл? Она должна делать один конкретный вызов. То есть в процедуре так и будет только одна строка. А с каким именно текстбоксом работать - передается через параметр процедуры. Можно передавать его индекс, а можно передавать сам текстбокс. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 14:51 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Одной строчкой можно только показать форму Form_SelectDate.Show для всех текстбоксов, в которых я пропишу вызов функции при событии Enter. Тут же происходит формат данных, полученных функцией для конкретного текстбокса (8 шт.), да ещё в ходе срабатывания функции Get_Date происходит показ формы Form_SelectDate.Show. Код: vbnet 1.
Просто форму показать, нажатие клавиши отследить и т.д. - это работает. Тут же конкретная привязка к текстбоксам Date1, Date2, Date3 и т.д. до Date8, чем универсальным их можно заменить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 15:40 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Что у вас меняется в этой строчке для каждого обработчика? Только сам текстбокс. Вот его и сделайте параметром процедуры. Либо, как вариант Me.Controls("Date"+CStr(i)) и сделать i параметром процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 16:13 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, Help: Процедуры и функции VBA Выполнение программного кода процедуры или функции происходит при передаче ей управления. Передача управления (вызов) может осуществляться различными способами. В общем случае подпрограмма вызывается из программного кода с помощью специального оператора Са11 , в котором кроме данного ключевого слова указываются имя процедуры и фактические параметры вызова, список которых заключается в круглые скобки. Это всё, что в самоучителях пишут про параметры. Как я понял из справки в форме указываем функцию с параметром i=1: Код: vbnet 1. 2. 3.
Процедура в Module1: Код: vbnet 1. 2. 3.
--------------------------- Microsoft Visual Basic for Applications --------------------------- Compile error: Sub or Function not defined --------------------------- ОК Справка --------------------------- Я процедуру неправильно указываю в Date_Enter или саму процедуру OpCal неправильно записал? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 21:18 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailЭто всё, что в самоучителях пишут про параметры.Да неужели! http://computers.plib.ru/programming/Books.VBasic6/Chapter 5/ch40.htm http://computers.plib.ru/programming/Books.VBasic6/Chapter 5/ch39.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 21:44 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Почему-то у меня даже в списке нет этой процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:27 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
У меня еще путаница возникла, параметр и аргумент это одно и то же? И то и то в скобках пишут после названия процедуры, в чём разница? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:30 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Проблема с отсутствием процедуры в списке была из-за Privat Дальше, как я и предполагал, тело процедуры криво записано, а как правильно не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:38 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailпараметр и аргумент это одно и то же?да. По большому счету аргумент - это со стороны вызова (по аналогии с аналогичным математическим понятием), а параметр это то же самое со стороны самой процедуры. ypmailПроблема с отсутствием процедуры в списке была из-за Privatвот я о чем и говорю, вместо того, чтобы прочитать про какие-то основы, будем биться головой об стену. Про Me то же самое - это основы. Me в VB - это ссылка на текущий класс или форму (которая, собственно, тоже является классом). В модуле никакого Me нет, потому что это не форма. Соответственно, либо надо использовать процедуру там, где есть Me, либо заменить Me на UserForm1 (чтобы ссылаться на форму) - это плохой вариант, либо вместо передачи индекса i передавать сам объект текстбокса, тогда ссылка на форму не понадобится в принципе. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 23:38 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProПро Me то же самое - это основы. Me в VB - это ссылка на текущий класс или форму (которая, собственно, тоже является классом). В модуле никакого Me нет, потому что это не форма. Соответственно, либо надо использовать процедуру там, где есть Me, либо заменить Me на UserForm1 (чтобы ссылаться на форму) - это плохой вариант, либо вместо передачи индекса i передавать сам объект текстбокса, тогда ссылка на форму не понадобится в принципе. Удалил я везде Me - ошибка. Если 8 раз прописать в модуле Me.Date1 = Format(Get_Date(Me.Date1, Now), "MMMM yyyy") Me.Date2 = Format(Get_Date(Me.Date2, Now), "MMMM yyyy") и т.д. до Date8, чтобы передавать сам объект текстбокса, то тоже ничего не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:59 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
покажите, что получилось - в модуле и на форме ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:04 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.Pro, ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 09:16 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Вот ещё вариант. Никак не могу понять как передавать сам объект текстбокса... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 09:38 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНикак не могу понять как передавать сам объект текстбокса...Я так и не увидел в приложенных файлах попыток что-то передать. Текстбокс передается точно так же, как и Integer в примере у вас выше. Процедура Код: vbnet 1. 2. 3. 4. 5.
Вызов Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 11:44 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Не пойму, что ему надо? Скобки все на месте. Может это не в модуле надо делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 14:51 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Виноват, на синтаксис Си сбился. Но ведь голова для того, чтобы думать, а не просто копипастить (впрочем, я это, кажется, уже говорил) Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 14:54 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Вот я и думал весь день, да видать думалка у меня не под то заточена, но есть надо, от которого никуда не деться ) В модуле прописал: Код: vbnet 1. 2. 3.
Работает! Надеюсь правильно записал? Вериницу энтеров для каждого поля так и придётся оставлять или есть варианты упрощения? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 15:09 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailВериницу энтеров для каждого поля так и придётся оставлять?К сожалению, как мы выяснили ранее, это событие перехватываться нормально не хочет, и это не проблема программирования, а проблема где-то внутри самих объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 16:12 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
ypmailНадеюсь правильно записал?Надеюсь, вы дадите вменяемое название процедуре все-таки. Это правило хорошего тона в программировании сильно облегчит жизнь со временем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 16:14 |
|
VBA Enter для textbox срабатывает только один раз
|
|||
---|---|---|---|
#18+
Shocker.ProНадеюсь, вы дадите вменяемое название процедуре все-таки. Это правило хорошего тона в программировании сильно облегчит жизнь со временем. Это я сразу сделал после написания сообщения. Тоже не люблю всякие MyProcedure. Спасибо большое за помощь. Как будет время, буду копать календарик, чтобы месяцы и годы как-то поудобнее перелистывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2016, 15:50 |
|
|
start [/forum/topic.php?all=1&fid=60&tid=2155475]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 185ms |
0 / 0 |