压缩access数据库后不重置自动编号字段
时 间:2007-06-06 00:00:00
作 者:UMVsoft整理 ID:8 城市:上海 QQ:2851379730
摘 要:添加新记录时不当删除最后一个记录或表中记录或窗体中具有 AutoNumber 字段, 并压缩数据库, 然后 AutoNumber 字段不发生作用,使用以下两种方法之一可解决此问题。
正 文:
一、解决方案如下:
方法 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软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)