Foxtable(狐表)用户栏目专家坐堂 → 调用错误


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

主题:调用错误

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
调用错误  发帖心情 Post By:2020/4/28 15:37:00 [只看该作者]

'填入计息本金自动
Select Case e.DataCol.name
    Case "cpbm","fxrq","qxrq"
        If e.DataRow.IsNull("fxrq") Then
            e.DataRow("jsbj") = Nothing
        Else
            Dim cp As DataRow
            Dim dd As Date = e.DataRow("qxrq")
            Dim dd1 As Date = dd.AddDays(-1)
            Dim dr As DataRow
            dr = DataTables("dk_lxb").Find("[cpbm] = '" & cp("cpbm")  & "' And [zxrq] = # '" & dd1 & "'#")
            
            If dr IsNot Nothing
                e.DataRow("jsbj") = dr("ye")
                
            End If
        End If
    
End Select

上面代码保存时没提示有问题,运行重置时提示调用错误

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/28 15:45:00 [只看该作者]

dr = DataTables("dk_lxb").Find("[cpbm] = '" & cp("cpbm")  & "' And [zxrq] = # '" & dd1 & "'#")把日期里面的单引号去掉,再把第一个#号后面的空格去掉

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2020/4/28 16:20:00 [只看该作者]

NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.4.19.8
错误所在事件:表,dk_lxb,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

Select Case e.DataCol.name
    Case "cpbm","fxrq","qxrq"
        If e.DataRow.IsNull("fxrq") Then
            e.DataRow("jsbj") = Nothing
        Else
            Dim cp As DataRow
            Dim dd As Date = e.DataRow("qxrq")
            Dim dd1 As Date = dd.AddDays(-1)
            Dim dr As DataRow
            dr = DataTables("dk_lxb").Find("[cpbm] = '" & cp("cpbm")  & "' And [zxrq] = #" & dd1 & "#")
            
            If dr IsNot Nothing
                e.DataRow("jsbj") = dr("ye")
                
            End If
        End If
    
End Select

去掉了还是有问题,还有地方不对吗

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/28 16:25:00 [只看该作者]

dr = DataTables("dk_lxb").Find("[cpbm] = '" & e.DataRow("cpbm")  & "' And [zxrq] = #" & dd1 & "#")

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


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2020/4/28 16:50:00 [只看该作者]

添加或减去的值产生无法表示的 DateTime。
参数名: value

'填入计息本金自动
Select Case e.DataCol.name
   Case "cpbm","fxrq","qxrq"
        If e.DataRow.IsNull("fxrq") Then
            e.DataRow("jsbj") = Nothing
        Else
           Dim dd As Date = e.DataRow("qxrq")
            Dim dd1 As Date = dd.AddDays(-1)
            Dim dr As DataRow
            dr = DataTables("dk_lxb").Find("[cpbm] = '" & e.DataRow("cpbm")  & "' And [zxrq] = #" & dd1 & "#")
            If dr IsNot Nothing
         e.DataRow("jsbj") = dr("ye")
              
            End If
        End If
    
End Select

还是不行,难道问题出在第一行?因为首行是找不到,如果“dd1”不在表内,这e.DataRow("jsbj") = dr("ye")有问题了,这个判断如何加呢?估计问题出在这里了
[此贴子已经被作者于2020/4/28 16:54:32编辑过]

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/28 17:02:00 [只看该作者]

日期没有值吧

 If e.DataRow.IsNull("fxrq") orelse e.DataRow.IsNull("qxrq") Then
e.DataRow("jsbj") = Nothing

 回到顶部