以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192802)

--  作者:hanlingli119
--  发布时间:2024/7/23 16:54:00
--  统计问题
输入以下代码,双击节点,出现至少一个参数未被指定,怎么处理
Dim Filter As String = ""
If e.Node.Name <> "加载所有行" Then \'要用Name属性,不能用Text属性
    Dim Year As String = e.Node.DataRow("位置1")
    Dim Month As String = e.Node.DataRow("位置2")
    Dim Product As String = e.Node.DataRow("名称")
    Select Case e.Node.Level
        Case 0
            Filter = "Year(\'位置1\') = " & Year
        Case 1
           Filter = "Year(\'位置1\') = " & Year & " And Month(\'位置2\') = " & Month
        Case 2
            Filter = "Year(\'位置1\') = " & Year & " And Month(\'名称\') = " & Month & " And 名称 = \'" & Product & "\'"
    End Select
End If
DataTables("其它算量").LoadFilter = Filter
DataTables("其它算量").Load()

--  作者:有点蓝
--  发布时间:2024/7/23 17:04:00
--  
看帮助要先理解,帮助里使用的是日期列,所以可以使用year、Month这些用法,"位置1"这些列是日期型的吗?
--  作者:hanlingli119
--  发布时间:2024/7/24 15:15:00
--  
虽然我用的  year  ,但我重新定义了Dim Year As String ,其他弄不了了,请老师给调整一下
--  作者:有点蓝
--  发布时间:2024/7/24 15:50:00
--  
下面这些是表达式针对日期的语法:http://www.foxtable.com/webhelp/topics/0692.htm

此主题相关图片如下:1.png
按此在新窗口浏览图片

既然没有用到日期,那么建议定义变量名称的时候也不要使用这种任意产生误会的名称,给自己挖坑

Dim weizhi1 As String = e.Node.DataRow("位置1")
Dim weizhi2 As String = e.Node.DataRow("位置2")
……
        Case 2
            Filter = "位置1 = \'" & weizhi1 & " And 位置2 = "\' & Month & "\' And 名称 = \'" & Product & "\'"
……
其它case0、case1自己参考上面用法改

--  作者:hanlingli119
--  发布时间:2024/7/24 15:51:00
--  
谢谢老师