Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: Силblч все работает! в классе по текстбоксу
Option Explicit Public WithEvents oTxtBox As MSForms.TextBox 'создаем элемент с отслеживанием его событий 'за назначение с отслеживанием событий отвечает оператор WithEvents '(может применяться только в модулях классов) 'и события не все :( '-- а пох! создадим статический текстбокс на форме и будем юзать :) Private Sub oTxtBox_Change() On Error GoTo err123 With frmReports.txtValidate frmReports.idRowActive = Replace(oTxtBox.name, "txtValue", "") .ZOrder 0 .top = oTxtBox.top .left = oTxtBox.left .Height = oTxtBox.Height .Width = oTxtBox.Width .BackStyle = fmBackStyleOpaque .BorderStyle = fmBorderStyleNone .TextAlign = fmTextAlignLeft .SpecialEffect = fmSpecialEffectEtched .value = oTxtBox.value .Visible = True .SetFocus End With Exit Sub err123: MsgBox Error, , "ValidateEdit #" & Err Exit Sub End Sub
Public Sub txtValidate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo err123 Select Case Me.Controls("txtFormat" & idRowActive).value Case "List", "List®" Case "Text", "Text®" Case "Number" If Not IsNumeric(Me.txtValidate) And Me.txtValidate <> "null" Then MsgBox "Требуется Число или слово 'null'", , "ValidateEdit" Cancel = True Exit Sub End If Case "Number®" If Not IsNumeric(Me.txtValidate) Then MsgBox "Требуется Число", , "ValidateEdit" Cancel = True Exit Sub End If Case "Date", "Date®" If Not IsDate(Me.txtValidate) Then MsgBox "Требуется дата", , "ValidateEdit" Cancel = True Exit Sub End If Case "Check", "Check®" Case "Select", "Select®" End Select Exit Sub err123: MsgBox Error, , "txtValidate_BeforeUpdate" Exit Sub End Sub Private Sub txtValidate_Exit(ByVal Cancel As MSForms.ReturnBoolean) Me.Controls("txtValue" & idRowActive).value = Me.txtValidate.value Me.txtValidate.Visible = False On Error Resume Next ' бывает косячек, некогда досматривать :) Me.Controls("txtValue" & idRowActive).SetFocus End Sub
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.