标题:VFP如何限定数据表中A字段+B字段的唯一性?
只看楼主
莲子528
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-5-23
结帖率:0
已结贴  问题点数:20 回复次数:5 
VFP如何限定数据表中A字段+B字段的唯一性?
VFP如何限定数据表中A字段+B字段的唯一性?
如:有一表 A字段为规格型号,B字段为批号。要保证表中记录,当相同规格型号的情况下,批号必须不同;相同批号的情况下,规格型号必须不同。

如果仅仅一个字段唯一,可以将此字段设为主索引。  现在的问题是A、B字段都不唯一,但A+B字段合起来必须是唯一的,向各位高手求助,该怎样做才能实现?  谢谢!
搜索更多相关主题的帖子: VFP 数据表 字段 唯一 型号 
2019-05-23 15:34
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:5 
如果是Sql的表,可以用触发器来完成这个动作,当发现A+B不唯一时,删除ID号最大的那个重复项。
如果是在VFP中,可以用Timer控件,每隔一段时间完成上述动作,效果一样的。
前提是表中必须有一个自增长的ID字段,便于区分。
2019-05-23 16:13
莲子528
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-5-23
得分:0 
回复 2楼 厨师王德榜
请问可以通过字段有效性规则来限定吗?或者是在输入界面,批号输入后判断有效性,限制重复数据输入。
 我想在输入数据的时候,通过字段有效性规则判断后限制重复数据输入。 在输完规格型号后,输批号时,如果此规格型号的此批号已存在,则数据不符合要求,就录不进去。

因为表中还有其它字段数据要录入。 不能录进去后做删除。  我的目的是要防止录入错误,或生产过程中写错单子的情况。 如果在录入的时候能发现同规格型号同批号出现两张单子,就可以不录入,然后去追查生产过程中哪里出问题了。

[此贴子已经被作者于2019-5-23 16:58编辑过]

2019-05-23 16:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
数据保存前先做唯一性检查,可避免重复数据录入。

坚守VFP最后的阵地
2019-05-23 19:07
xinjie
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:257
专家分:501
注 册:2007-8-11
得分:5 
Index On A+B ......

主索引不仅仅只能对单一字段设置。。。。。

[此贴子已经被作者于2019-5-23 20:41编辑过]

2019-05-23 20:40
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:5 
c字段的值,由a字段+b字段得出,即C=A+B,设置c字段为主索引。这样a字段和b字段就不能有两组完全相同的了。
2019-05-27 20:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494894-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.171175 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved