以文本方式查看主题

-  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=128981)

--  作者:edisontsui
--  发布时间:2018/12/19 13:38:00
--  自己设计的菜单按钮操作无效
If User.Group = "财务" Or User.name = "开发者"
    Dim name As String = CurrentTable.name
    Select Case name

\'---------------“按日期-票号-原料汇总数量”插入到“日薪计算”
    Case "按日期-票号-原料汇总数量"
        Dim drc As Row
        For Each dr As Row In Tables(name).rows
            drc = Tables("日薪计算").AddNew()
            drc("零件代号") = dr("原材料")
            drc("零件名称") = dr("生产票号")
            drc("总数量") = dr("数量")
        Next
            MessageBox.show("从按日期-票号-原料汇总数量插入到日薪计算-操作完成!")
            MainTable = Tables("日薪计算")
    End Select
End If

“按日期-票号-原料汇总数量”这个数据表是根据“数据统计->分组统计”里面设置的方法操作得出来的,而上面的代码是放在通过“管理项目->菜单设计”设计出来的一个按钮之Click事件里面的,我想将“按日期-票号-原料汇总数量”里面的数据通过按钮就插入到“日薪计算”这个表里面去。但是操作起来是无效的。为什么呢?

--  作者:有点甜
--  发布时间:2018/12/19 14:35:00
--  

改成下面,看弹出什么

 

msgbox(user.group)
If User.Group = "财务" Or User.name = "开发者"
    Dim name As String = CurrentTable.name
msgbox(name)
    Select Case name
            \'---------------"按日期-票号-原料汇总数量"插入到"日薪计算"
        Case "按日期-票号-原料汇总数量"
msgbox(123)
            Dim drc As Row
            For Each dr As Row In Tables(name).rows
                drc = Tables("日薪计算").AddNew()
                drc("零件代号") = dr("原材料")
                drc("零件名称") = dr("生产票号")
                drc("总数量") = dr("数量")
            Next
            MessageBox.show("从按日期-票号-原料汇总数量插入到日薪计算-操作完成!")
            MainTable = Tables("日薪计算")
    End Select
End If


--  作者:edisontsui
--  发布时间:2018/12/19 15:12:00
--  
第一个box里面是空白的,第二个box里面是“统计表6"。没见到第三个box.
--  作者:有点甜
--  发布时间:2018/12/19 15:50:00
--  

1、说明你当前表currentTable的表名是【统计表6】,而不是叫做【按日期-票号-原料汇总数量】

 

2、你尝试改成这样

 

If User.Group = "财务" Or User.name = "开发者"
    Dim name = "按日期-票号-原料汇总数量"
    Dim drc As Row
    For Each dr As Row In Tables(name).rows
        drc = Tables("日薪计算").AddNew()
        drc("零件代号") = dr("原材料")
        drc("零件名称") = dr("生产票号")
        drc("总数量") = dr("数量")
    Next
    MessageBox.show("从按日期-票号-原料汇总数量插入到日薪计算-操作完成!")
    MainTable = Tables("日薪计算")
End If


--  作者:edisontsui
--  发布时间:2018/12/19 16:55:00
--  
出现警告:不存在名称为"按日期-票号-原材料汇总数量"的table
.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2017.3.18.1
错误所在事件:菜单,加入日薪计算,Click
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:有点甜
--  发布时间:2018/12/19 17:08:00
--  

提示很明显啊,你表名写错了啊

 

If User.Group = "财务" Or User.name = "开发者"
    Dim name = "统计表6"
    Dim drc As Row
    For Each dr As Row In Tables(name).rows
        drc = Tables("日薪计算").AddNew()
        drc("零件代号") = dr("原材料")
        drc("零件名称") = dr("生产票号")
        drc("总数量") = dr("数量")
    Next
    MessageBox.show("从按日期-票号-原料汇总数量插入到日薪计算-操作完成!")
    MainTable = Tables("日薪计算")
End If