sql - 从另一个查询或字段更改表自动增量起始编号标准
问题描述
我有一个存储我们所有分销合作伙伴销售额的数据库。每周我都会收到更新的销售数据,并将其加载到我称之为 tblImport 的文件中。然后,我运行了一些查询,将新的销售行解析为 tblUpdate 和 tblNewAccounts。我正在努力实现的是将 NewAccounts 表中的 Bill To ID(BT_ID) 字段自动化。我知道如何从主客户表中找到最高的 BT_ID。我想不通的是如何让 tblNewAccounts 开始自动对主客户表中最大 BT_ID +1 的 BT_ID 字段进行编号。
我想出了 Alter Table,这是我在 SQL Query 中使用的代码,但我需要值 128071 实际上是 1 加上主客户表中的 MAX BT_ID。
ALTER TABLE [tblUpdate2_NewAcct]
ALTER COLUMN [BT_ID] AUTOINCREMENT(128071,1)
这是我尝试过的其他方法,但我不断收到错误。
SELECT Max(tblALX_BillTo.BT_ID) AS MaxOfBT_ID
FROM tblALX_BillTo;
ALTER TABLE [tblUpdate2_NewAcct] ALTER COLUMN [BT_ID] AUTOINCREMENT([MaxOfBT_ID],1);
我也尝试在 VBA 中这样做,但它也没有奏效。我假设这一切都与 AutoIncrement 开始的标准字段有关。
解决方案
使用相当简单的 VBA 代码,您可以使用DMax
获取最大当前BT_ID
值加 1。然后将该值写入您的ALTER TABLE
语句,并执行它。
Dim strDDL As String
Dim lngNewSeed as Long
lngNewSeed = DMax("BT_ID", "tblALX_BillTo") + 1
strDDL = "ALTER TABLE tblUpdate2_NewAcct" & vbCrLF & _
"ALTER COLUMN BT_ID AUTOINCREMENT(" & lngNewSeed & ", 1)"
CurrentProject.Connection.Execute strDDL
推荐阅读
- google-chrome - Firefox 中是否有相当于 Google Chrome 的 allow-insecure-localhost 标志?
- java - 无法从 IPA 读取 PNG
- vuejs2 - 带有 vuejs 的静态文件夹中的图像数组
- matplotlib - 以字符串数组作为数据点的分组误差条
- .net - 我可以使用行为类似于 DataGridView .NET 的 Crystal Report 创建报表吗?
- ruby-on-rails - Ruby 中是否有 promise 概念?
- python - Pandas 将列绘制为索引
- python - 在列表理解中将字符串添加到字典
- python - 如何在 sqlalchemy 中为 select 语句提供列列表?
- python - 将 UTC-Date-String 转换为 Unixtimestamp