Foxtable(狐表)用户栏目专家坐堂 → 自动带入其他表格数据


  共有4358人关注过本帖树形打印复制链接

主题:自动带入其他表格数据

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/10 10:17:00 [只看该作者]

1、把列改成数据列,不要用表达式列;

 

2、执行代码

 

If e.DataCol.name.EndsWith("月") Then
    Dim dr As DataRow
    dr = DataTables("户主信息登记表").Find("[房号] = '" & e.DataRow("房号") & "'")
    Dim sum As Double = 0
    If dr IsNot Nothing
        For Each c As DataCol In e.DataTable.DataCols
            If c.name.EndsWith("月") AndAlso e.DataRow.IsNull(c.name) = False Then
                sum += dr("能耗费月缴额")
            End If
        Next
    End If
    e.DataRow("能耗费月缴额") = sum
End If


 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2019/1/10 10:32:00 [只看该作者]

版主您好!   我需要在月份列下面某一行输入一个简单字符,然后这个输入字符的单元格就能自动填写入这一行月缴额里的数字,如何实现。谢谢!实列如下:
                 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物业收费台账及明细190110.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/10 10:34:00 [只看该作者]

看11楼。

 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2019/1/10 11:16:00 [只看该作者]

版主您好!  使用11楼代码在列“月”下面填入数字0 没有带入能耗费月缴额数据,删除0时候提示错误
                .NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:表,能耗费台账,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“能耗费月缴额”为只读。


您写的代码理解了部分,您看对不对。

If e.DataCol.name.EndsWith("月") Then    ‘发生改变的列为月那么
    Dim dr As DataRow                             ‘变量dr是发生改变的行
    dr = DataTables("户主信息登记表").Find("[房号] = '" & e.DataRow("房号") & "'")  ‘dr等于表“户主信息登记表” 房号=发生改变的行 房号
    Dim sum As Double = 0                       ‘变量sum是双精度小数=0
    If dr IsNot Nothing                              ‘dr内容为空
        For Each c As DataCol In e.DataTable.DataCols               ‘不懂
            If c.name.EndsWith("月") AndAlso e.DataRow.IsNull(c.name) = False Then         ‘不懂
                sum += dr("能耗费月缴额")              变量sum=变量dr为 能耗费月缴额
            End If
        Next
    End If
    e.DataRow("能耗费月缴额") = sum                ‘发生改变的行能耗费月缴额=sum
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/10 11:25:00 [只看该作者]

 

把列【能耗费月缴额】改成数据列,不要用表达式列

 

http://www.foxtable.com/webhelp/scr/2494.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2019/1/10 11:35:00 [只看该作者]

版主您好!  可能我没表达清楚我的需求,  我是需要在月份列下面某一行输入1或者0,然后我输入数字的那个单元格显示这一行能耗费月缴额内的数值。
                     
图片点击可在新窗口打开查看此主题相关图片如下:002.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/10 11:56:00 [只看该作者]

If e.DataCol.name.EndsWith("月") Then
    Dim dr As DataRow
    dr = DataTables("户主信息登记表").Find("[房号] = '" & e.DataRow("房号") & "'")
    Dim sum As Double = 0
    If dr IsNot Nothing
        If e.DataRow.IsNull(e.datacol.name) = False Then
            sum += dr("能耗费月缴额")
        End If
    End If
    e.DataRow("能耗费月缴额") = sum
End If


 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2019/1/10 12:33:00 [只看该作者]

版主您好!  写入代码如下图:
图片点击可在新窗口打开查看此主题相关图片如下:003.jpg
图片点击可在新窗口打开查看
                输入0后如图    :
图片点击可在新窗口打开查看此主题相关图片如下:004.jpg
图片点击可在新窗口打开查看
                删除0后如图    :
图片点击可在新窗口打开查看此主题相关图片如下:005.jpg
图片点击可在新窗口打开查看
                我需要的显示是在月份下填入0后填入0的那个单元格显示能耗费月缴额内的数值(49.93)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/10 12:52:00 [只看该作者]

删除原来的代码,datacolchanging事件,写代码

 

If e.DataCol.name.EndsWith("月") Then
    Dim dr As DataRow
    dr = DataTables("户主信息登记表").Find("[房号] = '" & e.DataRow("房号") & "'")
    If dr IsNot Nothing
        If e.newvalue <> Nothing Then
            e.newvalue = dr("能耗费月缴额")
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2019/1/10 16:13:00 [只看该作者]

版主您好!   我想设置这样的代码, 如果表(“物业费台账” “能耗费台账” )列(二〇一九年_1月--二〇一九年_12月) 房号行不为空 那么
                  表(“收缴情况一览表”)列(二〇一九年_1月--二〇一九年_12月) 房号行显示√
                 
图片点击可在新窗口打开查看此主题相关图片如下:011.jpg
图片点击可在新窗口打开查看


                 该如何设置,或有什么帮助可以参考。谢谢!

 回到顶部
总数 34 上一页 1 2 3 4 下一页