Foxtable(狐表)用户栏目专家坐堂 → 动态删除列


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

主题:动态删除列

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
动态删除列  发帖心情 Post By:2016/2/23 12:45:00 [只看该作者]

Dim Builder As New ADOXBuilder
Builder.Open() '打开ADOXBuilder
With Builder.Tables("表A")
    For Each c As DataCol In DataTables("科目余额表").DataCols
        If c.name <> "会计科目" AndAlso c.name <> "会计年度"  Then
            .DeleteColumn("& c &")
        End If
    Next
End With
Builder.Close()

以上代码那里错误,提示如下

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
在对应所需名称或序数的集合中,未找到项目。


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/23 12:49:00 [只看该作者]

找到原因了

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/23 13:19:00 [只看该作者]

Select Case e.DataCol.name
    Case "会计年度"
        If e.newvalue IsNot Nothing Then
            For Each mn As DataCol In e.DataTable.DataCols
                If mn.name <> "会计年度"  Then
                    Dim filter As String ="会计年度 = '" & e.DataRow("会计年度") & "'"
                    e.DataRow(mn.name) =DataTables("账项调整借方").Compute("sum(mn.name)",filter)+DataTables("重分类调整借方").Compute("sum(mn.name)",filter)
                End If
            Next
            'ElseIf e.newvalue = Nothing Then
            'For Each mn As String In mns
            'e.DataRow(mn) = Nothing
            'Next
        End If
End Select

 

红色代码错误在那里 提示如下

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:表,已审借方发生,DataColChanged
详细错误信息:
调用的目标发生了异常。
聚合参数中的语法错误: 需要具有可能的“Child”限定符的单个列参数。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/23 13:39:00 [只看该作者]

很基础的问题啊

 

e.DataRow(mn.name) =DataTables("账项调整借方").Compute("sum(" & mn.name & ")",filter)+DataTables("重分类调整借方").Compute("sum(" & mn.name & ")",filter)

[此贴子已经被作者于2016/2/23 13:39:35编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/23 14:21:00 [只看该作者]

我试过了,4楼的错误提示如下:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:表,已审借方发生,DataColChanged
详细错误信息:
调用的目标发生了异常。
无效的聚合函数 Sum()和类型 String 的用法。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/23 14:42:00 [只看该作者]

 说明你对应的列不是 数值类型,而是字符类型,把列的类型改一下。

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/23 14:54:00 [只看该作者]

全是数值型的

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/23 15:01:00 [只看该作者]

 不,可,能。上传实例。

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/2 20:37:00 [只看该作者]

Dim bbmcs() As String = {"余额横表已审","余额横表未审","发生横表已审借方","发生横表已审贷方","发生横表未审借方","发生横表未审贷方","账项调整借方","账项调整贷方","重分类调整借方","重分类调整贷方"}
For Each bbmc As String In bbmcs
    Dim Builder As New ADOXBuilder
    Builder.Open() '打开ADOXBuilder
    Dim Products As List(Of String)
    Products = DataTables("会计科目").GetValues("科目名称", "科目名称 is not null","_Sortkey")
    For Each c As DataCol In DataTables(bbmc).DataCols
msgbox(c.name)
        If c.name <> "会计年度" AndAlso c.name <> "审核" Then
'msgbox(6)
            If Products.Contains(c.name) = False Then
msgbox(7)
msgbox(c.name)
msgbox(Products.Contains(c.name) = False)
msgbox(c.name)
                Builder.Tables(bbmc).DeleteColumn(" & c.name & ")
msgbox(8)
            End If
        End If
    Next
    Builder.Close() '关闭ADOXBuilder
Next

橙色行的代码错在那里了,提示如下:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,建立项目,余额表横表删除多余列,Click
详细错误信息:
在对应所需名称或序数的集合中,未找到项目。


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15329 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/2 20:39:00 [只看该作者]

 Builder.Tables(bbmc).DeleteColumn(c.name) 与 Builder.Tables(bbmc).DeleteColumn("c.name")也都不行


 回到顶部
总数 14 1 2 下一页