以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  将单元格的内容转化为计算代码出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87695)

--  作者:lur320
--  发布时间:2016/7/17 14:29:00
--  将单元格的内容转化为计算代码出错
Dim exp As DataRow
            exp=DataTables("货代明细").find("[货代名称]=\'" & dr("货代名称") & "\' And" & "[服务类型] =\'" & dr("服务类型") & "\'"  )
            DataTables("信息输出表").DataRows(i)("总运费")=DataTables("信息输出表").Compute(exp("计算方式") )
    
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

即使我的计算代码写成[]+[],最简单的加法。提示聚合函数出错。

.NET Framework 版本:2.0.50727.8689
Foxtable 版本:2016.6.26.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
无法计算。表达式“System.Data.NameNode”不是聚合。

--  作者:lur320
--  发布时间:2016/7/17 14:31:00
--  
本意是每个货代都有不同的计价方式,不写在代码里面方便就的维护。有没有什么办法可以实现?
--  作者:狐狸爸爸
--  发布时间:2016/7/18 8:57:00
--  
 计算表达式,用这个:
http://www.foxtable.com/webhelp/scr/1277.htm


--  作者:lur320
--  发布时间:2016/7/18 10:13:00
--  

非常感谢


--  作者:lur320
--  发布时间:2016/7/19 13:03:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=4430&authorid=0&page=12&star=1

 

我在其他链接里面找到这个,就是动态增加自定义函数。稍作修改就可以替代原有的函数。

但是请问,里面提到的这个

ReadAllText()

这个text文档需要放在那里?因为客户安装的路径可能不同。


--  作者:大红袍
--  发布时间:2016/7/19 15:05:00
--  

参考

 

Functions.remove("函数")
Dim Code As String
Code = "msgbox(123)"
Functions.Add("函数",Code)
Functions.Complie()
Functions.Execute("函数")

 

http://www.foxtable.com/webhelp/scr/1487.htm

 



--  作者:lur320
--  发布时间:2016/7/20 8:49:00
--  

我明白这个add的添加自定义函数的。

但是这个code 的代码字符串是从其他文件读来的,这样在以后就可以随时更新大量琐碎但很简单的计算方法。

 

我的问题是:FileSys.ReadAllText(File,System.Text.Encoding.Default) 

 

这个text文档让客户放在那里?因为每台客户的电脑的安装路径都不一样

 

Dim Code as String = FileSys.ReadAllText(File,System.Text.Encoding.Default)   ‘读文本文件
    Functions.Add("Zdy",Code)   \'添加到自定义函数
    Functions.Complie()             \'编译
    Functions.Execute("Zdy")     \'执行
    Functions.Remove("Zdy")     \'代码执行完毕即删除函数


--  作者:Hyphen
--  发布时间:2016/7/20 8:54:00
--  
http://www.foxtable.com/webhelp/scr/0358.htm

Dim Code as String = FileSys.ReadAllText(ProjectPath & "filename.txt",System.Text.Encoding.Default)   ‘读文本文件

--  作者:大红袍
--  发布时间:2016/7/20 8:58:00
--  

 放在项目的文件夹下,然后用系统变量projectpath & "文件名.txt"


--  作者:lur320
--  发布时间:2016/7/20 9:04:00
--  

非常感谢,这个每个计算方法不一致的东西为了方便客户维护搞了好几天,从单元格写代码到外部文件更新代码。。。