powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка TextBox на пустоту
25 сообщений из 72, страница 1 из 3
Проверка TextBox на пустоту
    #39893088
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята Здравствуйте! сделал проверку, но у меня потребность работы этого кода была на нескольких кнопках для одной формы, дабы не плодить его на кнопках поместил в модуль, и вызываю с кнопки, ПРОБЛЕМА! в том что при клике цикл заканчивается "Next ti" и сразу срабатывает другой код а должно быть по задумке закончить работу цикла и не продолжать работу цикла до тех пор пока все поля не будут заполнены. что можете посоветовать?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub CommandButton1_Click() 'договор
Call проверка
'=========
другой код
.......................
End Sub

Sub проверка()
Dim i As Long
For i = 1 To 15
If Trim(Controls("TextBox" & i)) = "" Then Controls("TextBox" & i).BackColor = &H80C0FF: _
MsgBox "Выделенные поля обязательны для заполнения", vbInformation, "Информация": Exit Sub
If Trim(Controls("TextBox" & i)) > 0 Then Controls("TextBox" & i).BackColor = &H80000005
Next ti
End Sub
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893107
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei
"Next ti"
Учитывая то, что "For ti" в приведенном коде отсутствует, я вообще удивляюсь, что он не падает, а продолжает какую-то работу.
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893139
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei, даже если Next ti это опечатка, то зачем цикл до 15, зачем там цикл вообще нужен?
когда это условие
Код: vbnet
1.
If Trim(Controls("TextBox" & i)) = "" Then


сработает?
когда это условие
Код: vbnet
1.
Trim(Controls("TextBox" & i)) > 0 Then


не сработает? а если ввели не цифру?
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893583
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, да "очепятка", поспешил),

Код: vbnet
1.
2.
3.
4.
5.
6.
Dim i As Long
For i = 1 To 15 цикл пробегает по текстовым полям и проверяет по условиям

If Trim(Controls("TextBox" & i)) = "" Then условие проверяет поле на пустоту

Trim(Controls("TextBox" & i)) > 0 Then условие проверяет поле на если поле не пустое
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893587
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei,
несоотвествий много если есть после проверки Exit Sub, тогда как будет сообщение "Выделенные поля во множественном числе?
я не уверен, а что здесь ("TextBox" & i) не нужно .Text ?
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893651
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, дело в том что реали если весь этот код поместить на кнопку, работает как мне надо т.е. проверка происходит по очередной с 1 ого текстового поля по 15 т.е. соответственно если к примеру поле 10 12 или 14 не заполнено то проверка происходит с 10 ого поля а не с 12 и т.д, соответствующее сообщение появляется и окрашивается корич. цветом, поэтому и посчитал нужным прописать цикл (с позиции чайника)

Только вот что бы не плодить код по кнопкам на одной форме я и пожелал бы этот код разместить в модуле и обращаться из кнопок , пускай их не много но все же взять за правило (как начинающего)
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893652
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа
assei,
а что здесь ("TextBox" & i) не нужно .Text ?


