回 帖 发 新 帖 刷新版面

主题:grid总是删除数据源的第一条记录,纠结中。。。。

use 数据源表名
dele
pack
thisform.grid.recordsource=" "
thisform.grid.recordsource="表名"



请教各位大师,本人想通过表格删除表中记录,为什么总是删除了表格中也是表中的第一个记录,而不能删除表格中鼠标所处的记录呢
  

郁闷了好久了。。。。

回复列表 (共10个回复)

沙发

郁闷了好久了。。。。
有QQ吗?将程序发过来,给你看看
加我:QQ:  agt-fi@qq.com

板凳

use drugrate excl
delete 
pack 
thisform.grdDrugrate.recordsource=""
thisform.grdDrugrate.recordsource="drugrate"
就这个

3 楼

你那什么QQ号啊,也不像是空间或邮箱,我的QQ370033106,你加我?

4 楼

sele drugrate
dele 

不要pack 

5 楼

1.这段代码就是删除第一条数据.因为打开表时,指针就是落在第一条记录上!
 
2.想要删除表格中的某行值(记录),有一种比较好用的方法.
  将表格的DELETEMARK设置为T,想要删除哪条就删除哪条(逻辑删除),然后再用一个事件来物理删除.比如按钮的CLICK事件
 
  PS:要PACK数据时,需先断开表格的数据源,否则在一下次事件中发生你想不到的错误.即先RECORDSOURCE="",然后再PACK

6 楼

既然表单里已经有数据显示,说明表是打开的,把 “use 数据源表名”去掉就行了。否则会再次打开表,指向第一条记录。

7 楼


楼上所有仁兄的建义都试过了,没一个管用啊,

8 楼

你用deletemark来作逻辑删除,然后再整体做物理删除,其结果就是删除作逻辑删除标记的记录.如果你第一条记录没有作删除标记,怎么可能会删除呢?出现此现象,除非你在做物理删除时,表重新再次打开且代码中存在一条dele 的命令才做的pack,不然就不可能出现你所说的问题.

  ps:请在进行表格绑定时,先加一句set dele off(表格显示被逻辑删除的记录)

9 楼

先测试一下是否是你要删除的记录,我在VFP6.0表单删除记录均与提示相符

dele
  messagebox("您选定的第 "+ALLTRIM(STR(RECNO()))+" 记录已经删除!","系统提示")
wait
pack
ThisForm.Grid1.recordsource="sj"
ThisForm.Grid1.visible=.t.

10 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册