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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2019, 11:44   #1
Ethex
Пользователь
 
Регистрация: 26.04.2017
Сообщений: 86
По умолчанию VBA Access Убрать TextBox при пустом значении

Доброго времени суток
Хочу научить текстовое поле на форме в случае, если пользователь полностью удаляет строку
Пробовал:
Код:
Private Sub Поле13_Change()
If Me.Поле13.Value = "" Then Me.Поле13.Visible = False
End Sub
Не сработало. Гуголь тоже не помог
Ethex вне форума Ответить с цитированием
Старый 08.05.2019, 11:49   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, допустим, поле скроется. А как его пользователь сможет вновь заполнить?
или это один раз и навсегда (до перезапуска формы)?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2019, 11:52   #3
Ethex
Пользователь
 
Регистрация: 26.04.2017
Сообщений: 86
По умолчанию

А это Поле изначально скрыто. Появляется когда выбран необходимый файл в FileDialog. Впринципе, обычная прихоть без которой я смог бы обойтись. Но стало интересно разобраться

update: Есть ещё одна, похожая хотелка. Имеется на этой форме ещё Список, куда заносятся пути к файлам, выбранным в другом FileDialog. Хотелось бы чтобы если выбран хоть один файл, Dir("путь к файлу") передавался глобальной переменную. Да, это можно сделать внутри функции с файлдайлогом, но интересно узнать как сделать через события Списка

Последний раз редактировалось Ethex; 08.05.2019 в 12:02.
Ethex вне форума Ответить с цитированием
Старый 08.05.2019, 12:01   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если интересно разобраться - то сделайте небольшой тестовый файлик с формой и выложите его сюда, на форум.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2019, 13:41   #5
Ethex
Пользователь
 
Регистрация: 26.04.2017
Сообщений: 86
По умолчанию

Прошу прощение за задержку
Содержит формочку с файлдайлогом и текстовым полем
Вложения
Тип файла: zip Database1.zip (14.1 Кб, 8 просмотров)
Ethex вне форума Ответить с цитированием
Старый 08.05.2019, 14:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

событие Изменение работает более чем странно.
содержимое меняется только когда фокус меняется (и то не всегда - похоже нужное ещё нажатие Enter и ещё какая-то чертовщина).
киньте на форму Label и выводите туда Me.Поле0 чтобы убедиться в этом.

я бы повесил обработчик на событие ПослеОбновления (AfterUpdate)
Код:
Private Sub Поле0_AfterUpdate()
    If IsNull(Me.Поле0) Then
      Me.Кнопка2.SetFocus
      Me.Поле0.Visible = False
    End If
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.05.2019, 14:47   #7
Ethex
Пользователь
 
Регистрация: 26.04.2017
Сообщений: 86
По умолчанию

На время праздников от аксеса пребывал в отдалении

Опробовал предложенный код. При обнулении поля ручками оно ещё висит. Приходится кликнуть по другому элементу управления, потом по полю и тогда оно исчезает
Ethex вне форума Ответить с цитированием
Старый 13.05.2019, 15:17   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ethex Посмотреть сообщение
Приходится кликнуть по другому элементу управления, потом по полю и тогда оно исчезает
К сожалению.
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
содержимое меняется только когда фокус меняется
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.05.2019, 16:27   #9
Ethex
Пользователь
 
Регистрация: 26.04.2017
Сообщений: 86
По умолчанию

Цитата:
и то не всегда - похоже нужное ещё нажатие Enter и ещё какая-то чертовщина
А прописать чтобы это нажатие Enter происходило автоматически возможно?
Ethex вне форума Ответить с цитированием
Старый 13.05.2019, 16:52   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ethex Посмотреть сообщение
А прописать чтобы это нажатие Enter происходило автоматически возможно?
извините, что ввёл Вас в заблуждение.
можно на событии Изменение ( OnChange ) сделать нормально.

Код:
Private Sub Поле0_Change()
    If IsNull(Me.Поле0.Text) Or (Me.Поле0.Text = "") Then
        Me.Кнопка2.SetFocus
        Me.Поле0.Visible = False
    End If
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение данных textbox и БД Access fanat_96 C# (си шарп) 1 01.06.2016 17:18
[VSE2012]Проблема записи date из textbox в access kotkaktot Microsoft Office Access 0 02.10.2015 18:55
Сохранение RadioButton и Textbox в БД Access Rocksana Microsoft Office Access 0 14.02.2015 19:27
Как убрать каретку из textBox? dima1257 C# (си шарп) 0 14.02.2014 12:26
записать текст из Access в textBox !Katrin Помощь студентам 0 20.12.2012 17:40