Foxtable(狐表)用户栏目专家坐堂 → 请假记录datacolchanged问题


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

主题:请假记录datacolchanged问题

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


加好友 发短信
等级:七尾狐 帖子:1537 积分:9966 威望:0 精华:0 注册:2014/12/18 16:12:00
请假记录datacolchanged问题  发帖心情 Post By:2018/2/1 15:57:00 [只看该作者]

我的如下代码:

'请假记录自动输入员工资料
If e.DataCol.Name = "姓名" Then 
    Dim dr As DataRow 
    dr = DataTables("员工名单").Find("姓名 = '" & e.DataRow("姓名") & "'" )
    If dr IsNot Nothing 
        e.DataRow("部门") = dr("部门")
    End If
End If

使用时总是出现警告:

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.3.18.1
错误所在事件:表,请假记录,DataColChanging
详细错误信息:
调用的目标发生了异常。
从字符串“装配”到类型“Double”的转换无效。
输入字符串的格式不正确。

我的“请假记录”里和"员工名单"里的“部门”这个数据栏都是字符型的。这是为什么呢?谢谢。

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


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

这段代码没问题,贴出你 DataColChanging 的完整代码。


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


加好友 发短信
等级:七尾狐 帖子:1537 积分:9966 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/2/3 15:38:00 [只看该作者]

如下是DataColChanging 的完整代码:

If e.DataRow("年月") = ""
    If e.DataCol.name <> "年月" And e.DataCol.name <> "无薪假天数" And e.DataCol.name <> "确认"   Then
        If e.NewValue > 0 Then
            MessageBox.Show("必须先输入年月!")
            e.Cancel = True
        End If
    End If 
End If

If e.DataRow("姓名") = ""
    If e.DataCol.name <> "年月" And e.DataCol.name <> "姓名" And e.DataCol.name <> "无薪假天数" And e.DataCol.name <> "确认" Then
        If e.NewValue > 0 Then
            MessageBox.Show("必须先输入姓名!")
            e.Cancel = True
        End If
    End If 
End If

If e.DataCol.name <> "年月" And e.DataCol.name <> "姓名" And e.DataCol.name <> "薪假天数" And e.DataCol.name <> "确认" And e.DataCol.name <> "薪假类型" Then
    If e.newvalue > 1
        MessageBox.Show("数据不允许大于1!")
        e.Cancel = True
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/3 16:05:00 [只看该作者]

问题在这种代码:e.NewValue > 0。字符列不能和数值进行比较

没看懂你代码表示的意思

 回到顶部