以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]如何查询指定时间段已结帐用户明细  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=2119)

--  作者:wuhui
--  发布时间:2011/8/5 15:37:00
--  [求助]如何查询指定时间段已结帐用户明细
egd文件下载

-=-=-=- 以下内容由 wuhui2011年08月05日 03:39pm 时添加 -=-=-=-
如何设置“查询已结账用户明细”按钮的公式,请指教。

-=-=-=- 以下内容由 wuhui2011年08月05日 03:45pm 时添加 -=-=-=-
主要是针对“交费时间”字段,查询某一时间段有多少人交费。
--  作者:wjq1072
--  发布时间:2011/8/5 17:09:00
--  
egd文件下载
--  作者:wuhui
--  发布时间:2011/8/7 1:14:00
--  
学习了,谢谢。
--  作者:wuhui
--  发布时间:2011/8/8 15:15:00
--  
经过学习发现“查询已结账用户明细”的按钮公式中存在两个问题:
1、不能查询某一天的明细记录,如:输入“开始日期”2011-8-5 “结束日期”2011-8-5,查询无明细,而实际上这一天有交费记录。
2、不能查询当天的记录,无论输入2011-8-1至2011-8-8,还是输入2011-8-8至2011-8-8都查询不到今天的明细。
烦请指教。
--  作者:wjq1072
--  发布时间:2011/8/8 16:33:00
--  
把交费时间的刷新公式:
If([结帐] = -1,Now(),"")
更改为:
If([结帐] = -1,Today(),"")
--  作者:wuhui
--  发布时间:2011/8/8 17:56:00
--  
把交费时间的刷新公式改为If([结帐] = -1,Today(),"")后,新增的记录可以实现要求,但是以前的记录还是查询不到。(因为改了刷新公式后,不能立即刷新,否则以前的交费时间都变成今天的日期了)如何解决?


--  作者:wjq1072
--  发布时间:2011/8/8 19:29:00
--  
egd文件下载
临时设置按钮公式:(参考第一个需要更改的表)
AddCol(GridName,"k",2, True ) And
SetColFormula(GridName,"k","If([结帐]=-1,Today(),"""")") And
EvalFor(GridName,"k","Left(Text([交费时间]),10)") And
DeleteCol(GridName,"交费时间") And
MoveCol("k",8) And RenameCol(8,"交费时间")
--  作者:wjq1072
--  发布时间:2011/8/8 22:05:00
--  
egd文件下载
--  作者:wuhui
--  发布时间:2011/8/8 22:58:00
--  
想点击“另存为新表”按钮后,使新表的“结账”列的操作公式为if([结帐] = -1,LockRow(Row),UnLockRow(Row),试了半天都不成功,请指教!

-=-=-=- 以下内容由 wuhui2011年08月09日 00:01am 时添加 -=-=-=-
另外还想在“另存为新表”按钮公式中加个函数,使新表的编号列的刷新公式为"SW"+format([交费时间],"yymmdd")+right("000"+text(CountFor(Grid,"交费时间","=",[交费时间],1,Row)),4)
--  作者:Czy
--  发布时间:2011/8/10 0:46:00
--  
SetColFormula
在运行过程中动态设置指定列的刷新公式。

语法
SetColFormula(Grid,Col,Formula)
Grid       指定表,可以用表名称,也可以用表位置表示。
Col        指定列,可以用列名称,也可以用列位置表示。
Formula    刷新公式。

例子
SetColFormula(GridName,"金额","[数量]*[单价]*(1-[折扣])")

提示:如果刷新公式中有引号,那么公式用两个引号表示一个,具体写法:

1、按照常规写出刷新公式:
SetColFormula(GridName,"型号",FindText("产品资料","品名","编号","=",[编号]))

2、将刷新公式中的每个双引号分别用连续的两个双引号代替:
SetColFormula(GridName,"型号",FindText(""产品资料"",""品名"",""编号"",""="",[编号]))

3、最后给刷新公式的两端加上双引号:
SetColFormula(GridName,"型号","FindText(""产品资料"",""品名"",""编号"",""="",[编号])")