以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]筛选检查框选中的行,并输出  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109000)

--  作者:zileiquan88
--  发布时间:2017/11/2 11:19:00
--  [求助]筛选检查框选中的行,并输出

我建了一个查询窗口,有combox和checkbox,想筛选checkbox被选中的行,和combox中的筛选内容一起输出,这个代码需要怎么改。菜鸟求教!

Dim nms() As String ={"SP_Number","BZ_Name","StartDate","EndDate","SB_Sort1","SB_Sort2","SB_Sort3","SB_Name","SB_Number","WX_Mod"}
Dim sps() As String = {"\'","\'","#","#","\'","\'","\'","\'","\'","\'"}
Dim bjf() As String = {" = "," ="," >= "," <= "," = "," = "," = "," = "," =" ," = "}
Dim fds() As String ={"审批编号","泵站名称","填报日期","填报日期","设备分类_一类","设备分类_二类","设备分类_三类","设备名称","设备编号","维修方式"}
Dim Filter As String
Dim chk1 As WinForm.CheckBox = e.Form.controls("WX_Maintenance")
Dim chk2 As WinForm.CheckBox = e.form.controls("Finished")

For i As Integer = 0 To nms.length - 1
    If e.Form.controls(nms(i)).value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & fds(i) & bjf(i) & sps(i) & e.Form.controls(nms(i)).value & sps(i)
    End If
Next
With e.Form.Controls("WX_Maintenance")
If .value IsNot Nothing Then
    Filter = Filter & "保养 = \'" & .Value & "\'"
   End If
End With
With e.Form.Controls("Finished")
 If .value IsNot Nothing Then
        Filter = Filter & "已完成 = \'" & .Value & "\'"
    End If
End With
Tables("设备故障情况表").Filter = Filter


--  作者:zileiquan88
--  发布时间:2017/11/2 11:26:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171102112409.jpg
图片点击可在新窗口打开查看
不会上传图片,只能上传个附件,望大师们见谅!
--  作者:有点甜
--  发布时间:2017/11/2 11:32:00
--  

With e.Form.Controls("WX_Maintenance")
    If .checked Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "保养 = true"
    End If
End With
With e.Form.Controls("Finished")
    If .checked Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "已完成 = true"
    End If
End With

 

msgbox(filter)


--  作者:zileiquan88
--  发布时间:2017/11/2 11:33:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171102113142.jpg
图片点击可在新窗口打开查看
预览之后就出现这个
--  作者:有点甜
--  发布时间:2017/11/2 11:53:00
--  
贴出你写的代码,3楼的代码并没有写.value
--  作者:zileiquan88
--  发布时间:2017/11/2 12:57:00
--  

If e.Form.Controls("WX_Maintenance").checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
   
    Filter = Filter & "保养 = True"
End If

If e.Form.Controls("Finished").checked = True
    If Filter >"" Then
        Filter = Filter & " And "
    End If
   
    Filter = Filter & "已完成 = True"
End If
我改成了这样,不跳出运行错误对话框了,帮我看看有没有什么问题。


--  作者:zileiquan88
--  发布时间:2017/11/2 13:09:00
--  

我还有一个问题,双击表,不能修改表里的内容,不知是我哪里设置了,可是我找不到!



图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171102131159.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/11/2 13:12:24编辑过]

--  作者:zileiquan88
--  发布时间:2017/11/2 13:14:00
--  
谢谢甜大师,刚才那个问题,暂时解决,又来个新问题,需要帮助。双击表,没有办法修改表里的数据!
--  作者:有点甜
--  发布时间:2017/11/2 14:28:00
--  
贴出你表事件->doubleclick事件的代码
--  作者:zileiquan88
--  发布时间:2017/11/3 10:45:00
--  


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

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

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