| |
|
|
| | На событие KeyPress в ListView проверяю какие данные поступают с клавы - точнее какая кнопка нажата.
Отфильтровываю только цифры, так как именно числовое поле в таблице буду заполнять.
If (KeyAscii < 48 Or KeyAscii > 57) Then Exit Sub
Далее передаю данные о текущем значении в поле и значение нажатой клавиши в функцию
STRR = FUN_IN_TEXT_BOX(Me!LV.SelectedItem.ListSubItems(2), Chr(KeyAscii))
====================================================================
Может советы или варианты етой функции у кто имеются
Public Function FUN_IN_TEXT_BOX(STR_1 As String, STR_2 As String) As String
' функция последовательного слияния данных, введённых в поле в ListView
' STR_1 уже записано в поле
' STR_2 добавить к написаному в поле
Dim SUMMA As String
If STR_2 = "-" Then ' удаление символа
FUN_IN_TEXT_BOX = Left(STR_1, Len(STR_1) - 1)
Else
FUN_IN_TEXT_BOX = STR_1 & STR_2
End If
If FUN_IN_TEXT_BOX = "" Then FUN_IN_TEXT_BOX = "0"
If InStr(1, FUN_IN_TEXT_BOX, ",", 3) <> 0 Then
SUMMA = Left(FUN_IN_TEXT_BOX, InStr(1, FUN_IN_TEXT_BOX, ",", 3) - 1)
SUMMA = SUMMA & "."
FUN_IN_TEXT_BOX = SUMMA & Mid(SUMMA, InStr(1, FUN_IN_TEXT_BOX, ",", 3) + 1)
End If
If Right(FUN_IN_TEXT_BOX, 1) = "." Then FUN_IN_TEXT_BOX = FUN_IN_TEXT_BOX & "0"
End Function
|  | |
| |
| |
| |
|
|
| | а для чего?
If (KeyAscii < 48 Or KeyAscii > 57) Then Exit Sub
|
а если число 12,25 - тада как
чето похожее
Private Sub Поле14_KeyPress(KeyAscii As Integer)
Select Case KeyAscii - анализируем нажатую клавишу
Case 1040 To 1103 - это символы кирилицы (в данном случае)
N_G = N_G & ChrW(KeyAscii) - это к глобальной переменной добавил нажатый символ.
end select
end sub | |
| |
| |
| |
|
|
| | если число 12,25 - тада как
Тада так:
If (KeyAscii < 48 Or KeyAscii > 57) AND KeyAscii <> 44 Then Exit Sub | |
| |
| |
| |
|
|
| | а точечку захочет юзерская душа вводить а не зпт, или как в 1С разделять запятыми - а точка для десятичного, али пробелами возалчет яго душа пользоваться - как в Екселе | |
| |
| |
| |
|
|
| | Вот вот - потому и хочу функцу написать чтобы это всё отлаливать и оставлять толь ко как нужно
12.5 | |
| |
| |
| |
|
|
| | а не поще указать формать поля "Число" и оно само не даст ввести тебе "13ав123,23,23!Э" | |
| |
| |