以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表datacolchanged (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98298) |
-- 作者:白国栋 -- 发布时间:2017/3/27 21:56:00 -- 表datacolchanged 行政编码表里“年度”,当前表里是“计划年度”: 输入下面的代码之后: If e.DataCol.Name = "计划年度" OrElse e.DataCol.Name = "工程分类" Then Dim dr As DataRow \'在行政编码表查找所输入计划年度和工程分类的行 dr = DataTables("行政编码").Find("[年度] = \'" & e.DataRow("计划年度") & "\' And [工程分类] = \'" & e.DataRow("工程分类") & "\'") If dr IsNot Nothing Then \'如果找到 \'将找到行的”亩投资“内容填入到正在输入的行中. e.DataRow("亩投资") = dr("亩投资") Else \'否则清除区号和邮编两列的内容 e.DataRow("亩投资") = Nothing End If End If 提示:这样输入后提示未找到列“年度”,换过来之后提示:”计划年度“不是zdgc(当前表)的成员列。 不知道怎么处理了,高手指点!!!! |
-- 作者:有点蓝 -- 发布时间:2017/3/27 22:21:00 -- 代码应该没有问题,截图看看表结构 计划年度是列名还是标题名?
|
-- 作者:白国栋 -- 发布时间:2017/3/27 22:38:00 -- 列名。截图了不会发呢?? |
-- 作者:有点蓝 -- 发布时间:2017/3/27 22:45:00 -- 上传附件参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78 |
-- 作者:白国栋 -- 发布时间:2017/3/27 22:48:00 -- 1是获取的表格,2是当前操作的表格。 If e.DataCol.Name = "项目分类" OrElse e.DataCol.Name = "项目期类" OrElse e.DataCol.name = "计划年度" OrElse e.DataCol.name = "工程分类" Then If e.DataCol.name = "工程分类" \' 第一次修改(显示结果是0) Dim dr As DataRow \'在行政区域表查找所输入省市和县市的行 dr = DataTables("zdgc").Find("[项目分类] = \'" & e.DataRow("项目分类") & "\' And [项目期类] = \'" & e.DataRow("项目期类") & "\'" ) dr = DataTables("zdgc").Find("[计划年度] = \'" & e.DataRow("计划年度") & "\' And [工程分类] = \'" & e.DataRow("工程分类") & "\'" ) If dr IsNot Nothing Then \'如果找到 \'将找到行的区号?邮编内容填入到正在输入的行中. e.DataRow("亩投资") = dr("亩投资") Else \'否则清除区号和邮编两列的内容 e.DataRow("亩投资") = Nothing End If End If End If |
-- 作者:有点蓝 -- 发布时间:2017/3/27 23:04:00 -- 代码写到zdgc表DataColCHanged事件 If e.DataCol.Name = "项目分类" OrElse e.DataCol.Name = "项目期类" OrElse e.DataCol.name = "计划年度" OrElse e.DataCol.name = "工程分类" Then Dim dr As DataRow dr = DataTables("项目投资标准").Find("[项目分类] = \'" & e.DataRow("项目分类") & "\' And [项目期类] = \'" & e.DataRow("项目期类") & "\' and [年度] = \'" & e.DataRow("计划年度") & "\' And [工程分类] = \'" & e.DataRow("工程分类") & "\'") If dr IsNot Nothing Then \'如果找到 e.DataRow("亩投资") = dr("亩投资") Else e.DataRow("亩投资") = Nothing End If End If
[此贴子已经被作者于2017/3/27 23:05:08编辑过]
|
-- 作者:白国栋 -- 发布时间:2017/3/28 7:01:00 -- 噢!!!!处理了,谢谢。把搜索的表格名字写错了。 |