Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37

Проверка на заполнение поля vba Access

11.10.2016, 11:39. Показов 9479. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! На форме есть галочка сайт, если она активна, то нужно проверять заполнение полей на этой форме, иначе выдавать сообщение что поле пустое. Как это сделать через vba?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2016, 11:39
Ответы с готовыми решениями:

Проверка нового поля Access VBA
Коллеги доброго времени суток, Подскажите пожалуйста как можно проверить новую строку. К примеру, при нажатии: Если нажали на новую...

Проверка на заполненность поля и его заполнение Access
Здравствуйте, столкнулся с проблемой в задании. Есть таблица и форма из которой она заполняется, при заполнении таблицы необходимо что-бы...

Access 2013 + VBA не обновляются поля при программном изменении значения поля со списком
Доброго времени суток, уважаемые форумчане! Поскажите, пожалуйста, решаем ли следующий вопрос. Форум и интернет - перекапывал...

20
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
11.10.2016, 12:00
Visual Basic
1
2
3
4
5
6
7
8
9
Dim i as long
If Me.chk then
    For i=0 to Me.Controls.Count-1
      Select Case Me.Controls(i).TypeControl
            Case acTextBox
               If IsNull(Me.Controls(i)) then MsgBox "Не заполнено!": Me.Controls(i).SetFocus:  exit for
      End select
   next i
end if
Примерно так. Код не проверял, могут быть очепятки
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
11.10.2016, 12:14  [ТС]
Панург, спасибо за решение! Но у меня не все поля должны быть заполнены на форме, а определенные для сайта.
Вот мой код, но он выдает ошибку
Visual Basic
1
2
3
4
5
If Me!сайт = False Then
    Me!kodS = 0 And Me!kodA = 0
Else
    Me!сайт = True
End If
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
11.10.2016, 12:17
Цитата Сообщение от Нюси Посмотреть сообщение
Вот мой код, но он выдает ошибку
Ну я тоже подвис
Цитата Сообщение от Нюси Посмотреть сообщение
Me!kodS = 0 And Me!koA = 0
Вот этим ты чего хотела сказать машине? Просто скажи своими словами.
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
11.10.2016, 12:20  [ТС]
данные поля пустые

Добавлено через 33 секунды
или нужна проверка на isnull?
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
11.10.2016, 12:31
Нюси, Если там не предусмотрено никаких дефолтных значений и Null допустим, то
Visual Basic
1
2
3
4
5
6
7
8
If Me.сайт Then
    
    If IsNull(Me.kodS) then MsgBox "Не заполнено поле kodS!": Me.kodS.SetFocus'тут какие-то действия прерывания выполнения. Чего?
    If IsNull(Me.kodA) then MsgBox "Не заполнено поле kodA!": Me.kodA.SetFocus 'тут какие-то действия прерывания выполнения. Чего?
    
Else
    Me.сайт=not Me.сайт'я не очень уверен в нужности этого действия
End If
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
11.10.2016, 12:39  [ТС]
kodS и kodA это поля со списком - рубрика и марка авто. Вот если они не заданы, то нажимая на галочку сайт, должно появляться сообщение - заполните данные поля.
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
11.10.2016, 12:47
Эх! Прямо партизане какие-то...
Примерно вот так должна выглядеть процедура "перед обновлением" для твоего чекбокса
Visual Basic
1
2
3
4
5
6
7
Private Sub BeforeUpdate_сайт(Cancel as Integer)
If Me.сайт Then
    If IsNull(Me.kodS) then MsgBox "Не заполнено поле kodS!": Me.kodS.SetFocus: Cancel =-1
    If IsNull(Me.kodA) then MsgBox "Не заполнено поле kodA!": Me.kodA.SetFocus: Cancel =-1
    
