Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / выделение текста в поле с числовым типом / 24 сообщений из 24, страница 1 из 1
30.06.2021, 11:41
    #40080880
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Приветствую, коллеги! Есть ли способ выделять текст в контроле формы с числовым типом данных? Обычный способ, как для текстовых типов, навроде
Код: vbnet
1.
2.
    txtBox1.SelStart = 1
    txtBox1.SelLength (Len(txtBox1.Text))


в событии GotFocus этого поля не работает.
...
Рейтинг: 0 / 0
30.06.2021, 13:15
    #40080912
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Не обольщайтесь типом данных - но значение по-любому текст.

Лучше всего - сделайте/выложите минимальную БД (одна табличка, одна формочка) и задачу (типа последние три цифры покрасить зелёным).
...
Рейтинг: 0 / 0
30.06.2021, 15:37
    #40080973
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
...Есть ли способ выделять текст в контроле формы с числовым типом данных?....
если переход осуществляется клавиатурой(а не мышью)то, по умолчанию,так и происходит
Велосипед придумали давным-давно
...
Рейтинг: 0 / 0
01.07.2021, 08:17
    #40081060
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Akina
Не обольщайтесь типом данных - но значение по-любому текст.

Лучше всего - сделайте/выложите минимальную БД (одна табличка, одна формочка) и задачу (типа последние три цифры покрасить зелёным).

Имелось ввиду не выделение цветом, а выделение текста (sel) для редактирования/копирования

sdku
если переход осуществляется клавиатурой(а не мышью)то, по умолчанию,так и происходит
Велосипед придумали давным-давно

в том-то дело, нужно по тычке ЛКМ, аналогично тому коду, что я указал в первом посте
...
Рейтинг: 0 / 0
01.07.2021, 08:36
    #40081062
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Ситуация такая: на подчиненной форме ленточного типа при передаче фокуса в поле с числовым типом данных дефолтовый нолик не отображается, а при вводе конкатенится к введенному значению. Т.е. вбиваешь "5", получаешь "50". Доводит юзеров до трясучки. Я обработал события контролла: в GotFocus меняю 0 (если значение просто 0) на vbNullString, а в LostFocus - наиборот. Все работает как надо, но только в сохраненных записях, а в новой не фурычит. А именно при добавлении новой записи с сим раздражающим моментом в основном и приходится иметь дело. Приучить юзеров к табуляции клавой - так же как кота ходить на унитаз и пользоваться сливным механизмом. Т.е. 1 из 1000. Бухгалтерия, операторы любят таб и ентер, а вот кое-то стоящий повыше предпочитает сидеть развалившись в кресле, держась одной рукой за чашку с кофе или какую-нибудь часть тела, а другой пощёлкивать не спеша мышкой. Ну, я думаю, вы знаете)))
...
Рейтинг: 0 / 0
01.07.2021, 08:39
    #40081063
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Выделяется при двойном клике ЛКМ, но это тоже не привьёшь. Может есть способ назначить вместо Click эффект DoubleClick, но только чтоб исключительно в этом контролле?
...
Рейтинг: 0 / 0
01.07.2021, 11:10
    #40081077
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar,
мышь является МАНИПУЛЯТОРОМ(УКАЗАТЕЛЕМ) и только по команде с клавиатуры (Enter=ЛКМ) выполняется некое действо,в месте установки (манипулятором) указателя
Изменять базовые функции,по-моему,есть очень не AIC
А вдруг юзер захочет выполнить что-то зная стандартное поведение мыши-а поведение-то (в этом поле) совсем неожиданное?....Кстати при двойном клике на тексте/числе все выделится. Не стоит изменять функции стандартного оборудования:мыши и клавиатуры.Как-то так...
...
Рейтинг: 0 / 0
01.07.2021, 11:27
    #40081085
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
очепятка: не AIC-ICE
...
Рейтинг: 0 / 0
01.07.2021, 11:51
    #40081095
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
Выделяется при двойном клике ЛКМ, но это тоже не привьёшь.

