Sql server VBA Access SQL Server表插入的行为不同

Sql server VBA Access SQL Server表插入的行为不同,sql-server,ms-access,vba,Sql Server,Ms Access,Vba,将访问代码更改为SQL Server时出现问题。我正在尝试将数据保存在SQL Server中,而不是Access数据库中 存取码 SELECT MAX("SPR-" & VAL(Replace([RequestID],"SPR-",""))+1) AS AutoID FROM Tb_Request; SQL Server: SELECT FORMAT(MAX(1 + REPLACE(RequestID, 'SPR-', '')),'SPR-#') AS RequestNo FRO

将访问代码更改为SQL Server时出现问题。我正在尝试将数据保存在SQL Server中,而不是Access数据库中

存取码

SELECT MAX("SPR-" & VAL(Replace([RequestID],"SPR-",""))+1) AS AutoID 
FROM Tb_Request; 
SQL Server:

SELECT FORMAT(MAX(1 + REPLACE(RequestID, 'SPR-', '')),'SPR-#') AS RequestNo 
FROM dbo.PilotRequest
我想我的更改是正确的,因为我签入了SQL Server,结果是正确的

在Access中应用此代码时,结果如下所示:

(在
dbo.PilotRequest
表中有数据,即“5555”。)


有人知道原因吗?

您需要在
Max
之外进行连接,否则
Max
将比较字符串并失败(因为其中有一个字符串)


你说你有
5555
,但你的图片显示你查询
5556
不,那不是。SPR-5556是正确的,因为我这样做了查询。但在访问程序中,我得到了“0PR-#”,它需要像“SPR-5556”。我不知道为什么会发生这种情况。请仔细查看“无请求”组合框的属性。可能显示了错误的数据
SELECT "SPR-" & MAX(VAL(Replace([RequestID],"SPR-",""))+1) AS AutoID 
FROM Tb_Request;