Office学院 加入收藏
Office学院 Access Word Excel Powerpoint Wps Access Outlook Tags  
您现在的位置: Office学院 - Access - 压缩Access数据库后不重置自动编号字段

压缩Access数据库后不重置自动编号字段

添加记录: 压缩Access数据库后不 类别: Access 发布日期: 2006.07.13


发布日期:
2007-6-6

作    者:微软

摘    要:添加新记录时不当删除最后一个记录或表中记录或窗体中具有 AutoNumber 字段, 并压缩数据库, 然后 AutoNumber 字段不发生作用,使用以下两种方法之一可解决此问题。

正    文:

原因: 您有安装 Microsoft Jet 4.0 Service Pack 4 (Msjet 40 .dll 版本 4.00.2927.4) 或更高版本。


一、解决方案如下:
方法 1
创建新表并追加现有记录到新表。 除非将递增值编程新记录添加到此表将开头的 AutoNumber 值为一个。

注意 如果不再需要记录, 可以也将 AutoNumber 字段通过从表, 删除所有记录和再压缩数据库。 但是, 如果您使用此方法, 您能得到删除记录。

要创建新表并现有记录追加到新表在 MicrosoftAccess 数据库 (.mdb), 请按照下列步骤:
1. 单击数据库窗口中您表。 
2. 按 CTRL + C 
3. 按 Ctrl + V。 
4. 单击 结构只 粘贴表方式 对话框中, 键入名称 tblNewTable , 然后单击 确定 。 
5. 在 Microsoft Office Access 2003 或 Microsoft Access 2002, 中 数据库对象 指向 视图 菜单上, 单击 查询 , 依次 设计视图中创建查询 。

其他 组中 Microsoft Office Access 2007年, 中 创建 选项卡, 依次 查询设计 。 
6. 添加 , 单击旧表, 然后和 Close , 对话框中 显示表 。
7. Access 2003 中或在 Access 2002, 单击 查询 菜单上 追加查询 。

在 Access 2007年, 单击 设计 选项卡上 查询类型 组中 追加 。 
8. 追加 对话框中, tblNewTable 在 表名称 框中, 单击, 然后单击 确定 。
9. 所有字段添加到查询设计网格除 AutoNumber 字段。 
10. 在 Access 2003 或在 Access 2002, 在 查询 菜单上, 单击 运行 到记录追加到新表。

在 Access 2007年, 单击 设计 选项卡上将记录追加到新表 结果 组中 运行 。 
11. 打开 tblNewTable 表, 然后添加记录。

注意 AutoNumber 是下一个高编号。

方法 2
您在 MicrosoftAccess 数据库 (.mdb) 使用下列函数重置种子值将 AutoNumber 字段编程。 可添加到模块, 函数, 然后在调试窗口运行它。 或从一个命令按钮或宏中调用函数。

注意 对于此代码以运行正确, 必须引用 MicrosoftActiveX 数据对象 x 和 Microsoft ADO Ext x 对于 DDL 和安全库 (其中 x 是 2.1 或更高。 可以进行, 单击 工具 菜单在 VisualBasic 编辑器上 引用 。 确保 MicrosoftActiveX 数据对象 x 和 Microsoft ADO Ext x 为 DDL 和安全库 复选框被选中。

Function ChangeSeed(strTbl As String, strCol As String, lngSeed As Long) As Boolean
'You must pass the following variables to this function.
'strTbl = Table containing autonumber field
'strCol = Name of the autonumber field
'lngSeed = Long integer value you want to use for next AutoNumber.

Dim cnn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim col As ADOX.Column

'Set connection and catalog to current database.
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

二、本文摘自:http://support.microsoft.com/kb/287756/zh-cn#top

顶一下
上一篇:如何设置数据库权限
下一篇:如何在 Access 中创建 DSN 并连接到 SQLServer 链接表
Tags: Access Office 设计 按钮 窗口 函数 菜单

相关信息
  • 如何设置数据库权限
  • 如何按权限设置共享
  • 简述宏与VBA有何差异
  • 简述VBA与VB的区别
  • 如何将宏转换为VBA
  • 如何区分“!”及“.”符号在ACCESS中的差别
  • Access系统保全的原理
  • 如何多用户环境中保护链接表
  • 2007 Office —— 通过快捷键访问 Ribbon
  • 如何指定TransferSpreadsheet方法中工作簿中的工作表
  • 用UMV开发平台开发管理信息系统小结
  • ACCESS培训学习小结-老潘
  • 提高ACCESS查询性能的方法
  • 如何合理调整窗体的布局
  • 如何手动注册控件
  • 如何在 Access 中创建 DSN 并连接到 SQLServer 链接表
  • 如何解决运行查询、窗体或报表时出现键入参数值对话框问题
  • 压缩、修复或恢复 Access 文件的疑难解答
  • 关于在多个 Access 版本中使用 Access 文件
  • 创建 Access 2007 查阅字段列
  • Access 2007 表的设计
  • 创建 Access 2007 表
  • 如何利用快捷键来访问ACCESS 2007的功能区?
  • Access 2007 功能区运用祥细讲解
  • Access 2007 以PDF 格式保存文件
  • Access 2007 微型工具栏
  • Access 2007 状态栏
  • Access 2007 选项卡式文档
  • Access 2007 导航窗格
  • 创建 Access 2007 查阅字段列














  • 生日密码
    血型分析
    生肖分析



    制作单位 Office学院 © 版权所有


    联系我们 关于我们 友情链接 站点地图 免责声明


    Office学院,致力于打造专业的OFFICE应用交流平台。