首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

请诸位大侠帮忙看看代码

2012-07-19 
请各位大侠帮忙看看代码做了一个表单 有两个表 把a表中符合要求的记录插入到b表中如果b表中已存在 提示重

请各位大侠帮忙看看代码
做了一个表单 有两个表 把a表中符合要求的记录插入到b表中
如果b表中已存在 提示重复
如果a表中没有 提示没有
调试过程中发现只有第一次有重复时提示 后面重复的就插入了
请教各位高手帮忙指出问题 

SQL code
IF NOT USED('mpmb')USE g:\mpmb.dbfendifSELECT 1GO topLOCATE FOR ALLTRIM(mpmb.th)==ALLTRIM(thisform.text1.value)IF FOUND()   MESSAGEbox('重复')   SELECT 1   USE   ELSE   IF not USED('jck')   USE g:\jck.dbf   endif   SELECT 1   GO TOP    LOCATE FOR ALLTRIM(jck.th)==ALLTRIM(thisform.text1.value)   IF FOUND()     insert INTO mpmb SELECT * FROM jck where jck.th==ALLTRIM(thisform.text1.value)     SELECT 1     USE     SELECT 2     USE   ELSE     MESSAGEbox('料号不在jck内')     SELECT 1     USE   ENDIFENDIFthisform.Releasempmb.refresh


[解决办法]
探讨
如果b表中已存在 提示重复
如果a表中没有 提示没有

[解决办法]
请参考:
SQL code
表1有而表2没有记录*-----------------Create Cursor 表1 (Fl1 i,Fl2 i)Create Cursor 表2 (Fl1 i,Fl2 i)Insert Into 表1 Values (1,1)Insert Into 表1 Values (2,1)Insert Into 表2 Values (2,0)Insert Into 表2 Values (3,0)*-- 取出表1有而表2没有的表1记录Select A.* From 表1 A Where Not Exists (Select Fl1 From 表2 B Where A.Fl1=B.Fl1)*-- 或Select A.* From 表1 A Left Join 表2 B On A.Fl1=B.Fl1 Where B.Fl1 Is Null
[解决办法]
4楼代码更正如下:
SQL code
*---VFP6.0代码。*---表单运行前,将数据表JCK.DBF及MPMB.DBF分别添加到表单的数据环境中SELECT MPMBLOCATE FOR ALLTRIM(MPMB.TH)==ALLTRIM(THISFORM.TEXT1.VALUE)IF FOUND()   MESSAGEbox("表MPMB.DBF中存在该记录")   SELECT JCK   GO TOP    LOCATE FOR ALLTRIM(JCK.TH)==ALLTRIM(THISFORM.TEXT1.VALUE)   IF FOUND()      MESSAGEBOX("表JCK.DBF中存在该记录")   ELSE      INSERT INTO JCK (TH) VALUES (THISFORM.TEXT1.VALUES)   ENDIFELSE   MESSAGEbox("表MPMB.DBF中不存在该记录")ENDIFTHISFORM.REFRESH 

热点排行