你只在AfterLoad设置你相关代码,留意代码加粗的一行:
e.form.Controls("DateTimePicker2").Value = Today.Date()
Dim T As String =e.form.Controls("DateTimePicker2").Value
Dim cmd2 As New SQLCommand
Dim dt2 As DataTable
Dim cmb2 As WinForm.CheckedComboBox
cmd2.C
cmd2.CommandText = "SELECT DISTINCT 收件人 From {快递管理} Where [邮寄日期] = #" & T & "#"
dt2 = cmd2.ExecuteReader()
cmb2 = e.Form.Controls("CheckedComboBox3")
cmb2.ComboList= dt2.GetComboListString("收件人")
如此设置,始终根据的都是今天的日期来查找的,不管你设置的默认值是什么。
如果你把代码改为:
e.form.Controls("DateTimePicker2").Value = Today.Date().Adddays(-1)
Dim T As String =e.form.Controls("DateTimePicker2").Value
Dim cmd2 As New SQLCommand
Dim dt2 As DataTable
Dim cmb2 As WinForm.CheckedComboBox
cmd2.C
cmd2.CommandText = "SELECT DISTINCT 收件人 From {快递管理} Where [邮寄日期] = #" & T & "#"
dt2 = cmd2.ExecuteReader()
cmb2 = e.Form.Controls("CheckedComboBox3")
cmb2.ComboList= dt2.GetComboListString("收件人")
那么朱建就出来了。
所以我说你应该用MessageBox检查一下SQL语句,你会发现当你选择昨天的时候,合成的SQL语句中,使用的还是今天的日期。
[此贴子已经被作者于2011-5-19 12:26:00编辑过]