| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1342 人关注过本帖
标题:请教:行缓冲,表中并无重复记录,但始终报有重复记录,无法保存,错在哪里
只看楼主 加入收藏
yh1966
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-7-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请教:行缓冲,表中并无重复记录,但始终报有重复记录,无法保存,错在哪里
页面2 init:
select fjpb01
*!*    选择激活上述表的工作区
*!*    set order to 一批号   && 一批号
go bottom

set multilocks on
*!*    设置成可以进行多个记录锁定的配置
=cursorsetprop("buffering",3)
*!*    设置缓冲区环境为3,即表示行缓冲设定,即指针所指的那个记录,即只是一个记录
thisform.Refresh

命令按钮组中保存按钮的:click

CASE this.Value=3

    cmessagetext="确定要保存吗?"
    ndialogboxtype=4+32+0
    ctitlebartext="信息窗口"
    nanswer=messagebox(cmessagetext,ndialogboxtype,ctitlebartext)
    do case
    case  nanswer=6
   
    gh=0
    ph=0
    jzdh=0
    xmph=0
    mpph=0
    jzrq=""   
    gh=thisform.pageframe1.page1.pageframe1.page2.一罐号1.value
    ph=thisform.pageframe1.page1.pageframe1.page2.一批号1.value
    jzdh=thisform.pageframe1.page1.pageframe1.page2.菌种代号1.value
    xmph=thisform.pageframe1.page1.pageframe1.page2.斜面批号1.value
    mpph=thisform.pageframe1.page1.pageframe1.page2.母瓶批号1.value
    jzrq=thisform.pageframe1.page1.pageframe1.page2.一接种日期1.value
      IF  EMPTY(gh) .or. EMPTY(ph).or. EMPTY(jzdh).or. EMPTY(xmph).or. EMPTY(mpph).or. EMPTY(jzrq)
          ??chr(7)
           cmessagetext="资料不全,不予保存!"
           ndialogboxtype=0+48+0
           ctitlebartext="信息窗口"
           nanswer=messagebox(cmessagetext,ndialogboxtype,ctitlebartext)      
           thisform.pageframe1.page1.pageframe1. .F.
           thisform.pageframe1.page1.pageframe1.
           thisform.refresh
      ELSE
     
*!*              thisform.pageframe1.page1.pageframe1.page2.一批号1.controlsource=""
*!*              thisform.pageframe1.page1.pageframe1.page2.一接种日期1.controlsource=""     
*!*              SELECT fjpb01
*!*              GO TOP
*!*              LOCATE all FOR  一批号=ph   
          LOCATE all FOR  一批号=ph .and.一接种日期=jzrq   
     
          IF EOF()
            =tableupdate(.t.)
            ??chr(7)
           cmessagetext="保存成功!"
           ndialogboxtype=0+48+0
           ctitlebartext="信息窗口"
           nanswer=messagebox(cmessagetext,ndialogboxtype,ctitlebartext)
           thisform.pageframe1.page1.pageframe1. .T.
           thisform.pageframe1.page1.pageframe1. .F.
           thisform.pageframe1.page1.pageframe1. .F.
           xgbz=.F.
           thisform.refresh   
          ELSE

          ??chr(7)
           cmessagetext="记录重复(批号和接种日期同时相同),不予保存!"
           ndialogboxtype=0+48+0
           ctitlebartext="信息窗口"
           nanswer=messagebox(cmessagetext,ndialogboxtype,ctitlebartext)
           delete
           pack
           thisform.pageframe1.page1.pageframe1. .T.
           thisform.pageframe1.page1.pageframe1. .F.
           thisform.pageframe1.page1.pageframe1. .F.
           go bottom
           xgbz=.F.
           thisform.refresh
           endif      
      endif
    case  nanswer=7
        =tablerevert(.T.)
        *!*    对行缓冲区中的记录还原,即还原成空白
        ??chr(7)
        cmessagetext="放弃添加新记录成功!"
        ndialogboxtype=0+48+0
        ctitlebartext="信息窗口"
        nanswer=messagebox(cmessagetext,ndialogboxtype,ctitlebartext)
        thisform.pageframe1.page1.pageframe1. .T.
        thisform.pageframe1.page1.pageframe1. .F.
        thisform.pageframe1.page1.pageframe1. .F.
        go bottom
        xgbz=.F.
        thisform.refresh
    endcase

表中并无重复记录,但保存成功哪些语句无用,直接就报 cmessagetext="记录重复(批号和接种日期同时相同),不予保存!请求高手帮助,谢谢!
搜索更多相关主题的帖子: 重复记录 保存 记录 thisform Value 
2018-08-29 13:49
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
收藏
得分:10 
LOCATE all FOR  一批号=ph .and.一接种日期=jzrq
IF EOF()    这句下断点查看 “一批号”和“一接种日期”的值
2018-08-29 14:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
从不用缓冲表,不好控制。

坚守VFP最后的阵地
2018-08-29 19:13
快速回复:请教:行缓冲,表中并无重复记录,但始终报有重复记录,无法保存,错在 ...
数据加载中...
 
   



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

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