以文本方式查看主题 - 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=153347) |
-- 作者:昱飞哥 -- 发布时间:2020/8/7 17:04:00 -- 这句代码到底什么意思? 文档里有句代码:max = e.DataTable.Compute("Max(编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) 大致的意思是不是:在当前表里除当前行外的所有行里,找出“日期”为当前行日期的行里的所有行,然后再找出编号最大的那一行的编号,赋值给max。 那代码不应该是这样写吗? max = e.DataTable.Compute("Max(编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> \'& e.DataRow("_Identify") &\'") 头疼,还请老师解答,很烦,自动编号搞了很久 |
-- 作者:有点蓝 -- 发布时间:2020/8/7 17:21:00 -- _Identify是整数列,这个帮助没事就多看几遍:http://www.foxtable.com/webhelp/topics/1284.htm 表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。
|
-- 作者:昱飞哥 -- 发布时间:2020/8/7 17:37:00 -- 老师,那 <> 后面的 " 不是应该放在代码最后面的 ) 的前面吗? |
-- 作者:nxhylczh -- 发布时间:2020/8/7 22:19:00 -- 那句的意思是 计算当前行日期值的最大编号,但不能包括当前行。比如当前行是新增加的行 计算最大号的时候,要去除当前行 如果是新增加行 ,在新增加行的事件中 SqlComputer计算 可以取掉[_Identify] <> \'& e.DataRow("_Identify") &\',因为增加的行没有保存在外部表中
|
-- 作者:有点蓝 -- 发布时间:2020/8/8 9:18:00 -- 如果新增行没有保存,确实没有必要加,但是加了也不会有什么影响 |
-- 作者:昱飞哥 -- 发布时间:2020/8/8 10:16:00 -- 帮助文档里正确的代码是: max = e.DataTable.Compute("Max(编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) 但是,老师,那代码不应该是这样写吗: max = e.DataTable.Compute("Max(编号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> & e.DataRow("_Identify") &") 搞不明白
|
-- 作者:有点蓝 -- 发布时间:2020/8/8 10:51:00 -- 自己看看结果 msgbox("日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) http://www.foxtable.com/webhelp/topics/0221.htm,搞不明白就多看看编程基础
|