以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何替换相关所有表的数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124233) |
-- 作者:ZJZK2018 -- 发布时间:2018/9/2 21:04:00 -- 如何替换相关所有表的数据 老师: 我有一个“系统编号”表内有“系统编号“和”项目名称“列,其他表中如有“系统编号”和”项目名称“列时,如果系统编号表中的系统编号或项目名称调整时,其他表也更新系统编号或项目名称的值,如何处理?
[此贴子已经被作者于2018/9/2 21:04:55编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/9/2 21:05:00 -- 参考
http://www.foxtable.com/webhelp/scr/1453.htm
|
-- 作者:ZJZK2018 -- 发布时间:2018/10/13 20:10:00 -- 我的需求是: 遍历所有表,如果找到“系统编号”并有dcnm列名的表,自动更新数据,但下面代码出错? Dim dcnms() As String = {"咨询类型","项目名称","项目编号","业务性质","投标地区","工程类别","招标方式","归属部门","建设单位"} For Each dtnm As DataTable In DataTables If dtnm.Name <> e.DataTable.Name For Each dc As DataCol In DataTables(dtnm.Name).DataCols For Each dcnm As String In dcnms If dc.Name.Contains(dcnm) Then Select Case e.DataCol.Name Case dc.Name \'自动更新这些列的数据 Dim nmm As String = IIF(e.DataCol.Name = "系统编号",e.OldValue,dr("系统编号")) Dim fdr As DataRow = DataTables(dtnm.Name).Find("系统编号 = \'" & nmm & "\'") \'以单行的形式,查找符合条件的行,如果找到的话,返回找到的行 \'\'Dim fdr As DataRow = DataTables(dtnm.Name).Find("系统编号 = \'" & dr("系统编号") & "\'") \'以单行的形式,查找符合条件的行,如果找到的话,返回找到的行 If fdr IsNot Nothing Then fdr(e.DataCol.Name) = e.NewValue End If End Select End If Next Next End If Next |
-- 作者:有点甜 -- 发布时间:2018/10/14 18:05:00 -- 1、报什么错?
2、改成
Dim nmm As String = IIF(e.DataCol.Name = "系统编号",e.OldValue, e.datarow("系统编号")) |