| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:怎样解决字段记录重复
只看楼主 加入收藏
东海
Rank: 1
等 级:新手上路
帖 子:66
专家分:9
注 册:2012-7-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
怎样解决字段记录重复
现有一个地名字段,怎样做到当输入相同地名时,系统提出警告。
搜索更多相关主题的帖子: 记录 系统 
2012-12-20 20:44
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:10 
如果你是用表单的文本框控件输入地名的话,可以在Valid事件中输入如下语句(假设表文件名为T1.DBF,字段名为“地名”):
SELECT COUNT(地名) FROM T1 WHERE 地名==This.Value INTO ARRAY Addr
RETURN IIF(Addr(1,1)>0,0,1) &&已经存在地址就不能离开对话框

当然,这是最简单的能实现该功能的代码。若要做得地道点,可以在边上弄个标签控件,提示用户不可离开文本框的原因。也可以利用文本框控件的InteractiveChange事件使用户一边输入,一边就能在标签控件上知道输入的地名是否重复。
InteractiveChange事件代码可写为:
SELECT COUNT(地名) FROM T1 WHERE 地名==This.Value INTO ARRAY Addr
Thisform.Label1.Caption=IIF(Addr(1,1)>0,"该地址已存在","该地址可用")
如果有了该事件,Valid事件代码可以省略第一条命令,但在表单的Load事件或Init事件中加一句:PUBLIC Addr(1,1),把数组定义成全局变量。否则,执行到Valid事件时,会因为Addr数组被释放而出错。
2012-12-20 21:01
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:10 
在文本框TEXT1的VALID事件中写入代码:
程序代码:
IF ALLTRIM(THIS.Value)==[北京市]
   RETURN MESSAGEBOX([该地名重复]) &&可以离开该文本框
   *-*或者
   RETURN 0 && 不能离开该本框
ENDIF

2012-12-20 22:47
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
借鉴2楼的思路:
在文本框TEXT1的VALID事件中写入代码
程序代码:
SELECT * FROM T1 WHERE ALLTRIM(地名)==ALLTRIM(THIS.VALUE) INTO CURSOR T2
IF RECCOUNT([T2])>0
   RETURN MESSAGEBOX([该地名重复]) &&可以离开该文本框
   *-*或者
   RETURN 0 && 不能离开该本框
ENDIF
2012-12-20 22:52
东海
Rank: 1
等 级:新手上路
帖 子:66
专家分:9
注 册:2012-7-31
收藏
得分:0 
明白了,谢谢了!
2012-12-20 23:16
快速回复:怎样解决字段记录重复
数据加载中...
 
   



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

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