以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 聚合函数Max()的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81476) |
-- 作者:sjzsdu -- 发布时间:2016/2/28 21:05:00 -- 聚合函数Max()的问题 当添加新纪录时,表中的卷号值能够在最大值的基础上加一 从0到9没有问题,添一条记录就加一个 但是从9开始就不行了,dr("卷号")这个值就一直都是10 数据表里有记录,最大值有10的,按理应该返回11 dr("卷号")=DataTables("布匹信息").SQLCompute("max(卷号)","订单明细ID = \'" & cur("订单明细ID") & "\'") + 1 |
-- 作者:Hyphen -- 发布时间:2016/2/29 8:46:00 -- "卷号"是字符型么,如果是,改为整型:http://www.foxtable.com/help/topics/0029.htm |
-- 作者:大红袍 -- 发布时间:2016/2/29 9:06:00 -- 如果列是字符型,要这样写 dr("卷号") = Format(DataTables("布匹信息").SQLCompute("max(卷号)","订单明细ID = \'" & cur("订单明细ID") & "\'") + 1, "000")
|
-- 作者:sjzsdu -- 发布时间:2016/2/29 14:27:00 -- 回复:(大红袍)如果列是字符型,要这样写 dr... 这样还是不行的,连0到9都加不了 |
-- 作者:sjzsdu -- 发布时间:2016/2/29 14:39:00 -- 只能改整型才行。 奇怪的是我的主键也是字符型的,服务器端找出最大编号放字典里,当增加记录时从字典里读出编号值 运行到现在一点问题都没有 |
-- 作者:大红袍 -- 发布时间:2016/2/29 15:14:00 -- 我这样测试没问题
tables("表A").current("第一列") = Format(DataTables("表A").SQLCompute("max(第一列)","") + 1, "000") |