以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 自动带入其他表格数据 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129892) |
||||
-- 作者:xlrboy -- 发布时间:2019/1/8 11:50:00 -- 自动带入其他表格数据 您好! 我在设计物业收费表格,现在有2个表,1、户主基本信息 2、收费登记表 表1和表2做了关联,表1是父 表2是子 在收费登记表内有列收费类型,单价; 我需要在收费类型选择物业费就可以带出表1里面的物业费月缴额,选择能耗费就可以带出表1里面的能耗费月缴额。 请问怎么做这个判断。谢谢! |
||||
-- 作者:有点甜 -- 发布时间:2019/1/8 12:24:00 -- 1、跨表引用,参考
http://www.foxtable.com/webhelp/scr/1451.htm
2、加入判断收费类型的代码,如
If e.datarow("收费类型") = "物业费" Then
ElseIf e.datarow("收费类型") = "能耗费" Then
End If
|
||||
-- 作者:xlrboy -- 发布时间:2019/1/8 15:15:00 -- 版主您好! 按照帮助我编写了如下代码,填写房号后姓名和实际面积可以自动带入,但选择了收费类型单价还是没有显示,那里出问题了。 If e.DataCol.Name = "房号" Then If e.NewValue Is Nothing Then e.DataRow("姓名") = Nothing e.DataRow("实际面积") = Nothing e.DataRow("单价") = Nothing Else Dim dr As DataRow dr = DataTables("户主信息登记表").Find("[房号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("姓名") = dr("姓名") e.DataRow("实际面积") = dr("实际面积") ElseIf e.DataRow("收费类型") = "物业费" Then e.DataRow("单价") = dr("物业费月缴额") ElseIf e.DataRow("收费类型") = "能耗费" Then e.DataRow("单价") = dr("能耗费月缴额") End If End If End If |
||||
-- 作者:有点甜 -- 发布时间:2019/1/8 16:04:00 -- Select Case e.DataCol.Name Case "房号", "收费类型" If e.NewValue Is Nothing Then e.DataRow("姓名") = Nothing e.DataRow("实际面积") = Nothing e.DataRow("单价") = Nothing Else Dim dr As DataRow dr = DataTables("户主信息登记表").Find("[房号] = \'" & e.DataRow("房号") & "\'") If dr IsNot Nothing e.DataRow("姓名") = dr("姓名") e.DataRow("实际面积") = dr("实际面积") ElseIf e.DataRow("收费类型") = "物业费" Then e.DataRow("单价") = dr("物业费月缴额") ElseIf e.DataRow("收费类型") = "能耗费" Then e.DataRow("单价") = dr("能耗费月缴额") End If End If End Select |
||||
-- 作者:xlrboy -- 发布时间:2019/1/8 17:25:00 -- 版主您好! 按照您给的代码还是无法自动带出单价,放上项目请看看问题在那里?
|
||||
-- 作者:有点甜 -- 发布时间:2019/1/8 17:38:00 -- Select Case e.DataCol.Name Case "房号", "收费项目" If e.NewValue Is Nothing Then e.DataRow("姓名") = Nothing e.DataRow("实际面积") = Nothing e.DataRow("单价") = Nothing Else Dim dr As DataRow dr = DataTables("户主信息登记表").Find("[房号] = \'" & e.DataRow("房号") & "\'") If dr IsNot Nothing e.DataRow("姓名") = dr("姓名") e.DataRow("实际面积") = dr("实际面积") If e.DataRow("收费项目") = "物业费" Then e.DataRow("单价") = dr("物业费月缴额") ElseIf e.DataRow("收费项目") = "能耗费" Then e.DataRow("单价") = dr("能耗费月缴额") End If End If End If End Select |
||||
-- 作者:xlrboy -- 发布时间:2019/1/8 20:11:00 -- 版主您好! 单价已经可以自动带出,但是在数量列输入数量后提示:无法在 System.String 和 System.String 上执行“*”操作。 总价无法显示,是哪里出问题了。 |
||||
-- 作者:有点蓝 -- 发布时间:2019/1/8 22:29:00 -- 单价、数量这些列改为数值列 |
||||
-- 作者:xlrboy -- 发布时间:2019/1/10 9:51:00 -- 版主您好! 我需要在月份列下面某一行输入一个简单字符,然后这个输入字符的单元格就能自动填写入这一行月缴额里的数字,如何实现或可以参考那个例子。谢谢! ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2019/1/10 10:07:00 -- 具体实例发上来测试。 |