Пустой элемент управления Masked Edit, возвращающий маску для текста
У меня есть простая форма с несколькими необязательными полями - FirstName, LastName, SSN и DOB. Пользователь может либо ввести значение, либо оставить его пустым. Я вижу проблему с моим DOB maskedtextbox. Первоначально, если пользователь не вводит DOB, он сохраняется как нулевой. Позже, пользователь имеет возможность редактировать DOB. Проблема, с которой я сталкиваюсь, заключается в том, что если в режиме EDIT пользователь не вводит никакого значения в DOB, система записывает изменение в "##/##/####", что является моей маской. Поэтому, когда я запускаю редактирование, и пользователь меняет только имя и фамилию, оставляя DOB пустым, я получаю сообщение об ошибке "Преобразование не удалось при преобразовании даты / времени из строки. " Я не уверен, следует ли мне преобразовывать маску " ## / ## / #### "в Null, прежде чем я вставлю правки? Это мое заявление на случай, если значение DOB изменится. Если это так, он записывает изменения в таблицу. У меня есть подобное утверждение для всех других полей, и все прекрасно работает.
If Not IsNull(Me.mskDOB.Text) And Me.mskDOB.Text <> "" Then
If IIf(IsNull(g_RS!DOB), "", g_RS!DOB) <> Me.mskDOB.Text Then
g_strSQL2 = g_strSQL2 & " DOB = '" & Me.mskDOB.Text & "',"
End If
1 ответ
Элемент управления MaskedEdit имеет PromptInclude
свойство, которое говорит:
Указывает, содержатся ли символы подсказки в значении свойства Text.
Установка этого свойства в False
позволит вам проверить Text
свойство, чтобы увидеть, если оно пустое (равно "").