End if
End Sub
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
11.10.2016, 13:01  [ТС]
не получается((( может еще есть варианты...
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
11.10.2016, 13:24
Цитата Сообщение от Нюси Посмотреть сообщение
не получается((( может еще есть варианты...
пример убегаю
Вложения
Тип файла: zip db1.zip (9.4 Кб, 12 просмотров)
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
12.10.2016, 04:38
Нюси, вчера тут не закончили. Вот пример новый, тут покрасивше...
Вложения
Тип файла: zip db1.zip (7.8 Кб, 48 просмотров)
2
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
12.10.2016, 10:22  [ТС]
что означает эта строчка -
If Me.сайт Then
что нажали сайт?

Добавлено через 14 минут
может так нужно написать
If me!сайт=true then...
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
12.10.2016, 10:33  [ТС]
Можете посмотреть, я немного переделала, с учетом вашего кода. Но так тоже работает)
Вложения
Тип файла: zip _1.zip (16.6 Кб, 31 просмотров)
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
12.10.2016, 11:49
Цитата Сообщение от Нюси Посмотреть сообщение
может так нужно написать
Можно конечно и так, но так как у меня лучше...
0
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 37
12.10.2016, 11:52  [ТС]
почему лучше? я раньше не встречала такого написания, поэтому и задала вам такой вопрос
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
12.10.2016, 12:27
Цитата Сообщение от Нюси Посмотреть сообщение
почему лучше?
Потому, что после точки открывается список свойств и методов, списки параметров, а после восклицательного знака нет. Восклицательный знак интерпретатор всё равно переводит в точку. Это касаемо точки и восклицательного знака.

Теперь почему я не написал равенство. А зачем? Контрол чекбокс сам возвращает значение True/False. Зачем их ещё приравнивать к этим же значениям? Это избыточно.
1
Эксперт MS Access
 Аватар для Eugene-LS
12080 / 5860 / 1497
Регистрация: 05.10.2016
Сообщений: 16,465
12.10.2016, 19:08
Цитата Сообщение от Панург Посмотреть сообщение
А зачем? Контрол чекбокс сам возвращает значение True/False.
Это только если всё организованно правильно и задано значение по умолчанию - я так понял что "разбор полётов" идёт о не правильном варианте, когда ЧекБокс "нейтрален" - а так быть не должно.
И вообще нужно определиться к чему мы обращаемся:
Me!Название_Элемента_Управления_Формы
или
Me.Название_Элемента_Источника_Данных_Фо рмы

А это не одно и то же.
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
12.10.2016, 19:31
Eugene-LS, безразлично
0
Эксперт MS Access
 Аватар для Eugene-LS
12080 / 5860 / 1497
Регистрация: 05.10.2016
Сообщений: 16,465
12.10.2016, 19:45
Цитата Сообщение от Панург Посмотреть сообщение
безразлично
Ну не совсем - Источник данных принимает значения только после успешного обновления данных формы.
А так - ДА! зачастую разницы и не видно.
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,286
12.10.2016, 20:02
Eugene-LS, причём сдесь источник данных? В рамках этого треда? Форма может быть и без источника, как в примере, и ничего не мешает этому коду работать.
Источник данных и данные формы? Хм... я тебя не понял...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2016, 20:02
Помогаю со студенческими работами здесь

Заполнение поля отчета через VBA
коллеги, помогите правильно обратиться к полю формы. Dim docum As String docum = "отчет" ' - назначаю имя отчета ...

Проверка на заполнение поля
Как сделать, чтобы при сохранении выдавало сообщение о том, что поле не заполнено при таких условиях: - роль равна Admin - поле пустое....

Проверка на заполнение Richtext поля
Стояла задача - проверить на заполнение RichText (будь оно проклято) поля ещё до сохранения документа. Мне удалось найти функцию одного...

Проверка текстового поля на заполнение
Есть текстовое поле (ui input field) изначально заполнено надписью с предложением ввести имя, после ввода имени нужно понять что оно...

Заполнение ListBox из поля БД Access
есть база данных фамилия и имя не понимаю как подключить , чтоб работало через кнопку отобразить список


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru