| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 904 人关注过本帖
标题:pack删除问题
只看楼主 加入收藏
lf8276858
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-8-20
收藏
得分:0 
还是不行,不过还是谢谢你了,呵呵
这是一个删除按钮的click事件,代码是
select zgdab
if recc()=0
   =messagebox("数据库中无记录可供删除",0+48,"系统提示")
else
   if len(allt(thisform.text1.value))=0
      =messagebox("请输入职工编号",0+48,"系统提示")
      thisform.text1.setfocus
      return
   endif     
    yn=messagebox("确定要删除该职工档案?",4+32,"信息提示")
    select zgdab
    delete
    pack
    if  yn=6
    messagebox("职工号“"+zgh+"”姓名“"+xm+"”的档案已删除!",0+48)  
    endif      
   select zgdab
   go bottom
   thisform.text1.setfocus
   endif
   thisform.refresh

是不是我代码有错呀,
我刚开始学,不是很懂呀
2011-08-20 20:04
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:0 
你把这个拷过去试试,如果还是不行,那我没招了
select zgdab
if recc()=0
   =messagebox("数据库中无记录可供删除",0+48,"系统提示")
else
   if len(allt(thisform.text1.value))=0
      =messagebox("请输入职工编号",0+48,"系统提示")
      thisform.text1.setfocus
   else   
        yn=messagebox("确定要删除该职工档案?",4+32,"信息提示")
        if  yn=6
           select zgdab
        DELETE For zgh=ALLTRIM(thisform.text1,value)
         messagebox("职工号“"+zgh+"”姓名“"+xm+"”的档案已删除!",0+48)  
        ENDIF
    ENDIF      
   select zgdab
   go bottom
   thisform.text1.setfocus
 endif
   thisform.refresh
在表单的unload事件里加入
close tables
use zgdab excl
pack


在没有路的地方走一条路,让别人有路可走
2011-08-20 20:19
lf8276858
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-8-20
收藏
得分:0 
DELETE For zgh=ALLTRIM(thisform.text1,value)
不行呀,显示“参数太多!”
2011-08-20 20:25
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:20 
把这一句改成
DELETE For zgh=ALLTRIM(thisform.text1.value)
也就是text1.value中间是个点,不是逗号


在没有路的地方走一条路,让别人有路可走
2011-08-20 20:32
lf8276858
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-8-20
收藏
得分:0 
回复 14楼 scilent
问题已解决,
谢谢scilent的不断回复,
我把前面数据环境移去,
把前面要调用表的程序改了改,加入了if   Used( "zgdab")
                                       Select  zgdab
                                         else
                                        Use  zgdab
                                        endif
然后在删除按钮中再用 delete
                     use  zgdab  exclusive
                     pack
就可以了,
呵呵,以前老纠结在删除按钮上,呵呵,有时想问题还是全面点好,条条道路通罗马呀
2011-08-21 09:10
nsjdy
Rank: 2
等 级:论坛游民
帖 子:29
专家分:33
注 册:2006-6-13
收藏
得分:0 
我觉得用假删除的办法不好,最好增加一个是否显示的标识字段,相当于查询之中的一个条件。
2011-08-21 15:26
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:0 
我已在表单的数据环境中加了表
   select zgdab
    delete
    if  yn=6
    messagebox("职工号“"+zgh+"”姓名“"+xm+"”的所有档案已删除!",0+48)  
    endif     
您这一段程序不完整,如果方便请将完整的程序写出来
建议您这样写:
1、不要在表单中加入数据环境,在表单的LOAD 事件中加入这段代码:
    if used("zgdab")
        use in zgdab
    endif
    select 0
    use zgdab exclusive
2、在表单中有一个GRID控件,命名为GRID1
3、在表单的INIT事件中加入这段代码:
    thisform.grid1.recordsource ="zgdab"
4、您单击选定表中的一个记录,在删除按钮的CLECK事件中:
    select zgdab
    IF messagebox("您确认要删除职工号“"+zgh+"”姓名“"+xm+"”的档案吗?",4+32,"系统消息") =6
        delete
    endif   
5、在表单的UNLOAD 事件中:
    select zgdab
    pack
 


[ 本帖最后由 apple0072011 于 2011-8-22 15:29 编辑 ]

天道酬勤
2011-08-22 15:21
快速回复:pack删除问题
数据加载中...
 
   



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

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