以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口按钮执行公式的结果不能保存 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85823) |
-- 作者:woshiabc -- 发布时间:2016/6/3 9:18:00 -- 窗口按钮执行公式的结果不能保存 在窗口某个按钮编写公式代码,最后结果保存不了,请问怎么解决? |
-- 作者:大红袍 -- 发布时间:2016/6/3 9:18:00 -- 提示什么?贴出代码? |
-- 作者:woshiabc -- 发布时间:2016/6/3 9:23:00 -- 没有错误,只是我重新打开之后,数据就变了 |
-- 作者:大红袍 -- 发布时间:2016/6/3 9:24:00 -- 看看
http://www.foxtable.com/help/topics/1380.htm
|
-- 作者:woshiabc -- 发布时间:2016/6/3 9:38:00 -- 不是表达式列 项目属性只读在哪里? |
-- 作者:大红袍 -- 发布时间:2016/6/3 9:40:00 -- 你按钮执行公式,指什么?你写了什么代码,想做什么功能?
不理解你说什么项目属性只读,你可以不允许人家打开项目属性啊 |
-- 作者:woshiabc -- 发布时间:2016/6/3 9:45:00 -- 下面是我的窗口checkbox按钮公式,你刚刚发的那个链接里面的最后一句话有写到项目属性,你可以看看。 然后我再次打开项目运费数值就变了 Dim f As WinForm.CheckBox = e.Form.Controls("运费") Dim r As Row = Tables("报价录入_Table1").current If f.Checked = True Then If r("总体积") > 0 Then For Each a As Row In Tables("报价录入_Table2").Rows If a("QTY") IsNot Nothing Then a("运费") = (a("总体积")/r("总体积") * r("运费"))/a("QTY") End If Next Else For Each a As Row In Tables("报价录入_Table2").Rows a("运费") = Nothing Next End If Else For Each a As Row In Tables("报价录入_Table2").Rows Dim yf As DataRow = DataTables("运费价格").Find("港口名 = \'" & r("目的港") & "\' and 装箱方式 = \'" & r("装箱方式") & "\' and 价格条款 = \'" & r("价格条款") & "\'") If yf IsNot Nothing AndAlso a("QTY") IsNot Nothing Then a("运费") = (a("总体积") * yf("费用1") + yf("费用2"))/a("QTY") End If Next End If |
-- 作者:大红袍 -- 发布时间:2016/6/3 9:48:00 -- 已经修改保存的数据,除非你再次有代码修改其值,不然,是不可能改变数据的。
上传实例说明。 |
-- 作者:woshiabc -- 发布时间:2016/6/3 10:15:00 -- 我把那个checkbox删掉了,然后在主档datacolchanged那里写代码:(“按体积平摊”是逻辑型)请问怎么修改才正确 Select e.DataCol.name Case "目的港","装箱方式","价格条款","总体积","按体积平摊运费" Dim yf As DataRow = DataTables("运费价格").Find("港口名 = \'" & e.DataRow("目的港") & "\' and 装箱方式 = \'" & e.DataRow("装箱方式") & "\' and 价格条款 = \'" & e.DataRow("价格条款") & "\'") If yf IsNot Nothing AndAlso e.DataRow("按体积平摊运费") = True AndAlso e.DataRow("总体积") > 0 Then Then For Each a As DataRow In DataTables("报价明细").Rows If a("QTY") IsNot Nothing Then a("运费") = (a("总体积")/e.DataRow("总体积") *( e.DataRow("总体积") * yf("费用1") + yf("费用2")))/a("QTY") End If Next End If If e.DataRow("按体积平摊运费") = False AndAlso e.DataRow("总体积") > 0 For Each a As DataRow In DataTables("报价明细").Rows If a("QTY") IsNot Nothing Then a("运费") = (a("总体积") * yf("费用1") + yf("费用2"))/a("QTY") End If Next End If End Select |
-- 作者:大红袍 -- 发布时间:2016/6/3 10:19:00 -- Select e.DataCol.name Case "目的港","装箱方式","价格条款","总体积","按体积平摊运费" Dim yf As DataRow = DataTables("运费价格").Find("港口名 = \'" & e.DataRow("目的港") & "\' and 装箱方式 = \'" & e.DataRow("装箱方式") & "\' and 价格条款 = \'" & e.DataRow("价格条款") & "\'") If yf IsNot Nothing AndAlso e.DataRow("按体积平摊运费") = True AndAlso e.DataRow("总体积") > 0 Then For Each a As DataRow In DataTables("报价明细").dataRows If a("QTY") IsNot Nothing Then a("运费") = (a("总体积")/e.DataRow("总体积") *( e.DataRow("总体积") * yf("费用1") + yf("费用2")))/a("QTY") End If Next End If If e.DataRow("按体积平摊运费") = False AndAlso e.DataRow("总体积") > 0 For Each a As DataRow In DataTables("报价明细").dataRows If a("QTY") <> Nothing Then a("运费") = (a("总体积") * yf("费用1") + yf("费用2"))/a("QTY") End If Next End If End Select |