согласен может и нужно, поверьте пробовал, сути не меняло и сути работы кода не изменилось, так спрашивается "на хрена козе баян" , если можно и обойтись, проблемы то не решена для меня по крайне мере , может я что то упускаю (а я полагаю что упускаю, однозначно), помогите с ошибкой или задайте вопросы наводящие, я должен как то учится !
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893653
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, я тут примерчик навоял
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893654
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei
помогите с ошибкой или задайте вопросы наводящие
наводящий вопрос - в чем выражается ошибка?
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893655
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot assei#22023142]...... ПРОБЛЕМА! в том что при клике цикл заканчивается "Next ti"-(ошибочка мой косяк) "Next i" и сразу срабатывает другой код а должно быть по задумке закончить работу цикла и не продолжать работу цикла до тех пор пока все поля не будут заполнены. что можете посоветовать?
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893659
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
что-то разницу увидел только в цикле не до 15, а до 7-и
по теме сорри, не нужно .Text
а так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Поля_обязательны_для заполнения = 0
For i = 1 To 15
If Trim(Controls("TextBox" & i)) = "" Then
Controls("TextBox" & i).BackColor = &H80C0FF
Поля_обязательны_для заполнения = Поля_обязательны_для заполнения + 1
ElseIf Trim(Controls("TextBox" & i)) > 0 Then
Controls("TextBox" & i).BackColor = &H80000005
End If
Next i
If Поля_обязательны_для заполнения = 1 Then
MsgBox$ "Выделенное поло обязательно для заполнения", vbInformation, "Информация"
ElseIf Поля_обязательны_для заполнения > 1 Then
MsgBox$ "Выделенные поля обязательны для заполнения", vbInformation, "Информация"
End If
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893660
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei,
работу цикла до тех пор пока все поля не будут заполнены. что можете посоветовать?
GoTo Не_заполнены_поля-в конце моего кода
Не_заполнены_поля:-в начале моего кода
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893661
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, простите это два варианта или это один код, просто некоторые строки при вставке красным выделились..
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893664
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub проверка()
Dim i As Long
Поля_обязательны_для заполнения = 0
For i = 1 To 15
If Trim(Controls("TextBox" & i)) = "" Then
Controls("TextBox" & i).BackColor = &H80C0FF
Поля_обязательны_для заполнения = Поля_обязательны_для заполнения + 1
ElseIf Trim(Controls("TextBox" & i)) > 0 Then
Controls("TextBox" & i).BackColor = &H80000005
End If
Next i
If Поля_обязательны_для заполнения = 1 Then
MsgBox$ "Выделенное поло обязательно для заполнения", vbInformation, "Информация"
Exit Sub
ElseIf Поля_обязательны_для заполнения > 1 Then
MsgBox$ "Выделенные поля обязательны для заполнения", vbInformation, "Информация"
Exit Sub
End If



End Sub
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893665
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плохо что нет редактирования сообщений
и ещё ошибка пол о обязательно
нужно
поле обязательно
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893667
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, немного под себя "подшаманил" получилось так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub проверка()
Dim i
For i = 1 To 7
If Trim(UserForm1.Controls("TextBox" & i)) = "" Then
UserForm1.Controls("TextBox" & i).BackColor = &H80C0FF
MsgBox "Выделенные Поля_обязательны_для заполнения", vbInformation, "Сообщение"
Exit Sub
ElseIf Trim(UserForm1.Controls("TextBox" & i)) > 0 Then
UserForm1.Controls("TextBox" & i).BackColor = &H80000005
End If
Next i
End Sub
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893668
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei
и сразу срабатывает другой код а должно быть по задумке закончить работу
Почему должно закончить? Ты же ничего для этого не сделал.
"Я бросил мячик вниз, и он падает вниз, почему он не завис в воздухе?"
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893669
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei
немного под себя "подшаманил" получилось так
Осталось заменить Sub на Function и сообщить вызывающему коду, что нужно прерваться.
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893670
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа
плохо что нет редактирования сообщений
Есть, однако
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893671
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа
плохо что нет редактирования сообщений

а это как, если удалить из поля данные то при нажатии покажет что поле не заполнено, а что вы имели ввиду интересно поделитесь мыслью
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893673
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei,
ещё
строки
Код: vbnet
1.
2.
If Trim(Controls("TextBox" & i)) = "" 
If Trim(Controls("TextBox" & i)) > 0


это как сравнивать холодное и красное
так должно быть
Код: vbnet
1.
If  Len(Trim(Controls("TextBox" & i)))
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893675
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, Len это проверка строки , значит ее на что то надо проверить?
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893676
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei, это длина
ну хотя бы так
Код: vbnet
1.
2.
If Trim(Controls("TextBox" & i)) = "" 
If Trim(Controls("TextBox" & i)) <> ""


но через длину лучше
Код: vbnet
1.
2.
If Len(Trim(Controls("TextBox" & i))) = 0 
If Len(Trim(Controls("TextBox" & i))) <> 0
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893677
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, честно говоря я как то не уловил хот мыслей ваш по отношению к моему коду что и где что проверяет Len
...
Рейтинг: 0 / 0
Проверка TextBox на пустоту
    #39893678
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа, согласен если мне понадобится проверять в поле длину данных в текстовом поле то да , но пока такой надобности нет, спасибо огромное всем!
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 1 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка TextBox на пустоту
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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