| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖, 1 人收藏
标题:求教VFP编程问题
只看楼主 加入收藏
zbl105
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-5-13
结帖率:33.33%
收藏(1)
已结贴  问题点数:20 回复次数:6 
求教VFP编程问题
表A是根据一个小程序不断生成一条条记录的表。表B是一个固定的表。两个表可以通过身份证号进行关联。想请教的问题是,如何在表A上设置约束或者是通过编程的方法,实现以下功能:
如果表A中的数据即身份证号不是表B里的身份证号,在操作程序时表A会跳出一个提示“数据不是表B的数据”。
多谢指点!
搜索更多相关主题的帖子: 身份证号 记录 如何 
2014-03-05 08:31
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:5 
你可以在身份证号码准备写入表A前作一下这个判断:

......
SELECT COUNT(身份证号) FROM B WHERE 身份证号=前面代码得到的那个号码 INTO ARRAY 数量
IF 数量[1,1]=0 THEN
   出现提示信息
ELSE
   数据写入表A
ENDIF
......

以上代码仅供参考,具体情况根据你程序的走向需要来编写。提醒:比较身份证号码时注意字符串头尾部是否有空格。
2014-03-05 08:58
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
sele 表A
a1=allt(身份证号)
sele 表B
loca for a1=身份证号
if !foun()
提示:数据不是表B的数据
else
提示:数据表B的数据
endi
2014-03-05 09:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:5 
判断A表身份号码是否在B表的身份号码中的代码(该代码放在楼主程序的适当位置)
程序代码:
select a.* from a,b where a.sfzh$b.sfzh into cursor TMP
*注:a.sfzh:是A表的具体身份证号码,如:321123198501250412;b.sfzh:是B表的[身份证号码]字段名
IF _TALLY=0 &TMP表记录数为0
   A表的身份证号码不在B表中
ELSE
   A表的身份证号码在B表中
ENDIF

坚守VFP最后的阵地
2014-03-05 10:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
寫一個返回查找結果邏輯值的自定義函數,自然可以依照直觀的寫法實現所需功能。我總不明白那麽多學編程、貼過代碼的人,沒幾個有寫自定義函數和過程的習慣的,寫出來的代碼一團一團,邏輯難以理解,自己看不懂,別人也不會去看。

授人以渔,不授人以鱼。
2014-03-06 13:02
zbl105
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-5-13
收藏
得分:0 
我把程序生成的表A放进一个数据库文件中,能不能通过在数据库中为表A设置触发器或约束的方法来实现这个功能?
[附件]1[/附件
2014-03-07 08:31
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用zbl105在2014-3-7 08:31:48的发言:

我把程序生成的表A放进一个数据库文件中,能不能通过在数据库中为表A设置触发器或约束的方法来实现这个功能?
[附件]1[/附件
VFP的触发器或约束好像不能通过辅助表来设置条件,可以用数据库的参照完整性规则功能。具体思路是这样的:设B表为父表,A表为子表,往子表中插入数据。然后在数据库中设置参照完整性规则:在插入规则中设置成“限制”。如此,基本可以实现楼主的要求。
2014-03-07 10:37
快速回复:求教VFP编程问题
数据加载中...
 
   



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

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