前言
上一篇文章简单的介绍了组合查询!
今天在完成其他的组合查询窗体时,有了一点小发现!现在来总结一下!
一、代码
代码上有了一点的小改动!
在进行组合条件判断的时候,我们往往通过一堆的if语句进行嵌套然后进行判断,今天用了另外一种方法,感觉比较简单,也很容易理解!
'用ok1、ok2和ok3来反映查询条件框的填写情况
If Trim(ziduancombo1(0).Text) <> "" And Trim(caozuofuCombo1(0).Text) <> "" And Trim(txtchaxun1.Text) <> "" Then
ok1 = True
Else
ok1 = False
End If
If Trim(ziduancombo1(1).Text) <> "" And Trim(caozuofuCombo1(1).Text) <> "" And Trim(txtchaxun2.Text) <> "" Then
ok2 = True
Else
ok2 = False
End If
If Trim(ziduancombo1(2).Text) <> "" And Trim(caozuofuCombo1(2).Text) <> "" And Trim(txtchaxun3.Text) <> "" Then
ok3 = True
Else
ok3 = False
End If
这样在进行判断的时候就方便了很多!
If ok1 = False Then
MsgBox "请填写完整查询条件!", vbOKOnly + vbExclamation, "警告"
Else
txtSQL = "select * from student_info where " & field(Trim(ziduancombo1(0).Text)) & Trim(caozuofuCombo1(0).Text) & " '" & Trim(txtchaxun1.Text) & "'"
Set mrc = executeSQL(txtSQL, msgtext)
其他部分的代码按照同样的方法结合上一篇博客的代码一次类推就OK了!
二、发现
今天完成的窗体是“操作员工作记录”,这个窗体与之前不同的是,字段中有了日期。 日期在文本框中输入很麻烦,所以可以加入一个日期控件来快速选择日期。
三、问题
加入日期控件很容易,但是窗体中已经有了文本框来收集信息了,那么日期控件该放在哪里?
1、日期控件单独独立出来,只有字段中选择日期相关的选项后在通过日期控件来记录信息。
这样做的话,应该是可以实现的,但是这样会给用户的带来不好的体验,也会让窗体布局变得繁琐,代码逻辑上困难在加大!
2、日期控件和文本框交替出现。所谓的交替出现就是当你选择了与日期相关的字段时,会自动隐藏文本框,显示出日期控件。
这样做的做的话,应该也可以实现,但是代码实现上该怎么处理?
四、实现
1、添加日期控件 dtpicker 控件。
(1)在查询内容文本框上画出控件。
(2)设置日期控件的属性
CheckBox=true 因为这个控件不允许空值。
visible=false 日期控件默认不可见
改名 :在这里我为了简便改名为 DTP1
2、代码实现
(1)在字段选择框的单击事件中添加代码,
Private Sub ziduancombo1_Click()
If ziduancombo1.Text = "登录日期" Or ziduancombo1.Text = "登出日期" Then '当选择登录日期或者登出日期的时候
txtchaxun1.Text = "" '清空文本框中的内容
txtchaxun1.Visible = False '将文本框设置为不可见
dtp1.Visible = True '显示日期控件
dtp1.Value = "2017-1-1" '给日期控件一个默认值
Else
txtchaxun1.Visible = True '选择其他非日期选项的时候恢复设置
dtp1.Visible = False
txtchaxun1.Text = ""
End If
End Sub
(2)在日期控件的change事件中添加代码,
将日期控件获得的值赋值给文本框
Private Sub dtp1_Change()
txtchaxun1.Text = Format(dtp1.Value)
End Sub
这样就实现了。
结束语
感谢你的阅读,如果你有好的方法,欢迎分享!