Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]  发帖心情 Post By:2017/8/29 18:54:00 [只看该作者]

老师你好,下面这段是在开发版打开项目时出现,然后表没有加载。请问问题出在那里?谢谢!


.NET Framework 版本:2.0.50727.4984
Foxtable 版本:2017.8.18.1
错误所在事件:加载[增值税fa piao开piao登记]失败!
详细错误信息:
无法在 System.Decimal 和 System.DBNull 上执行“Or”操作。


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170829185153.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/8/29 18:57:46编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/29 20:36:00 [只看该作者]

设置了加载的条件?贴出来看看

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 9:56:00 [只看该作者]

表事件

 

增值税fa piao开piao登记_PrepareEdit

 

Select Case e.Col.name

    Case "审批人","审批日期"

        e.Cancel = True

    Case Else

        If e.Row.IsNull("审批人") = False Then

            e.Cancel = True

        End If

End Select

 

增值税fa piao开piao登记_DataColChanged

 

Select Case e.DataCol.Name

    Case "合同编号","本次开piao金额"

        Dim dr As DataRow

        Dim mr As DataRow = e.DataRow

        Dim drs As List(of DataRow)

        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [合同编号] = '" & mr("合同编号") & "'", "[_SortKey] Desc")

        If dr Is Nothing Then

            mr("增值税fa piao开piao金额累计") = mr("本次开piao金额")

            dr = mr

        End If

        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [合同编号] = '" & dr("合同编号") & "'", "[_SortKey]")

        For i As Integer = 1 To drs.Count - 1

            drs(i)("增值税fa piao开piao金额累计") = drs(i-1)("增值税fa piao开piao金额累计") + drs(i)("本次开piao金额")

        Next

        If e.DataCol.Name = "合同编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then

            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [合同编号] = '" & e.OldValue & "'", "[_SortKey] Desc")

            If dr Is Nothing Then

                dr = e.DataTable.Find("[合同编号] = '" & e.OldValue & "'", "[_SortKey]")

                If dr IsNot Nothing Then

                    dr("增值税fa piao开piao金额累计") = dr("本次开piao金额")

                End If

            End If

            If dr IsNot Nothing Then

                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [合同编号] = '" & dr("合同编号") & "'", "[_SortKey]")

                For i As Integer = 1 To drs.Count - 1

                    drs(i)("增值税fa piao开piao金额累计") = drs(i-1)("增值税fa piao开piao金额累计") + drs(i)("本次开piao金额")

                Next

            End If

        End If

End Select

 

Select Case e.DataCol.name

    Case "fa piao开piao日期","本次应收款收入","本次开piao金额"

        If e.DataRow.IsNull("fa piao开piao日期") Then

            e.DataRow("超期天数") = Nothing

        Else

            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("fa piao开piao日期"))

            e.DataRow("超期天数") = Round2(tp.TotalDays -61,0)

        End If

        If e.DataRow("本次应收款收入") = e.DataRow("本次开piao金额") Then

            e.DataRow("超期天数") = Nothing

        End If

End Select

 

增值税fa piao开piao登记_BeforeSaveDataRow

 

