Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/190: Рейтинг темы: голосов - 190, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364

Числовое поле

01.04.2008, 11:57. Показов 35381. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
где надо че дописать, чтобы при попытке поставить в поле типа "Number" не число программа не давала сохранить, пока пользователь поле не исправит

заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2008, 11:57
Ответы с готовыми решениями:

Числовое поле в БД
Как занести данные в поле, которое является числовым? Для текстового поля: form3.DataSource2.DataSet.FieldByName('').Value:=.....

Числовое поле Вместо TextBox
Тороплюсь Уже благодарен за помощь:) Я хочу взять из TextBox-а число типа Double (используя метод Parse) (возможно необходимо...

Пустое значение в числовое поле
Как через SQL добавить строчку, но заполнить не все значения? Как пустое значение вставить в эту строку? Если ничего не писать он...

25
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
01.04.2008, 12:00
можно попробовать Input Validation c формулой @textToNumber ( обработать ошибку ), НО! @TextToNumber вернёт 123 если в поле написать "123йцу" , и вернёт ошибку если "йцу123" ... так что можно добавить исчо Input Translation @TextToNumber( @thysValue)
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 7
01.04.2008, 12:04
Я тебе советую на сохранение документа повесить код на проверку этого поля, является ли оно числовым или нет.


Code
1
IsNumeric(doc.[твое поле])
Либо отлавливать ошибку при сохранении, её номер 4412
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
01.04.2008, 12:05
Если не использовать Input Validation, то проверка будет автоматическая при сохранении.


Цитата Сообщение от Morpheus
можно попробовать Input Validation c формулой @textToNumber ( обработать ошибку ), НО! @TextToNumber вернёт 123 если в поле написать "123йцу" , и вернёт ошибку если "йцу123" ... так что можно добавить исчо Input Translation @TextToNumber( @thysValue)
Если использовать @ToNumber, то ошибку вернет в любом случае.
Надо в InputValidation прописать @If(@IsDocBeingSaved & @IsError(@ToNumber(@ThisValue)); @Failure("Ошибка"); @Success)
0
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
01.04.2008, 15:30
проверка на кверисейве - самый действеннный способ...
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
01.04.2008, 15:51
Sandr
+1

И главное, в одном месте.
А то потом (след. программеру) придётся по всей форме рыскать, где это validation плюётся.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
01.04.2008, 15:55
Цитата Сообщение от Omh
А то потом (след. программеру) придётся по всей форме рыскать, где это validation плюётся.
Synopsys спасет след. программера.
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
01.04.2008, 16:03
Medevic
Тогда уж TeamStudio Configurator.
Ибо дефаултный синопсис, кмк, гогнецо
0
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
01.04.2008, 16:16
Omh
+1
TeamStudio Configurator рулез
0
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364
01.04.2008, 16:16
Medevic
@If(@IsDocBeingSaved & @IsError(@ToNumber(@ThisValue)); @Failure("Ошибка"); @Success)
-я ввожу в поле букви, нажимаю сохранить получаю сообщение "Ошибка" , закрываю
открываю снова этот док и в поле запись "ERROR: Cannot convert text to a number"
т.е. что-то не так..ошибку выдает, но значение как бы сохраняет

ukr
если на кверисейф IsNumeric(doc.[твое поле]) точнее я делаю проверку
If Not(Isnumeric(doc.trud(0))) Then и на этой строке у меня возвращается error 184 "variant doesnt contain a container"
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
01.04.2008, 16:19
Цитата Сообщение от oxystile
-я ввожу в поле букви, нажимаю сохранить получаю сообщение "Ошибка" , закрываю
открываю снова этот док и в поле запись "ERROR: Cannot convert text to a number"
т.е. что-то не так..ошибку выдает, но значение как бы сохраняет
Случайно в другом месте сохранения нет? В QuerySave?
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
01.04.2008, 16:21
oxystile
такс... тут If Not(Isnumeric(doc.trud(0))) - надо сначала проверить на IsEmpty, а уж потом на изнумерик... потому как для поля с типом число неправильное значение будет означать что в поле empty ... проверено на датах(недавно обсуждали )
0
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
01.04.2008, 16:22
Code
1
2
3
4
5
6
7
If doc.GetItemValue("myField")(0) <> "" Then
 
If Not Isnumeric(doc.GetItemValue("myField")(0)) Then
Msgbox "Поле " & Chr(34) & "ПОЛЕ" & Chr(34) & " должно содержать числовое значение!", 48, "Ошибка"
source.GotoField("myField")
End If
End if
Morpheus
Зачем на эмпти проверять? Достаточно doc.GetItemValue("myField")(0) <> "" .
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
01.04.2008, 16:22
Цитата Сообщение от Sandr
If doc.GetItemValue("myField")(0) <> "" Then
или так или empty
0
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
01.04.2008, 16:23
Цитата Сообщение от oxystile
Medevic
@If(@IsDocBeingSaved & @IsError(@ToNumber(@ThisValue)); @Failure("Ошибка"); @Success)
-я ввожу в поле букви, нажимаю сохранить получаю сообщение "Ошибка" , закрываю
открываю снова этот док и в поле запись "ERROR: Cannot convert text to a number"
т.е. что-то не так..ошибку выдает, но значение как бы сохраняет
Это при рефреше документа происходит... Проверять надо раньше...
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
01.04.2008, 16:29
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Function ValidateNumericFlds(doc As NotesDocument) As Integer
On Error Goto Errh
 
Dim rv As Integer
rv = True
 
lsf_ValidateNumericFlds = rv
 
Dim NumFlds List As String
NumFlds("FLD_NAME_1") = "LABEL_1"
NumFlds("FLD_NAME_2") = "LABEL_2"
 
Dim V As Variant
Dim VEmpty As Variant
Dim IsError As Integer
 
Forall x In NumFlds
V = VEmpty
IsError = False
 
On Error Resume Next
V = doc.GetItemValue(Listtag(x))(0)
On Error Goto Errh
 
If Not Isempty(V) Then IsError = Not Isnumeric(V) Else IsError = True
 
If IsError Then
Messagebox {Ой бяда, ребятушки! В поле "} + x + {" какое-то гогно!}, 0 + 16, "Бяда"
rv = False
Exit Forall
End If
End Forall
 
lsf_ValidateNumericFlds = rv
 
Exit Function
Errh:
Call lsf_ErrorTrack
Exit Function
End Function
Скелет не очень красивой ф-ии (но, на мой вкус, лучше чем использование Validation Formula)
Тут ещё Integer вместо Boolean юзается, ибо надо было компатибле виз эр пять.
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 7
01.04.2008, 16:59
В начале писал два способа, чувствуется прийдется их расписать

1 способ:


Code
1
2
3
4
5
6
7
8
9
10
11
12
Dim doc As NotesDocument
Dim v As Variant
 
Set doc = source.Document
 
v = doc.GetItemValue("Имя твоего поля")
 
if IsNumeric(doc.GetItemValue) Then
MessageBox "Введено число"
Else
MessageBox "Вы ввели текст"
End if
Второй способ:


Code
1
2
3
4
5
6
7
8
9
On Error 4412 Goto ErrHnd
 
[твой код]
 
Done:
Exit Sub
ErrHnd:
Msgbox "Поле не является строковым",16,"Предупреждение"
Resume Done
Вырезка из Help


Dim v As Variant
Print IsNumeric(v) Output: True (v is EMPTY)
v = 12
Print IsNumeric(v) Output: True
A string that is not interpretable as a number
v = "Twelve"
Print IsNumeric(v) Output: False
A string that is interpretable as a number
v = "12"
Print IsNumeric(v) Output: True
0
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364
01.04.2008, 17:44
да у меня ошибка уже на
If Isnumeric(doc.GetItemValue("trud")) Then
Msgbox "число"
ввожу буквы, а получаю сообщение "число"

причем проверку писала и на кверисейф в самом начале, и на соб. change поля
причем, если там же написать что-то типа t=doc.trud(0) то ошибка "Variant doesnt contain a container"
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
01.04.2008, 17:57
oxystile
Попробуй мою ф-ию.
0
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364
01.04.2008, 18:59
Omh
работает!
просто мега-функция!
спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2008, 18:59
Помогаю со студенческими работами здесь

добавить надпись в числовое поле
Как сделать в поле ,чтоб при наборе данных перед набором данных автоматически была надпись т.е например набираю в поле 2521222222 ,а должно...

Отфильтровать строковое поле как числовое
Всем привет, у меня такая проблема: в таблице имеется поле &quot;Цена&quot;(компоненты:Query, Dataset,Dbgrid) так получилось что я поставил для этого...

Добавить ограничение на ввод в числовое поле
Здравствуйте. Подскажите пожалуйста, возможно ли при создании таблицы на T-SQL создать такое поле (числовое), в которое можно ввести на...

Числовое поле не вводится сразу отрицательное число
Здравствуйте! В числовое поле DBSpinEdit не вводится отрицательное число если пытаться вводить его сразу начиная со знака &quot;-&quot;....

Как поймать ввод строки в числовое поле?
При вводе, например строки в числовое поле выдается соответсвующее сообщение, как его заменить своим сообщением и вообще обработать это...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru