添加部分的思路前面的流程图基本适用就不附图啦~主要聊一下怎么一次判断当前窗体是否存在空值,注册篇有写一次清空控件的,一次判断当前窗体是否存在空值就是在其基础上进行的改动
- 代码
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then '是否为控件
If ctrl.Text = "" Then '判断内容是否为空
MsgBox "内容不能为空哦", vbOKOnly + vbExclamation, "温馨提示"
ctrl.SetFocu
- 判断控件类
首先,添加和删除用户窗体中的添加部分控件分为两种:textbox和combobox。那么我们就对这两种控件进行判断即可。If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then '是否为控件
通过这行代码实现,因为有两种类型的控件,可以使用or进行连接,这样一行代码就ok啦,不需要再重新写一版将textbox替换成combotext的版本啦。
使用同等方法的清空也适用。举例(依旧是存在textbox和combobox两种控件的情况下):
For Each ctrl In Me.Controls If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then '是否为文本框TextBox ctrl.Text = ""
这样可以通过一行代码同时清除两种控件的内容啦。
- 判断控件的值是否为空
If ctrl.Text = "" Then '判断内容是否为空
通过这行代码实现,可以看到我们之前定义了ctrl进行控制,所谓擒贼擒王,所以这里适用ctrl即可,它的任务就是判断了这两种类型的控件每个是否都有值,如果没有值回弹提示款告诉你(根据空值的控件个数报提示框,比如有两个控件值为空,那么提示款回弹两次),并使空值控件获得焦点。当然这个的好处就是可以省略很多xxxx.text=""的写法,但是与之相比也是有缺点的,它能够提示你内容不能为空,但不能明确指出是具体是那个内容为空这咋办呐~到我们的下一步
- 空值控件获取焦点
不过不太要紧的是它通过ctrl.SetFocu
使空值控件获得焦点,这样在光标处输入内容即可。
是不是超级方便呢~