If e.DataRow.GetParentRow("工程合同基础数据") Is Nothing Then

    MessageBox.Show("主合同编号错误或没有主合同信息!","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) '提示用户

    e.cancel = True

End If

 

增值税fa piao开piao登记_DataRowAdding

 

e.DataRow("录入人") = User.name

e.DataRow("录入日期") = Date.Now

 

增值税fa piao开piao登记_DataRowDeleting

 

e.DataRow("本次开piao金额") = 0

 

增值税fa piao开piao登记_DataRowLockedChanging

 

If User.IsRole("审批") Then

    e.Cancel = False

Else

    e.Cancel = True

End If

 

增值税fa piao开piao登记_AfterMoveRow

 

Dim Key As Decimal

Dim Index As Integer

Dim Filter As String

Dim r As Row

Index = Math.Min(e.OldIndex, e.NewIndex)

Key = e.Table.Rows(Index)("_SortKey")

r = e.Table.Rows(e.NewIndex)

Filter = "[_SortKey] >= " & Key & " And [合同编号] = '" & r("合同编号") & "'"

e.Table.DataTable.DataCols("本次开piao金额").RaiseDataColChanged(Filter)

 

增值税fa piao开piao登记_DrawCell

 

If e.Col.Name = "超期天数" AndAlso e.Row.IsNull("超期天数") = False Then

    e.StartDraw()

    Dim Width As Integer = (e.Width - 2 )* e.Row("超期天数") \ 61

    e.Graphics.FillRectangle(Brushes.Red,e.x + 1,e.y + 1, Width, e.Height - 2)

    e.EndDraw()

End If

If e.Col.Name = "超期天数" AndAlso e.Row.IsNull("超期天数") = False Then

    e.StartDraw()

    Dim Width As Integer = (e.Width - 2 )* e.Row("超期天数") \ -61

    If e.Row("超期天数") <= 0 Then

        e.Graphics.FillRectangle(Brushes.Green,e.x + 1,e.y +1, Width, e.Height - 2)

    End If

    e.EndDraw()

End If

 

增值税fa piao开piao登记_AfterLoad

 

Forms("增值税fa piao管理筛选树").open()

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 9:58:00 [只看该作者]

项目事件

 

Initialize

 

For Each dt As DataTable In DataTables

    dt.GlobalHandler.BeforeSaveDataRow = True

Next

 

AfterOpenProject

 

Tables("应收款收入数据").Cols.Remove("工程名称")

Tables("工程合同基础数据").Cols.Remove("财务编号系统生成")

Tables("工程合同基础数据").Cols.Remove("合同信息")

Tables("工程合同基础数据").Cols.Remove("补充合同或决算记录数")

Tables("工程合同基础数据").Cols.Remove("开piao记录数")

Tables("工程合同基础数据").Cols.Remove("支出合同数")

Tables("工程合同基础数据").Cols.Remove("应收款记录数")

Tables("增值税fa piao开piao登记").Cols.Remove("差额税金")

Tables("支出合同收支表").Cols.Remove("收piao金额")

Tables("支出合同收支表").Cols.Remove("支出金额")

Tables("支出合同基础数据").Cols.Remove("支出合同补充或决算记录数")

Tables("支出合同基础数据").Cols.Remove("支出合同收支记录数")

Tables("支出合同基础数据").Cols.Remove("支出合同印花税记录数")

Tables("支出合同基础数据").Cols.Remove("工程材料费")

Tables("支出合同基础数据").Cols.Remove("人工费用")

Tables("支出合同基础数据").Cols.Remove("机械费")

Tables("支出合同基础数据").Cols.Remove("专项分包费")

Tables("支出合同收支表").Cols.Remove("采购合同金额")

Tables("支出合同收支表").Cols.Remove("劳务分包金额")

Tables("支出合同收支表").Cols.Remove("设备租赁金额")

Tables("支出合同收支表").Cols.Remove("专项分包金额")

Tables("支出合同印花税统计表").Cols.Remove("应交税费")

Tables("增值税fa piao开piao登记").Cols("合同编号").DropForm = "查找合同编号"

Tables("支出合同基础数据").Cols("主合同编号").DropForm = "支出合同查找合同编号"

Tables("支出合同收支表").Cols("支出合同编号").DropForm = "支出合同收支"

Tables("支出合同印花税统计表").Cols("支出合同编号").DropForm = "印花税查找编号"

 

With DataTables("应收款超期提醒")

    .DataRows.Clear() '清除所有行

End With

Dim f As New Filler

f.SourceTable = DataTables("工程合同基础数据") '指定数据来源

f.SourceCols = "合同编号" '指定数据来源列

f.DataTable = DataTables("应收款超期提醒") '指定数据接收表

f.DataCols = "合同编号" '指定数据接收列

f.Fill() '填充数据

Tables("应收款超期提醒").Filter = "[超期提醒] Is Not Null"

Tables("应收款超期提醒").Sort = "超期提醒 DESC"

 

Output.Logs("登录日志").Add(User.Name & ":" & Date.Now )

Output.Logs("登录日志").Save("d:\test\日志信息\登录log.txt",True)

Output.Logs("登录日志").Clear

 

LoadUserSetting

 

For Each t As Table In Tables

    t.Visible = True

    t.AllowEdit = True

    For Each c As Col In t.Cols

        c.Visible = True

        c.AllowEdit = True

    Next

Next

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )

