Foxtable(狐表)用户栏目专家坐堂 → 会计凭证的设计和录入


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

主题:会计凭证的设计和录入

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/18 13:32:00 [只看该作者]

双击事件可用的e参数:http://www.foxtable.com/webhelp/topics/1499.htm

e.row,不是e.datarow

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  162楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 14:09:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片061803.png
图片点击可在新窗口打开查看
我一开始是用ROW的报错后改为了datarow,忘了
DoubleClick事件只能用row,这样写一样报错:
Dim dt As Table = Tables("转账凭证_Table1")
With dt
    If .Compute("sum(借方金额)") > .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc") Then
        e.Row("贷方金额") = .Compute("sum(借方金额)") - .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc")
    ElseIf .Compute("sum(借方金额)") < .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc") Then
        e.Row("借方金额") = .Compute("sum(贷方金额)") - .Compute("sum(借方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc")
    End If
End With


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  163楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 14:10:00 [只看该作者]

哦,在先判断列名,改一下。

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/18 14:12:00 [只看该作者]

Compute的语法也看一看,Compute只有2个参数

语法:

Compute(Expression, Filter)

Expression: 要计算的表达式,使用聚合函数进行统计。
Filter:    可选参数,用于设置计算条件,请参考表达式的运算符和函数 和 条件表达式


上面代码原来应该是用Find的,改为其它方法的时候注意一个参数的个数


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  165楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 14:14:00 [只看该作者]

改为这样还是有上面的报错。
Dim dt As Table = Tables("转账凭证_Table1")
With dt
    If e.Col.Name = "借方金额" Then
        If .Compute("sum(借方金额)") > .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc") Then
            e.Row("贷方金额") = .Compute("sum(借方金额)") - .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc")
        End If
    ElseIf e.Col.Name = "贷方金额" Then
        If .Compute("sum(借方金额)") < .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc") Then
            e.Row("借方金额") = .Compute("sum(贷方金额)") - .Compute("sum(借方金额)","[_SortKey] < " & e.Row("_SortKey"), "[_SortKey] Desc")
        End If
    End If
End With

[此贴子已经被作者于2021/6/18 14:15:26编辑过]

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/18 14:21:00 [只看该作者]

If .Compute("sum(借方金额)") > .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey")) Then

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  167楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 14:23:00 [只看该作者]

对啊,昨晚写Compute时知道不要后面的排序,改的时候又直接复制find的条件过来了,不要排序不报错了。
[此贴子已经被作者于2021/6/18 14:30:36编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  168楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 14:29:00 [只看该作者]

改为这样:
Dim dt As Table = Tables("转账凭证_Table1")
With dt
    If e.Col.Name = "贷方金额" Then
        If .Compute("sum(借方金额)") > .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey")) Then
            e.Row("贷方金额") = .Compute("sum(借方金额)") - .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey"))
        End If
    ElseIf e.Col.Name = "借方金额" Then
        If .Compute("sum(借方金额)") < .Compute("sum(贷方金额)","[_SortKey] < " & e.Row("_SortKey")) Then
            e.Row("借方金额") = .Compute("sum(贷方金额)") - .Compute("sum(借方金额)","[_SortKey] < " & e.Row("_SortKey"))
        End If
    End If
End With

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  169楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/6/18 15:20:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:转账凭证.foxdb

双击财务数据源表的转字5号凭证,打开窗口后删除借方金额中的2700,鼠标随离点一下其他地方,让光标离开这个单元格,然后再双击这个单元格,并无自动填充借贷金额合计差额,使到借、贷合计金额相等,而是光标进入了单元格图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/18 15:23:00 [只看该作者]

DoubleClick

双击单元格后执行。

e参数属性:

Table:  引发事件的表
Row:    引发事件的行
Col:    引发事件的列
Cancel: 逻辑型,设置为True,将禁止双击单元格进入编辑状态。
Button: 引发事件的鼠标按键名称,左键为"Left",右键为"Right"。

示例一

如果希望双击单元格后,能够自动打开某窗口,可以将DoubleClick事件代码设为:

e.Cancel = True '禁止进入编辑状态
Forms
("窗口1").Open()


 回到顶部