以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码运行出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132832)

--  作者:hanzhang98
--  发布时间:2019/3/31 7:53:00
--  [求助]代码运行出错
老师早上好!“TextBox1”为窗口中的文本框,用于输入姓名,保存时如果没有输入内容(为空)则提示输入。但代码运行出错,请老师帮助。谢谢!

If e.Form.Controls("TextBox1") = "" Then
    MessageBox.Show("  姓名不能为空! ","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
    Return
End If


--  作者:刘林
--  发布时间:2019/3/31 9:03:00
--  
If e.Form.Controls("TextBox1").TEXT = "" Then
    MessageBox.Show("  姓名不能为空! ","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
    Return
End If

--  作者:hanzhang98
--  发布时间:2019/3/31 9:09:00
--  
谢谢[刘林]老师指导。


--  作者:hanzhang98
--  发布时间:2019/3/31 10:11:00
--  
各位老师好!又有问题请教。比如窗口的“TextBox5”文本框用来输入“身份证号”,为必输项,且必须是18位有效数字,如果未输入时提示“不能为空”(这个已实现);如果输入内容但是不足18位或是有效数字时,提示“必须是18位有效数字”,并且不能离开文本框(也就是必须输入18位有效数字的身份证号才能离开该文本框)。如下这个代码是否正确、且应该将代码写在那里才能实现上述第二步的功能?
If e.Form.Controls("TextBox5").TEXT <> 18 Then
   MessageBox.Show("  [身份征号]必须为18位数字!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
   Return
End If

    我将上述代码写在文本框的离开控件前事件“Validating”中,虽能出现提示,但是是在系统出错提示之后,输入焦点能离开该文本框。如何修正,请老师们帮助。谢谢。

--  作者:有点甜
--  发布时间:2019/4/1 11:32:00
--  
If e.Form.Controls("TextBox5").length <> 18 Then
   MessageBox.Show("  [身份征号]必须为18位数字!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
   e.cancel = true
End If