以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]代码错误(已经解决,谢谢Bin)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43502)

--  作者:cqlwsam
--  发布时间:2013/12/9 11:11:00
--  [求助]代码错误(已经解决,谢谢Bin)
界面如下图:

图片点击可在新窗口打开查看此主题相关图片如下:360软件小助手截图20131209110902.jpg
图片点击可在新窗口打开查看
代码在控件cmb_kind的textchanged事件中,提示错误。代码如下:

Dim txt As String= e.sender.Text
Dim dtp1 As WinForm.DateTimePicker= e.Form.Controls("DateTimePicker1")
Dim dtp2 As WinForm.DateTimePicker= e.Form.Controls("DateTimePicker2")
If txt="住院患者" Then
    If e.Form.Controls("Rdo_dengji").Checked = True
        If dtp1.value= Nothing Then
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'"
            Else
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "登记日期< #" & dtp2.value & "#"
            End If
        Else
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "登记日期> #" & dtp1.value & "#"
            Else
                If dtp1.value>dtp2.value Then
                    MessageBox.Show("统计开始时间不能晚于统计截止时间,请重新填写统计开始时间或截止时间","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                    Return
                Else
                    e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "登记日期> #" & dtp1.value & "#" &  "登记日期< #" & dtp2.value & "#"
                End If
            End If
        End If
    End If
    If e.Form.Controls("Rdo_ruyuan").Checked = True
        If dtp1.value= Nothing Then
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'"
            Else
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "预约日期< #" & dtp2.value & "#"
            End If
        Else
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "预约日期> #" & dtp1.value & "#"
            Else
                If dtp1.value>dtp2.value Then
                    MessageBox.Show("统计开始时间不能晚于统计截止时间,请重新填写统计开始时间或截止时间","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                    Return
                Else
                    e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "预约日期> #" & dtp1.value & "#" &  "预约日期< #" & dtp2.value & "#"
                End If
            End If
        End If
    End If
Else
    If e.Form.Controls("Rdo_dengji").Checked = True
        If dtp1.value= Nothing Then
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter=""
            Else
                e.Form.Controls("Table5").Table.Filter="登记日期< #" & dtp2.value & "#"
            End If
        Else
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="登记日期> #" & dtp1.value & "#"
            Else
                If dtp1.value>dtp2.value Then
                    MessageBox.Show("统计开始时间不能晚于统计截止时间,请重新填写统计开始时间或截止时间","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                    Return
                Else
                    e.Form.Controls("Table5").Table.Filter="登记日期> #" & dtp1.value & "#" &  "登记日期< #" & dtp2.value & "#"
                End If
            End If
        End If
    End If
    If e.Form.Controls("Rdo_ruyuan").Checked = True
        If dtp1.value= Nothing Then
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter=""
            Else
                e.Form.Controls("Table5").Table.Filter="预约日期< #" & dtp2.value & "#"
            End If
        Else
            If dtp2.value=Nothing Then
                e.Form.Controls("Table5").Table.Filter="预约日期> #" & dtp1.value & "#"
            Else
                If dtp1.value>dtp2.value Then
                    MessageBox.Show("统计开始时间不能晚于统计截止时间,请重新填写统计开始时间或截止时间","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                    Return
                Else
                    e.Form.Controls("Table5").Table.Filter="预约日期> #" & dtp1.value & "#" &  "预约日期< #" & dtp2.value & "#"
                End If
            End If
        End If
    End If

错误提示如下图:

图片点击可在新窗口打开查看此主题相关图片如下:360软件小助手截图20131209110537.jpg
图片点击可在新窗口打开查看

到底错在哪儿?谢谢!
[此贴子已经被作者于2013-12-9 11:21:30编辑过]

--  作者:Bin
--  发布时间:2013/12/9 11:14:00
--  
e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\'" & "登记日期< #" & dtp2.value & "#"

你几乎所有的条件都少了 AND   两个同时成立的条件应该使用AND连接

e.Form.Controls("Table5").Table.Filter="情况说明=\'已入院\' and 登记日期< #" & dtp2.value & "#"

--  作者:cqlwsam
--  发布时间:2013/12/9 11:15:00
--  
哦。低级错误,不应该。谢谢!