Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
表A窗口中,修改主表单价,电击[重置产品ID列]按钮,我只想变更关联表当前报价单号(可见记录)的单价,其它单价不变。按钮代码如何?
下载信息 [文件大小: 下载次数: ] | |
![]() |
有点看不懂你的问题··· 一个报价单号有多个产品ID,是要都更改其单价,还是只改变报价单号和产品ID相同的关联表的单价?
再说你的这两个If:
If e.DataCol.Name = "报价单号" Then
If e.DataCol.Name = "产品ID" Then
就得先把光标移到“报价单号”或“产品ID”所在的列后,再重置才行的···
哦没注意你按钮有代码,这样可以了:
Tables("表B").focus
DataTables("表B").DataCols("产品ID").RaiseDataColChanged()
二楼没有明确还是不行的···
1楼可能表述不明白,我只想变更关联表当前报价单号(可见记录)的单价,其它单价不变。举个例子:选择003号报价单,修改“单价”点击按钮更新,关联表中“产品ID”=345的单价更新了,再选择002单,关联表中“产品ID”=345的单价并不需要更新,除非再按一次按钮。重新上传例表
下载信息 [文件大小: 下载次数: ] | |
![]() |
看不懂,不过RaiseDataColChanged既可以针对整列,也可以设置条件,只针对符合条件的行,还可以针对某个指定的行,请参考:
http://help.foxtable.com/topics/1468.htm
你想针对哪一行,或者针对某个某个条件的行,将其作为参数传递给RaiseDataColChanged即可。
你可以看看下面的例子,里头的RaiseDataColChanged既有使用条件表达式的,也有单独针对某一行的:
http://help.foxtable.com/topics/1453.htm
试了一下,没做出来。我再描述一下问题:
在窗口表C(下表)更改单价,通过按钮对表A.表B(中间)可见产品进行“产品ID”重置(不是整个表B的产品ID)从而更新当前报价单号的单价。
可以这样:
Dim Filter As String = "报价单号 = '" & Tables("表A").Current("表A") & "'"
DataTables("表B").DataCols("产品ID").RaiseDataColChanged(Filter)
还可以这样:
For Each r As Row In Tables("表A.表B").Rows
DataTables("表B").DataCols("产品ID").RaiseDataColChanged(r.DataRow)
Next
请仔细体会,务必要理解。