Foxtable(狐表)用户栏目专家坐堂 → 求助:禁止重复


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

主题:求助:禁止重复

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
求助:禁止重复  发帖心情 Post By:2016/3/24 22:58:00 [只看该作者]

老师好:请教一个问题。

我在DataColChanged表事件中写了这样的代码:

Select Case e.DataCol.name
    Case "生产日期","操作员","岗位系数"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("生产日期") = False AndAlso dr.IsNull("操作员") = False AndAlso dr.IsNull("岗位系数") = False Then
            If e.DataTable.Compute("Count([_Identify])","岗位系数 = '" & dr("岗位系数") & "'And 操作员 = '" & dr("操作员") & "'And 生产日期 = #" & e.DataRow("生产日期") & "# ") > 1 Then
                e.DataRow("岗位系数") = e.OldValue '取消输入
            End If
        End If
End Select

 

以上对已加载的数据有效,但是要对未加载的数据实现同样的功能,我按下面的方法加了SQL结果提示错误 "标准表达式中数据类型不匹配"。(岗位系数列是数值型,生产日期是日期时间型,操作员是字符型),不知道应该怎样改。

 

Select Case e.DataCol.name
    Case "生产日期","操作员","岗位系数"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("生产日期") = False AndAlso dr.IsNull("操作员") = False AndAlso dr.IsNull("岗位系数") = False Then
            If e.DataTable.SQLCompute("Count([_Identify])","岗位系数 = '" & dr("岗位系数") & "'And 操作员 = '" & dr("操作员") & "'And 生产日期 = #" & e.DataRow("生产日期") & "# ") > 1 Then
                e.DataRow("岗位系数") = e.OldValue '取消输入
            End If
        End If
End Select



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


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

If e.DataTable.SQLCompute("Count([_Identify])","岗位系数 = '" & dr("岗位系数") & "' And 操作员 = '" & dr("操作员") & "' And 生产日期 = '" & e.DataRow("生产日期") & "' ") > 1 Then

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/3/25 10:23:00 [只看该作者]

老师:按您给的代码更改后,依然显示:

NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:
详细错误信息:
标准表达式中数据类型不匹配。


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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/3/25 10:35:00 [只看该作者]

老师:岗位系数是从别一个表引用过来的数据

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


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

1、msgbox(e.DataRow("生产日期")) 看弹出什么?

 

2、2楼代码不可能有问题。


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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/3/25 10:46:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禁止重复求助.rar


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


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

            If e.DataTable.SQLCompute("Count([_Identify])","岗位系数 = " & dr("岗位系数") & " And 操作员 = '" & dr("操作员") & "' And 生产日期 = #" & e.DataRow("生产日期") & "# ") > 1 Then
                e.DataRow(e.DataCol.name) = e.OldValue '取消输入
            End If

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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/3/25 11:25:00 [只看该作者]

老师:我要的是“岗位系数”这一列哟呵呵,我上传了一个事例,麻烦您看一下。


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


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

Select Case e.DataCol.name
    Case "生产日期","操作员","岗位系数"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("生产日期") = False AndAlso dr.IsNull("操作员") = False AndAlso dr.IsNull("岗位系数") = False Then
            If e.DataTable.SQLCompute("Count([_Identify])","岗位系数 = " & dr("岗位系数") & " And 操作员 = '" & dr("操作员") & "' And 生产日期 = #" & e.DataRow("生产日期") & "# ") > 1 Then
                e.DataRow(e.DataCol.name) = e.OldValue '取消输入
            End If
        End If
End Select

 


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


加好友 发短信
等级:一尾狐 帖子:429 积分:4658 威望:0 精华:0 注册:2015/11/23 21:29:00
  发帖心情 Post By:2016/3/25 18:10:00 [只看该作者]

老师:

虽然没有弹出错误提示,

但是禁止无效,结果还是输入值了。

我发了一个事例,麻烦您再帮我看看。

多谢了!

呵呵!我弄了好久了,不知怎么办才好。


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