Access交流中心

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

请教煮江老师!

pzszdy  发表于:2010-09-16 20:58:32  
复制

关于删除记录后,修复序号的问题,不知道有没有更加简便的办法?很多我用了长段的代码,煮江老师用简单的代码都实现了,我觉得我这个代码不是很理想,我想序号应该不能有重复的,否则可能会出错,不知道煮江老师又没好的办法!谢谢了!

点击下载此附件

 

Top
pzszdy 发表于:2010-09-16 21:03:03
这个代码为了同时修复了页码,但序号如果有重复可能会修复失败!

煮江品茶 发表于:2010-09-17 17:54:19
明天再说,今天较忙。

煮江品茶 发表于:2010-09-17 19:47:54

 

 

Private Sub Command1_Click()
Dim rs As New ADODB.Recordset
Dim i As Long
rs.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs.RecordCount
    If rs("序号").Value <> rs.AbsolutePosition Then
        Call P(rs("序号").Value)
        Exit For
    End If
    rs.MoveNext
Next
rs.Close
Set rs = Nothing
End Sub

 

Sub P(MyID As Long)
Dim rs As New ADODB.Recordset
Dim i As Long
rs.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.Find "序号=" & MyID
For i = MyID To rs.RecordCount + 1
    rs("序号").Value = rs("序号").Value - 1
    rs("页码").Value = rs("页码").Value - 1
    rs.Update
    rs.MoveNext
Next
rs.Close
Set rs = Nothing
End Sub



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