If User.Type = UserTypeEnum.User Then

    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )

        If dr.IsNull("列名") Then

            Tables(dr("表名")).Visible = Not dr("不可见")

            Tables(dr("表名")).AllowEdit = Not dr("不可编缉")

        Else

            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")

            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编缉")

        End If

    Next

End If

If User.Type = UserTypeEnum.Administrator Or User.Type = UserTypeEnum.Developer Then

    DataTables("工程合同基础数据").LoadFilter = ""

Else If User.Group = "总公司" Then

    DataTables("工程合同基础数据").LoadFilter = ""

Else If User.Group = "上海区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "南京区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "无锡区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "苏州区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "南通区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "宜兴区域" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "总公司直属" Then

    DataTables("工程合同基础数据").LoadFilter = "录入部门 = '" & User.Group & "'"

Else If User.Group = "天津分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "上海分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "南京分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "马鞍山分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "无锡分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "常熟分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "云南分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "镇江分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "扬州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "淮安分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "合肥分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "德州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "徐州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "江阴分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "张家港分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "无锡岩土分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "常州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "苏州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "苏州园区分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "吴江分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "太仓分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "昆山分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "云南分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "南通分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "泰州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "泰兴分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "连云港分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "盐城分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

Else If User.Group = "湖州分公司" Then

    DataTables("工程合同基础数据").LoadFilter = "分公司 = '" & User.Group & "'"

End If

DataTables("工程合同基础数据").Load()

 

MainTableChanged

 

If  MainTable.Name = "工程合同基础数据" Then

    Dim tb As New DropTreeBuilder

    tb.SourceTable = DataTables("分公司编号数据") '指定目录树表

    tb.TreeCols = "所属区域公司|分公司" '指定用于生成目录树的列

    tb.SourceCols = "所属区域公司|分公司" '指定数据来源列

    tb.ReceiveCols = "所属区域公司|分公司" '指定数据接收列

    Tables("工程合同基础数据").Cols("分公司").DropTree = tb.Build()

End If

 

AfterSaveProject

 

DataTables("增值税fa piao开piao登记").DataCols("fa piao开piao日期").RaiseDataColChanged()

 

BeforeCloseProject

 

Output.Logs("删除日志").Save("d:\test\日志信息\主合同Delete.txt",True)

 

PositionChanged

 

StatusBar.Message1 = "登录名:" & User.Name & "    " & "第" & (e.Table.Position + 1) & "行,共" & e.Table.Rows.Count & "行"

 

 


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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 10:10:00 [只看该作者]

老师,好象在项目事件的LoadUserSetting里有一个“Or”
另外请问这与表达列里的公式有关系吗?
[此贴子已经被作者于2017/8/30 10:14:38编辑过]

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


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

报错以后,在命令窗口弹出执行以下下面的代码

 

msgbox(DataTables("增值税fa piao开piao登记").LoadFilter)

 

报错和你贴出的代码无关。基本是因为你加载条件写错了导致的。


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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 10:50:00 [只看该作者]

那老师,加载条件在那里呢?我是在昨天在主表里加了几列表达式,才有这个问题的。谢谢!

[此贴子已经被作者于2017/8/30 10:55:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 10:57:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170830104746.png
图片点击可在新窗口打开查看


按照您的的代码在命令窗口输入msgbox(DataTables("增值税fa piao开piao登记").LoadFilter)后
出现上面提示

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


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

出错后,再执行下面代码是否报错?

 

msgbox(DataTables("增值税fa piao开piao登记").LoadFilter)

DataTables("增值税fa piao开piao登记").Load


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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/8/30 11:14:00 [只看该作者]

老师,确实是加载报错,但原来一直正常的,现在我把主表的加载命令取消了,可以加载了,但我原来是要求与主表有关联的数据才加载进来?应该怎么设置,其它子表者正常,我错在那里了?

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170830110531.png
图片点击可在新窗口打开查看


 回到顶部
总数 24 1 2 3 下一页