首页 文章

VBA Access SQL Server表插入行为不同

提问于
浏览
0

将访问代码更改为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,结果是正确的 .

enter image description here

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

enter image description here

dbo.PilotRequest 表中有数据,即'5555' . )

有没有人知道这个的原因?

1 回答

  • 1

    你需要在 Max 之外进行连接,否则你的 Max 会比较字符串并失败(因为里面有一个字符串) .

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

相关问题