设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3374|回复: 7
打印 上一主题 下一主题

[Access本身] 自动编号重置

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2013-6-11 11:09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    对于有些自动编号的字段想重置从1开始编号(假设没有1)。

    可以通过 压缩和修复数据库 这个功能实现。

    还有,但数据库用一段时间最好也修复一下,有利于维护数据库{:soso_e100:}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-6-11 11:54:39 | 只看该作者
是的, 压缩修复 必须是数据表清空,自动编码才重设.

点击这里给我发消息

3#
 楼主| 发表于 2013-6-11 11:56:41 | 只看该作者
tmtony 发表于 2013-6-11 11:54
是的, 压缩修复 必须是数据表清空,自动编码才重设.

哦,也是

点击这里给我发消息

4#
发表于 2013-6-13 13:31:10 | 只看该作者
还有函数,可使用ADOX重置
Function ChangeSeed(strTbl As String, strCol As String, lngSeed As Long) As Boolean
'清空表全部记录后重置自动编号起始值
'You must pass the following variables to this function.
'strTbl:包含自动编号字段的表
'strCol:表中自动编号的字段名
'lngSeed:新自动编号的起始值
'必须同时引用 Microsoft ActiveX Data Objects 2.x 和 Microsoft ADO Ext 2.x for DDL and Security Libraries(其中 2.x 是指 2.1 或更高版本)

    Dim cnn As ADODB.Connection
    Dim cat As New ADOX.Catalog
    Dim col As ADOX.Column
   
    DoCmd.RunSQL "Delete * FROM " & strTbl & ""
   
    Set cnn = CurrentProject.Connection
    cat.ActiveConnection = cnn
    Set col = cat.Tables(strTbl).Columns(strCol)

    col.Properties("Seed") = lngSeed
    cat.Tables(strTbl).Columns.Refresh
    If col.Properties("seed") = lngSeed Then
        ChangeSeed = True
    Else
        ChangeSeed = False
    End If
    Set col = Nothing
    Set cat = Nothing
    Set cnn = Nothing

End Function
5#
发表于 2013-6-13 14:17:21 | 只看该作者
木有办法 必须把以前的遍号清空才行

点击这里给我发消息

6#
发表于 2015-7-4 10:01:44 | 只看该作者
good
回复

使用道具 举报

点击这里给我发消息

7#
发表于 2015-7-10 16:38:50 | 只看该作者
good
回复

使用道具 举报

点击这里给我发消息

8#
发表于 2015-7-24 20:27:00 | 只看该作者
333
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 02:13 , Processed in 0.090933 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表