Если для поля есть связанная надпись, то при клике по ней обычно выделяется всё содержимое связанного поля, привязать можно любую надпись к любому полю: добавляем на форму надпись, вырезаем её, выделяем нужное поле, вставляем надпись
...
Рейтинг: 0 / 0
01.07.2021, 12:39
    #40081110
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
....если форма не ленточная....
...
Рейтинг: 0 / 0
01.07.2021, 12:59
    #40081116
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
sdku
Beliar,
мышь является МАНИПУЛЯТОРОМ(УКАЗАТЕЛЕМ) и только по команде с клавиатуры (Enter=ЛКМ) выполняется некое действо,в месте установки (манипулятором) указателя
Изменять базовые функции,по-моему,есть очень не AIC
А вдруг юзер захочет выполнить что-то зная стандартное поведение мыши-а поведение-то (в этом поле) совсем неожиданное?....Кстати при двойном клике на тексте/числе все выделится. Не стоит изменять функции стандартного оборудования:мыши и клавиатуры.Как-то так...

Да знаю я. Одиночный клик, к примеру, может понадобиться для установки текстового курсора в это поле. Это я немного не додумав, булькнул. Но воз и ныне там... Наверняка, у меня одного такая проблема возникла. У меня маловато опыта и знаний для обозрения возможностей vba. Может я зря вообще привязался к этому выделению текста... Кстати, добавил msgbox в обработку события GotFocuse
Код: vbnet
1.
2.
3.
4.
If r_count = 0 Then
        MsgBox "r_count = 0"
        r_count = vbNullString
End If


в новой записи - тишина, не появляется msgbox, т.е. проверку на 0 поле вообще не проходит
...
Рейтинг: 0 / 0
01.07.2021, 13:37
    #40081136
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Короче, проверил еще и так:
Код: vbnet
1.
2.
3.
4.
5.
6.
If r_count = 0 Then
        r_count = vbNullString
        MsgBox "r_count = 0"
    ElseIf IsNull(r_count) = True Then
        MsgBox "IsNull(r_count) = True"
End I

f
В сохраненной записи определяется как 0, в новой уходит в ветку IsNull. Из чего вывод: в обработку события GotFocus добавляю и это условие:
Код: vbnet
1.
2.
3.
If r_count = 0 Or IsNull(r_count) = True Then
    r_count = vbNullString
End If


Выглядит абсурдно, но всё заработало! Проблема решена)) Т.е. до события GotFocus текстбокса поле все-таки пустое, а нулик туда акс лепит уже в событии Dirty, ну как-то так
...
Рейтинг: 0 / 0
01.07.2021, 13:38
    #40081137
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
пригодится еще не раз
...
Рейтинг: 0 / 0
01.07.2021, 14:28
    #40081152
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
...
Рейтинг: 0 / 0
01.07.2021, 14:40
    #40081156
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
sdku,
Ну здрассссьте, приехали. Тут как раз-таки этот нолик нужен. Мешался-то он только в время ввода данных в поле-источник. Потому я и возвращал его в событии "лост фокус". Конечно, в дальнейшем можно прикрыть пустые значения с помощью Nz везде, где понадобится. Или запросом на апдейт заменить на 0. Но все же... душе спокойней, когда данные в должном виде хранятся))
...
Рейтинг: 0 / 0
01.07.2021, 16:56
    #40081204
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Ну привет,привет
А сделать подобное в форме и до обновления её если поле пустое вывести сообщение о необходимости заполнить его( сделать его обязательным,записать в него 0 или еще что угодно.Нормальный юзер,а не полный даун,доведет до появления этого сообщения 2-3 раза-и больше "неправильно" делать не будет)а в случае если поле не пустое его значение запишется в таблицу. И вообще:Ваша задача на этапе ввода-не допустить записи в таблицу некорректных данных
И пусть Ваша душа успокоится
...
Рейтинг: 0 / 0
02.07.2021, 07:15
    #40081281
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
sdku
Ну привет,привет
А сделать подобное в форме и до обновления её если поле пустое вывести сообщение о необходимости заполнить его( сделать его обязательным,записать в него 0 или еще что угодно.Нормальный юзер,а не полный даун,доведет до появления этого сообщения 2-3 раза-и больше "неправильно" делать не будет)а в случае если поле не пустое его значение запишется в таблицу. И вообще:Ваша задача на этапе ввода-не допустить записи в таблицу некорректных данных
И пусть Ваша душа успокоится

