我正在将旧的2010 Access数据库转换为Access 2016,该数据库最初是在Access 2000中构建的。我的客户表使用自动编号字段来生成CustomerId
数字。 / p>
我使用此字段连接到我的维修表,该表目前有13,000条记录。我一直无法找到在新数据库中维护此字段的方法,因此我想是否可以将表导出到Excel文件,而不是按顺序添加缺少ID号的数字以及填充临时导入的名称和地址字段的数据导入新数据库后,我可以删除这些字段。
我不知道是否还有其他方法可以维护此ID。我使用旧ID字段名导入了客户表,但是访问不允许我使用此字段来创建与新维修表的关系。
ID号从1到8,437,但电子表格中只有7,884条记录。
答案 0 :(得分:0)
重新排列ID的最佳方法是利用“级联更新相关字段”。
Option Compare Database
Option Explicit
Public Sub ReImcrementCustomerIDs(ByVal FirstIndex As Long)
Dim rs As DAO.Recordset
Dim db As Database
Dim SQL As String
Dim ID As Long
Set db = CurrentDb
SQL = "SELECT CustomerID FROM Customers ORDER BY CustomerID;"
Set rs = db.OpenRecordset(SQL, dbOpenDynaset)
Do While Not rs.EOF
rs.Edit
rs("CustomerID") = FirstIndex
FirstIndex = FirstIndex + 1
rs.Update
rs.MoveNext
Loop
End Sub
ReImcrementCustomerIDs 50000
ReImcrementCustomerIDs 1