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


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

主题:[求助]

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


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

 看看是否这个事件的问题【增值税fa piao开piao登记_AfterLoad

 

 把里面的代码删除,或者,把增值税fa piao开piao登记的表事件都注释掉测试。

 


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


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

老师你好,是不是在表事件BeforeSaveDataRow中这段代码有问题?
这段代码是如果新录入的数据在关联父表中没有对应编号,就不予保存。现在我把它注释了,就可以了,倒底是什么原因呢?请指导,谢谢!

'If e.DataRow.GetParentRow("工程合同基础数据") Is Nothing Then
'    MessageBox.Show("主合同编号错误或没有主合同信息!","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) '提示用户
'    e.cancel = True
'End If

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


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

回复12楼,换一种写法呢?

 

Dim fdr As DataRow = DataTables("父表").Find("某列 = '" & e.datarow("某列") & "'")

If fdr Is Nothing Then

 

End If


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


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

老师,问题还是没有解决!

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


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

老师你好!
无法在 System.Decimal 和 System.DBNull 上执行“Or”操作。
这一句是什么意思?
我记得System.Decimal是高精度小数,System.DBNull是什么意思?
请老师指导,谢谢!

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


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

如果不写12楼或者13楼的的代码,就不会报错,是吗?

 

DBNull的意思,一般是你后台查询一条记录,如果其某列值为null,那么就会是DBNull这个值。


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


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

老师你好,不是这个问题。
现在我只要把父表(工程合同基础数据)表事件AfterLoad中:e.DataTable.LoadChildren("增值税fa piao开piao登记")取消注释,就会出现这个对话框,如果保存项目,在父表中会复制一条同样的记录,造成打开项目时错误提示:子表记录有父表多条记录。

我查了一下,在子表(增值税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)

这段代码中出现Decimal,是不是有问题?
谢谢老师!
[此贴子已经被作者于2017/9/1 9:04:22编辑过]

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


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

1、分别注释你表属性里面的事件代码,确定是哪个代码有问题。你注销17楼的代码还报不报错?

 

2、认认真真看1,先确定出错位置啊。


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


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

另外我在项目事件LoadUserSetting中加入以下代码,也会出现相同的错误对话框。为什么?
现在我总结了一下,只要把子表("增值税fa piao开piao登记")设定只加载所在部门的数据,就会出错。谢谢!


If User.Type = UserTypeEnum.Administrator Or UserTypeEnum.Developer Then
    DataTables("增值税fa piao开piao登记").LoadFilter = ""
Else If User.Group = "总公司" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = ""
Else If User.Group Like "*区域" OrElse user.group Like "*直属" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = "所属区域公司 = '" & User.Group & "'"
Else If User.Group Like "*分公司" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = "分公司 = '" & User.Group & "'"
End If
DataTables("增值税fa piao开piao登记").Load()
[此贴子已经被作者于2017/9/1 9:32:56编辑过]

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


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

老师你好,我把子表中所有事件注销了,再恢复父表(工程合同基础数据)表事件AfterLoad中:e.DataTable.LoadChildren("增值税fa piao开piao登记")
还是出错:
.NET Framework 版本:2.0.50727.4984
Foxtable 版本:2017.8.19.1
错误所在事件:加载[增值税fa piao开piao登记]失败!
详细错误信息:
无法在 System.Decimal 和 System.DBNull 上执行“Or”操作。


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