На самом деле таких полей 16. В каждой записи заполняется 6-7 из них, бывает реже и все 16. Что ж ему (юзеру) расстановкой ноликов-то заниматься? Я всегда стараюсь максимально автоматизировать всё, в чем участие пользователя не требуется, пусть шаловливым ручкам будет по-меньше работы :-). А корректность ввода конечно же контролируется. С числовыми полями попроще, они сами не допускают вводить, что попало. Бороться доводится, разве что, с отрицательными числами. Спасибо за помощь! Решение найдено.
...
Рейтинг: 0 / 0
02.07.2021, 09:36
    #40081301
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
Что ж ему (юзеру) расстановкой ноликов-то заниматься?
Зачем нолики?
...
Рейтинг: 0 / 0
02.07.2021, 09:39
    #40081303
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
Выглядит абсурдно, но всё заработало! Проблема решена
не только абсурдно. Проблема не решена
...
Рейтинг: 0 / 0
03.07.2021, 07:09
    #40081516
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Панург
Beliar
Выглядит абсурдно, но всё заработало! Проблема решена
не только абсурдно. Проблема не решена
Т.е.? Вы, хоть, комментируйте по-подробнее такие заявления. У меня все работает. Ноль не добавляется при вводе значения, и при этом возвращается в качестве дефолтового значения, если ничего не ввести.
...
Рейтинг: 0 / 0
03.07.2021, 12:50
    #40081527
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
А слабо,вместо Ваших "телодвижений", задать по умолчанию 0 а в условном форматировании,если поле=0, то цвет текста=цвету фона
...
Рейтинг: 0 / 0
03.07.2021, 13:52
    #40081528
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
и при этом возвращается в качестве дефолтового значения, если ничего не ввести.
Зачем он нужен? Для чего? Почему не Null?
...
Рейтинг: 0 / 0
05.07.2021, 06:46
    #40081694
Beliar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
sdku
А слабо,вместо Ваших "телодвижений", задать по умолчанию 0 а в условном форматировании,если поле=0, то цвет текста=цвету фона
Зачем мне цвет? Сам "0" мешался. Клеился к вводимому значению:
Beliar
Т.е. вбиваешь "5", получаешь "50".


Панург
Beliar
и при этом возвращается в качестве дефолтового значения, если ничего не ввести.
Зачем он нужен? Для чего? Почему не Null?
чтоб в дальнейшем не маяться с функцией Nz и прочими методами. Значения этих полей участвуют потом в разных запросах в арифметических действиях. Ну и не эстетично это на экране пользователю показывать (на этой же форме): "стоимость того-то - [пустой квадратик]", или "масса нетто [пустой квадратик] кг".

Да чего вы взъелись? всё ж получилось, как надо, без побочных эффектов. Испытания провёл, всё проверил. Тему можно закрыть.
...
Рейтинг: 0 / 0
05.07.2021, 08:00
    #40081698
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение текста в поле с числовым типом
Beliar
чтоб в дальнейшем не маяться с функцией Nz и прочими методами.
ну да, ну да...

Beliar
Ну и не эстетично это на экране пользователю показывать (на этой же форме): "стоимость того-то - [пустой квадратик]", или "масса нетто [пустой квадратик] кг".
есть свойство "Формат поля" ( Format ). С его помощью можно хоть чего отобразить на месте Null.


Beliar
Да чего вы взъелись? всё ж получилось, как надо, без побочных эффектов. Испытания провёл, всё проверил.
Да мне как до... фонаря. Можешь и дальше городить.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / выделение текста в поле с числовым типом / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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