Foxtable(狐表)用户栏目专家坐堂 → [求助]数据唯一性校验


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

主题:[求助]数据唯一性校验

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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
[求助]数据唯一性校验  发帖心情 Post By:2013/8/22 15:18:00 [显示全部帖子]

各位专家好!

 

有关于数据唯一性校验问题想请教一下。不知道各位有没有遇见同样问题?

请先看图。

这个界面用了两个表,一个主表,一个明细表。单向关联,入库单编号为关联列。

 

 

由于要求入库单编号在主表必须唯一,不可重复。我试过在两个地方输入校验代码:

1. 表的DataColChanged:

   Select Case e.DataCol.Name
    Case "转仓单编号"
        If e.NewValue IsNot Nothing Then
            If DataTables("入库单主文件").Select("入库单编号 = '" & e.NewValue & "'").Count > 1 Then
                Messagebox.Show("您输入的单据编号重复,请重新输入!","提示")
                e.DataRow("入库单编号") = Nothing
            End If
        End If
End Select

 

2. 窗口的Validating:

    If e.sender.value IsNot Nothing Then
    If DataTables("其他入库单").Select("入库单编号 = '" & e.sender.value & "'").Count > 1 Then
        messagebox.show("入库单编号重复了,请重新输入!","提示")
        e.cancel = True
    End If
End If

 

当然不是同时两个地方代码都存在。

 

结果就是:我输入相同的入库单编号时,能够提示数据重复,但是竟然将先前输入的明细表给调出来了。非常讨厌。

请教一下该怎么处理才不会这样呢?

谢谢了,在线等答案。


图片点击可在新窗口打开查看此主题相关图片如下:20130822_143616.jpg
图片点击可在新窗口打开查看

简单做了个例子,请指点一下。谢谢。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2013-8-22 15:43:50编辑过]

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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/22 15:26:00 [显示全部帖子]

上例子比较麻烦。不好意思。

 

比如说之前我输入单据号:IS_130822_01,并且输入了明细。保存。

 

现在我又新增一条数据:不小心重输入了IS_130822_01,即重复了,然后就把之前输入的单据号:IS_130822_01下的明细给关联出来了。

 

还是看看能不能做个例子吧,表达出来很辛苦。


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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/22 15:45:00 [显示全部帖子]

Bin先生,例子已经上传了,请帮忙看看。

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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/22 15:53:00 [显示全部帖子]

我在窗口的单据号那里代码:Validating

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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/22 15:57:00 [显示全部帖子]

简单点,就是我希望表A的单据号是唯一的。在窗口如果输入了重复的单据号,系统会提示错误但不会将表B的明细调出来。

有没有办法?

 


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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/22 18:23:00 [显示全部帖子]

看来Bin哥并没有理解我的意思,

我要的效果是:如果表A单据号重复了,不会显示表B的相同单据号的数据。


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


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/23 0:06:00 [显示全部帖子]

多谢【有点甜】的指点。原来还是有人能够理解。

 

因为这个问题,我竟然重新设计了,自动获取单据号。也好,省时省力。


 回到顶部