【发布时间】:2016-06-26 07:02:24
【问题描述】:
我们使用 Access 2016 作为前端,使用 SQL Server 2008 作为后端。
用户在表单中创建新记录。为了为这条新记录生成一个自动编号的 ID,我使用 DoCmd.RunCommand acCmdSaveRecord。当我使用此命令时,表单会从该记录中移出。然后我需要找到刚刚创建的记录的 ID。我无法搜索最大的自动编号 ID,因为我们使用合并复制并且不同的用户有不同的 ID 范围。
我尝试在 SQL Server 中使用 GetDate() 创建一个 DateCreated 列并将该列默认为当前日期和时间,但这会使 Access 出现锁定错误和其他错误,因为它无法正确读取 SQL Server 的日期时间格式.
是否有一个.saverecord 选项不会移出表单中的当前记录?或者在使用 SQL Server 后端和 Access 前端时是否存在不会产生错误的日期/时间字段?
简而言之,我需要在表单中创建的最后一条记录的自动编号 ID。
【问题讨论】:
-
该命令不应将表单移出记录。你最好使用 if me.Dirty = True 然后 me.Dirty = false。
标签: sql-server-2008 datetime ms-access