Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

修改窗体记录在requery后,如何返回到被修改记录的位置

小华  发表于:2014-04-20 21:54:31  
复制

如下典型录入窗体,主窗体frmA,子窗体child0是已录入的记录列表,录入窗体frmedit,

在录入窗体frmedit保存按钮最后写上forms!frmA!child0.requery,使记录列表刷新,我发现存在如下问题:

1.有时候,列表窗体刷新后,可以看到记录列表里的记录被修改了,并且列表窗体里的记录位置仍然保持修改的那条记录

2.有时候,列表窗体刷新后,可以看到记录列表里的记录被修改了,但是列表窗体里的记录位置跑到了第一条

为了保证修改完,列表窗体刷新后,记录仍然定位在被修改的记录上,我在“保存”按钮下写如下代码:

修改前 

         dim rsno as lon

         rsno=forms!frmA!child0.form.currentrecord

修改后

         forms!frmA!child0.requery

         forms!frmA!child0.setfocus

         docmd.gotorecord,,acgoto,rsno

这个方法是先记录被修改的记录位置,在修改完刷新后,在定位到原来的位置,但是又出现了新的问题:

1.有的时候,很稳定,效果非常好

2.有的时候,只能点击“保存”按钮一次,能准确定位,但点第二次,就会出现“错误2105,不能转到指定的记录”

3.有的时候,一点“保存”按钮,直接报错2105

以上情况让我很不解,为什么同样的代码放在不同的文件里面,表现出来的结果时好时坏,很不稳定,请问各位高手,前辈,以上是什么原因?

有什么办法解决?或者有没有其他的办法解决?


 

Top
落尘_小新 发表于:2014-04-21 08:43:21
标准模块_窗体Requery后保持原来纪录位置[Access软件网]
http://www.accessoft.com/article-show.asp?id=6289

小赵 发表于:2014-04-21 09:53:52

Access新建记录时错误‘2105’和‘3426’错误代码http://www.accessoft.com/article-show.asp?id=7689



总记录:2篇  页次:1/1 9 1 :