Office中国论坛/Access中国论坛
标题:
实现手动排序的人个问题?
[打印本页]
作者:
真主
时间:
2009-1-19 08:52
标题:
实现手动排序的人个问题?
在主表的子窗体中按F5,便将前一笔记录的排序号+1,当前记录-1,从而达成上下位子调换的目的,可多次上下调换时排序号就全乱了
作者:
zyp
时间:
2009-1-19 09:58
修改一下,测试OK
If KeyCode = vbKeyF5 Then
DoCmd.SetWarnings False '关闭系统提示
Dim Px As Integer
Px = Me.排序
DoCmd.RunSQL ("update B_CA_001BOM表 Set 排序 = 排序 +1 WHERE 所属产品ID=" & Me.所属产品ID & " and 排序=" & Px - 1)
DoCmd.RunSQL ("update B_CA_001BOM表 Set 排序 = 排序 -1 WHERE bomid=" & Me.BOMID)
DoCmd.SetWarnings True '打开系统提示
' Me.Requery '刷新
Me.Recalc '重算
elseif ......
楼主产生错误的原因在于第一个操作查询执行后, 其排序值已经改变, 第二个查询调用的就会是更改后的值而不是之前的值了
[
本帖最后由 zyp 于 2009-1-19 09:59 编辑
]
作者:
真主
时间:
2009-1-19 20:16
谢谢指点,可以了
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3