Foxtable(狐表)用户栏目专家坐堂 → 查询表


  共有3639人关注过本帖树形打印复制链接

主题:查询表

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
查询表  发帖心情 Post By:2021/4/17 10:10:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:11111.png
图片点击可在新窗口打开查看
我想做一下这样的查询表,这样写,表上不显示数据!
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        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 & "Month(日期) = '" & Month(.Value) & "'"
    End If
End With
With e.Form.Controls("DropBox1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "车牌号码 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "缴费_月租_起计日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "缴费_月租_止计日期 <= #" & .Value & "#"
    End If
End With
With DataTables("车辆缴费情况查询_Table1")
    If Filter > "" Then
        LockBaseMainForm() '锁定主界面
        .StopRedraw()
        For i As Integer = .DataRows.count - 1 To 0 Step -1
            .DataRows(i).Delete
        Next
        .LoadFilter = Filter
        .LoadOrder = "日期"
        .Load()
        .ResumeRedraw()
        UnLockBaseMainForm() '解锁主界面
    End If
End With

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/17 11:01:00 [显示全部帖子]

安日期排序啊,数据源是分页加载的。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/17 11:20:00 [显示全部帖子]

比如已经加载过一次,又重选条件,再点查询按钮就要把已经加载的数据清除,改为这样还是不行:
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        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 & "Month(日期) = '" & Month(.Value) & "'"
    End If
End With
With e.Form.Controls("DropBox1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "车牌号码 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "缴费_月租_起计日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "缴费_月租_止计日期 <= #" & .Value & "#"
    End If
End With
With DataTables("车辆缴费情况查询_Table1")
    If Filter > "" Then
        If DataTables.Contains("车辆缴费情况查询_Table1") = False Then
            For i As Integer = .DataRows.count - 1 To 0 Step -1
                .DataRows(i).Delete
            Next
        Else
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
            .LoadFilter = Filter
            .LoadOrder = "日期"
            .Load()
            .ResumeRedraw()
            UnLockBaseMainForm() '解锁主界面
        End If
    End If
End With

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/17 12:08:00 [显示全部帖子]

不行,还是没数据显示。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/19 17:09:00 [显示全部帖子]

月租和临时停放在缴费情况表中分开在不同的列显示,现在我想做一个查询表

图片点击可在新窗口打开查看此主题相关图片如下:41902.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:41901.png
图片点击可在新窗口打开查看
这样写,没数据显示:
With e.Form.Controls("ComboBox1")
    If .Value = e.Form.Controls("ComboBox1").Items(0)
        Dim Filter As String
        Filter = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter >"" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_起计日期 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter >"" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_止计日期 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "车牌号码 = '" & .Value & "'"
            End If
        End With
        With DataTables("安所属日期查询_Table1")
            If Filter > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    ElseIf .Value = e.Form.Controls("ComboBox1").Items(1)
        Dim Filter1 As String
        Filter1 = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter1 >"" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_起计时间 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter1 >"" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_止计时间 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
            End If
        End With
        With DataTables("安所属日期查询_Table1")
            If Filter1 > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter1
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    End If
End With


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/19 18:13:00 [显示全部帖子]

改为这样:
With e.Form.Controls("ComboBox1")
    If .Value = e.Form.Controls("ComboBox1").Items(1)
        Dim Filter As String
        Filter = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter >"" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_起计日期 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter >"" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_止计日期 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "车牌号码 = '" & .Value & "'"
            End If
        End With
        Messagebox.show(Filter)
        With DataTables("安所属日期查询_Table1")
            If Filter > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    ElseIf .Value = e.Form.Controls("ComboBox1").Items(2)
        Dim Filter1 As String
        Filter1 = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter1 >"" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_起计时间 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter1 >"" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_止计时间 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
            End If
        End With
        Messagebox.show(Filter1)
        With DataTables("安所属日期查询_Table1")
            If Filter1 > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter1
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    End If
End With
只弹出一个窗口

图片点击可在新窗口打开查看此主题相关图片如下:41903.png
图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/19 18:14:00 [显示全部帖子]

我没选车牌号码,所以组合成上面的条件。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/19 21:46:00 [显示全部帖子]

月租的没问题了,临时停放的起止时间格式是时间,要转为日期格式,我这样写还是不行:
With e.Form.Controls("ComboBox1")
    If .Value = e.Form.Controls("ComboBox1").Items(1)
        Dim Filter As String
        Filter = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_起计日期 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_止计日期 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "车牌号码 = '" & .Value & "'"
            End If
        End With
        With DataTables("安所属日期查询_Table1")
            If Filter > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    ElseIf .Value = e.Form.Controls("ComboBox1").Items(2)
        Dim Filter1 As String
        Filter1 = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_起计时间 <= #" & Format(.Value, "yyyy-MM-dd") & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_止计时间 >= #" & Format(.Value, "yyyy-MM-dd") & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
            End If
        End With
        Messagebox.show(Filter1)
        With DataTables("安所属日期查询_Table1")
            If Filter1 > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter1
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    End If
End With

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1882 积分:10385 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/20 16:57:00 [显示全部帖子]

很不明白,为什么红色标注的日期这样写找不到符合条件的数据,起计日期改为小于,止计日期改为大于就出现数据,而下面的起计时间、止计时间这样写没问题。
With e.Form.Controls("ComboBox1")
    If .Value = e.Form.Controls("ComboBox1").Items(1)
        Dim Filter As String
        Filter = "分类 = '" & .Value & "'"
        With e.Form.Controls("StartDate")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_起计日期 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("EndDate")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "缴费_月租_止计日期 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter > "" Then
                    Filter = Filter & " And "
                End If
                Filter = Filter & "车牌号码 = '" & .Value & "'"
            End If
        End With
        With DataTables("安所属日期查询_Table1")
            If Filter > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    ElseIf .Value = e.Form.Controls("ComboBox1").Items(2)
        Dim Filter1 As String
        Filter1 = "分类 = '" & .Value & "'"
        With e.Form.Controls("DateTimePicker1")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_起计时间 >= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DateTimePicker2")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "缴费_临时停放_止计时间 <= #" & .Value & "#"
            End If
        End With
        With e.Form.Controls("DropBox1")
            If .Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
            End If
        End With
        Messagebox.show(Filter1)
        With DataTables("安所属日期查询_Table1")
            If Filter1 > "" Then
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                .LoadFilter = Filter1
                .Load()
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With
    End If
End With

 回到顶部