以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 另一表数据导入 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86746)
|
-- 作者:260964006
-- 发布时间:2016/6/24 17:25:00
-- 另一表数据导入
If e.DataCol.Name = "零件图号" Then If e.NewValue Is Nothing Then e.DataRow("年2015_A点_供应商简称") = Nothing e.DataRow("年2015_A点_含税单价") = Nothing e.DataRow("年2015_B点_供应商简称") = Nothing e.DataRow("年2015_B点_含税单价") = Nothing Else Dim dr As DataRow dr = DataTables("价格表2015").Find("[零件图号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("年2015_A点_供应商简称") = dr("A点_供应商 简称") e.DataRow("年2015_A点_含税单价") = dr("A点_含税单价_ 更新后") e.DataRow("年2015_B点_供应商简称") = dr("B点_供应商 简称") e.DataRow("年2015_B点_含税单价") = dr("B点_含税单价_ 更新后") End If End If End If
我要想实现这些功能,怎么设置上述程序,放表属性datacolchanged没有数据过来。
*If e.DataRow("车型") <> "售后" Then Select Case e.DataCol.name Case "零件图号" If e.newvalue > "" Then Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.newValue & "\'") If dr Is Nothing Then dr = DataTables("价格汇总表").AddNew() dr("零件图号") = e.DataRow("零件图号") dr("零件名称") = e.DataRow("零件名称") dr("车型") = e.DataRow("车型") End If End If Case "零件名称","车型" Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.DataRow("零件图号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select End If 零部件的名称提供这个来的。
|
-- 作者:大红袍
-- 发布时间:2016/6/24 17:27:00
--
必须输入 零件图号 的值,才会引入你需要的值。
|
-- 作者:260964006
-- 发布时间:2016/6/24 17:28:00
--
在零部件图号不变的情况下,能引入吗?怎么改程序?
|
-- 作者:大红袍
-- 发布时间:2016/6/24 17:29:00
--
重置列
http://www.foxtable.com/help/topics/1469.htm
|
-- 作者:260964006
-- 发布时间:2016/6/24 17:54:00
--
If e.DataCol.Name = "零件图号" Then If e.NewValue Is Nothing Then e.DataRow("年2015_A点_供应商简称") = Nothing e.DataRow("年2015_A点_含税单价") = Nothing e.DataRow("年2015_B点_供应商简称") = Nothing e.DataRow("年2015_B点_含税单价") = Nothing Else Dim dr As DataRow dr = DataTables("价格表2015").Find("[零件图号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("年2015_A点_供应商简称") = dr("A点_供应商简称") e.DataRow("年2015_A点_含税单价") = dr("A点_含税单价_更新后") e.DataRow("年2015_B点_供应商简称") = dr("B点_供应商简称") e.DataRow("年2015_B点_含税单价") = dr("B点_含税单价_更新后") End If End If End If If e.DataCol.Name = "零件图号" Then If e.NewValue Is Nothing Then e.DataRow("年2016_A点_供应商简称") = Nothing e.DataRow("年2016_A点_含税单价") = Nothing e.DataRow("年2016_B点_供应商简称") = Nothing e.DataRow("年2016_B点_含税单价") = Nothing Else Dim dr As DataRow dr = DataTables("价格表2016").Find("[零件图号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("年2016_A点_供应商简称") = dr("A点_供应商简称") e.DataRow("年2016_A点_含税单价") = dr("A点_含税单价_更新后") e.DataRow("年2016_B点_供应商简称") = dr("B点_供应商简称") e.DataRow("年2016_B点_含税单价") = dr("B点_含税单价_更新后") End If End If End If
1、上述程序可否优化? 2、原表为空是,导过了也为空,而不是0.
DataTables("表名").DataCols("B").RaiseDataColChanged() 不是放在表属性dataclochanged吗?
|
-- 作者:大红袍
-- 发布时间:2016/6/24 18:11:00
--
If e.DataCol.Name = "零件图号" Then Dim ys As String() = {2015, 2016} For Each y As String In ys If e.NewValue Is Nothing Then e.DataRow("年" & y & "_A点_供应商简称") = Nothing e.DataRow("年" & y & "_A点_含税单价") = Nothing e.DataRow("年" & y & "_B点_供应商简称") = Nothing e.DataRow("年" & y & "_B点_含税单价") = Nothing Else Dim dr As DataRow dr = DataTables("价格表" & y).Find("[零件图号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("年" & y & "_A点_供应商简称") = dr("A点_供应商简称") e.DataRow("年" & y & "_A点_含税单价") = dr("A点_含税单价_更新后") e.DataRow("年" & y & "_B点_供应商简称") = dr("B点_供应商简称") e.DataRow("年" & y & "_B点_含税单价") = dr("B点_含税单价_更新后") End If End If Next End If
|
-- 作者:260964006
-- 发布时间:2016/6/25 9:49:00
--
1、原表为空是,导过了也为空,而不是0,怎么设置?
2、DataTables("表名").DataCols("B").RaiseDataColChanged() 不是放在表属性dataclochanged吗?
|
-- 作者:Hyphen
-- 发布时间:2016/6/25 10:15:00
--
1、 e.DataRow("年2016_B点_含税单价") = IIF(dr.isnull("B点_含税单价_更新后"),0,dr("B点_含税单价_更新后"))
2、放到按钮事件中
|
-- 作者:260964006
-- 发布时间:2016/6/27 15:35:00
--
原来为空的含税单价,还是导过来显示含税单价为0,我希望导过来还是为空。
供应商简称都能满足。
|
-- 作者:大红袍
-- 发布时间:2016/6/27 15:51:00
--
e.DataRow("年2016_B点_含税单价") = IIF(dr("B点_含税单价_更新后")=0, Nothing,dr("B点_含税单价_更新后"))
[此贴子已经被作者于2016/6/27 15:51:51编辑过]
|