以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  条件重置列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8934)

--  作者:实话实说
--  发布时间:2010/12/28 23:10:00
--  条件重置列

表A窗口中,修改主表单价,电击[重置产品ID列]按钮,我只想变更关联表当前报价单号(可见记录)的单价,其它单价不变。按钮代码如何?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.table


--  作者:mr725
--  发布时间:2010/12/29 0:03:00
--  

有点看不懂你的问题···  一个报价单号有多个产品ID,是要都更改其单价,还是只改变报价单号和产品ID相同的关联表的单价?

 

[此贴子已经被作者于2010-12-29 0:04:47编辑过]

--  作者:mr725
--  发布时间:2010/12/29 0:13:00
--  

再说你的这两个If:

If e.DataCol.Name = "报价单号" Then 


If e.DataCol.Name = "产品ID" Then 

 

就得先把光标移到“报价单号”或“产品ID”所在的列后,再重置才行的···


--  作者:mr725
--  发布时间:2010/12/29 0:16:00
--  

哦没注意你按钮有代码,这样可以了:

Tables("表B").focus
DataTables("表B").DataCols("产品ID").RaiseDataColChanged()

 

二楼没有明确还是不行的···

[此贴子已经被作者于2010-12-29 0:23:31编辑过]

--  作者:实话实说
--  发布时间:2010/12/29 8:26:00
--  

1楼可能表述不明白,我只想变更关联表当前报价单号(可见记录)的单价,其它单价不变。举个例子:选择003号报价单,修改“单价”点击按钮更新,关联表中“产品ID”=345的单价更新了,再选择002单,关联表中“产品ID”=345的单价并不需要更新,除非再按一次按钮。重新上传例表

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目16.table

[此贴子已经被作者于2010-12-29 16:39:11编辑过]

--  作者:实话实说
--  发布时间:2010/12/29 16:40:00
--  
再次请教
--  作者:狐狸爸爸
--  发布时间:2010/12/29 16:54:00
--  

看不懂,不过RaiseDataColChanged既可以针对整列,也可以设置条件,只针对符合条件的行,还可以针对某个指定的行,请参考:
 
http://help.foxtable.com/topics/1468.htm


你想针对哪一行,或者针对某个某个条件的行,将其作为参数传递给RaiseDataColChanged即可。

 

你可以看看下面的例子,里头的RaiseDataColChanged既有使用条件表达式的,也有单独针对某一行的:

 

http://help.foxtable.com/topics/1453.htm

 

[此贴子已经被作者于2010-12-29 16:54:54编辑过]

--  作者:实话实说
--  发布时间:2010/12/29 17:28:00
--  

试了一下,没做出来。我再描述一下问题:

在窗口表C(下表)更改单价,通过按钮对表A.表B(中间)可见产品进行“产品ID”重置(不是整个表B的产品ID)从而更新当前报价单号的单价。


--  作者:狐狸爸爸
--  发布时间:2010/12/29 18:01:00
--  

可以这样:

 

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

 

请仔细体会,务必要理解。

 


--  作者:实话实说
--  发布时间:2010/12/29 18:30:00
--  
谢谢,第2段代码满足要求。第1段有点问题