以文本方式查看主题

-  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=125066)

--  作者:cd_tdh
--  发布时间:2018/9/19 11:21:00
--  表达式动态获取当年

表达式生成器里面怎么动态获取当年呢?

[中标日期] > ‘2018-01-01’  

 

[此贴子已经被作者于2018/9/19 11:21:24编辑过]

--  作者:有点甜
--  发布时间:2018/9/19 11:38:00
--  

筛选器那里设置,不能用变量、代码等东西的。

 

如果是sql语句的话,你可以用函数,比如获取今年 year(getDate())


--  作者:cd_tdh
--  发布时间:2018/9/19 11:47:00
--  

只能用代码了,还有个问题,用页签后,统计的数据怎么在一个独立窗口里面显示啊?

 

 


--  作者:有点甜
--  发布时间:2018/9/19 11:51:00
--  
以下是引用cd_tdh在2018/9/19 11:47:00的发言:

只能用代码了,还有个问题,用页签后,统计的数据怎么在一个独立窗口里面显示啊?

 

 

 

不能做一个独立窗口,放入table控件,然后显示结果?


--  作者:cd_tdh
--  发布时间:2018/9/19 12:22:00
--  

老师,在窗口里面显示,怎么设置固定列宽呢?这样所有列都一样宽,第一列怎么单独设置,我这样设置效果倒是达到了有点牵强?

 

For Each cvs As Col In Tables("年度中标统计_Table1").Cols
    \'msgbox(cl.Name)
    Tables("年度中标统计_Table1").Cols(cvs.Name).Width = 80
    Tables("年度中标统计_Table1").DataTable.DataCols(cvs.Name).SetFormat("0.00")
Next
    Tables("年度中标统计_Table1").Cols("所属机构").Width = 120

 

 

[此贴子已经被作者于2018/9/19 13:59:39编辑过]

--  作者:有点甜
--  发布时间:2018/9/19 14:57:00
--  

像你那样设置没问题。

 

如果要在循环里面判断,可以这样写

 

For Each cvs As Col In Tables("年度中标统计_Table1").Cols
    If cvs.Name = "所属机构" Then
        cvs.width = 120
    Else
        cvs.Width = 80
    End If
    cvs.DataCol.SetFormat("0.00")
Next


--  作者:cd_tdh
--  发布时间:2018/9/19 15:02:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180919145950.png
图片点击可在新窗口打开查看
这怎么判断呢?个数一个列宽,金额一个列宽,用Like判断无效?

 

 If cvs.Name Like \'%中标金额%’Then

   cvs.width = 80

 If cvs.Name Like \'%中标个数%’Then

   cvs.width = 60

 

 

 

[此贴子已经被作者于2018/9/19 16:30:33编辑过]

--  作者:有点甜
--  发布时间:2018/9/19 16:28:00
--  

For Each cvs As Col In Tables("年度中标统计_Table1").Cols
    If cvs.Caption Like "*金额*" Then
        cvs.width = 120
    ElseIf cvs.Caption Like "*个数*" Then
        cvs.Width = 80
    End If
    cvs.DataCol.SetFormat("0.00")
Next