首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数字增加4,从我选择的数字开始

将数字增加4,从我选择的数字开始
EN

Stack Overflow用户
提问于 2022-03-19 19:18:07
回答 1查看 59关注 0票数 0

如果不想使用AutoValue,是否可以将列中已经使用的最大值作为大整数(甚至正常数)的默认值并添加到其中?

我需要一个4的增量,从我选择的一个数字开始。

我在使用2016版的Office。

我找到了几种可能的解决方案,我已经在Field Properties中输入了默认值的表达式生成器:

代码语言:javascript
复制
CODE: SELECT ALL

=Max([MyID])+1

代码语言:javascript
复制
CODE: SELECT ALL

=DomMax("MyID"; "Table name")

我总是收到错误消息:

在“

”中的有效性表达式或默认值中的DMax未知函数

我偶然发现VBA编辑器下的引用--> Extras -->引用必须是正确的。然而,在这里,我一点也不知道,如果这是问题所在,我必须激活其中的哪一个。

EN

回答 1

Stack Overflow用户

发布于 2022-03-22 07:26:28

表的PrimaryKey有时可用作部件表中的部件号或user表中的userID,但其他情况下,数据库的用户不应该看到,当然也不应该操作。这是我提出解决方案2的第一个原因。

在Access中,就像我看到的任何其他使用SQL的数据库一样,您可以使用SQL的数据定义语言部分创建一个增量为4的AutoNumber。可能Access设计人员考虑将增量更改得太少或太高级,无法将其放入菜单系统。但是,更改增量并不难,只需打开查询设计器,转到SQL选项卡并键入适当的sql。

In Access 2007, how do I change the Auto Increment value?

代码语言:javascript
复制
 First, Create your table as normal but don't insert any data.  Then open the query designer, and open the sql pane (In this case it doesn't matter what you have in the design view as you are over writing any SQL), type 
代码语言:javascript
复制
ALTER TABLE MyTableName
ALTER COLUMN MyAutoNumberColumnName AUTOINCREMENT(1,4);

sql窗格的带应该自动选择数据定义语言。

运行查询并完成解决方案1。当您在表中输入数据时,MyAutoNumberColumnName将从1开始,增量为4。

解决方案2:不要使用主键。相反,创建另一个变量并显示它。这是使用表单输入数据的一个例子。在表单的BeforeInsert事件中,计算变量并设置它的textbox。

代码语言:javascript
复制
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.txtBoxAlternateIDColumn.Value = Nz(DMax("MyAlternateIDColumn", "MyTableName") + 4, 1)
End Sub

'NZ handles the annoying case where the table is completely empty

我已经使用过解决方案2几次,并且我不让数据输入的人看到数据输入表单上的alternateID文本框。

还可以在DDL中使用Create语句

以下是解决方案2的youtube示例:https://www.youtube.com/watch?v=ZOg4P6v5ewA

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71541302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档