以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  查询窗口,提示类型错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38580)

--  作者:cqyanglm
--  发布时间:2013/8/1 16:49:00
--  查询窗口,提示类型错误
日期类型定义错误,我该如何改呢,查询窗口满足某个日期,但现在只定义了一个 Dim Filter As String
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "当班班级 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "当班班次 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & " 日期= \'" & .Value & "\'"
    End If
End With
If Filter > "" Then
    Tables("调度交接班表_Table1").Filter = Filter
    Tables("调度交接班表_Table2").Filter = Filter
    Tables("调度交接班表_Table3").Filter = Filter
    Tables("调度交接班表_Table4").Filter = Filter
    Tables("调度交接班表_Table5").Filter = Filter
    Tables("调度交接班表_Table6").Filter = Filter
    Tables("调度交接班表_Table7").Filter = Filter
End If

If Filter > "" Then
    Tables("调度交接班表_Table1").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table1").DataTable.load
    Tables("调度交接班表_Table2").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table2").DataTable.load
    Tables("调度交接班表_Table3").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table3").DataTable.load
    Tables("调度交接班表_Table4").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table4").DataTable.load
    Tables("调度交接班表_Table5").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table5").DataTable.load
    Tables("调度交接班表_Table6").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table6").DataTable.load
    Tables("调度交接班表_Table7").DataTable.loadFilter = Filter
    Tables("调度交接班表_Table7").DataTable.load
    End If
Relations.Add("关联1",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table3").DataCols("日期"))
Relations.Add("关联2",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table2").DataCols("日期"))
Relations.Add("关联3",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table4").DataCols("日期"))
Relations.Add("关联4",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table5").DataCols("日期"))
Relations.Add("关联5",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table6").DataCols("日期"))
Relations.Add("关联6",DataTables("调度交接班表_Table1").DataCols("日期"),DataTables("调度交接班表_Table7").DataCols("日期"))

--  作者:Bin
--  发布时间:2013/8/1 16:51:00
--  
ACCESS 或者内部表 日期请使用 #号 不要使用单引号.
--  作者:狐狸爸爸
--  发布时间:2013/8/1 16:55:00
--  

错误提示是什么?

如果你的是ACCESS数据源,或者内部数据源,那么日期应该用#:

 

 

With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & " 日期= #" & .Value & "#"
    End If
End With

--  作者:cqyanglm
--  发布时间:2013/8/1 16:55:00
--  
谢谢Bin
--  作者:lsy
--  发布时间:2013/8/1 17:05:00
--  

看了楼主的代码,觉得楼主还是先好好看几遍帮助为好。

集合、数组、循环、字符串拆解、组合,表、列、窗口、控件等等的命名,都有很多技巧,这些都是写代码的基本功。

磨刀不误砍柴功。