我们遇到了 Microsoft 访问和名为“isnumeric”的函数的问题。在英文 Windows 上运行我们的软件(它使用 Access)时,12.2 isnumeric = false,但在瑞典 Windows 12.2 isnumeric = true。
我绝不是一名开发人员,我只是想找出为什么会出现这个问题,因为我们的一位开发人员现在正在遇到这个问题。
首先:IsNumeric()了解区域设置,在为国际市场开发时请牢记这一点。例如,Debug.Print IsNumeric("$12.2")返回False给我,而Debug.Print IsNumeric("€12.2")回报True。
也就是说,我可以看到发生这种情况的两种可能性:1) 英语 Windows 上的区域设置已被编辑或 2) 您正在使用自编isnumber方法。
当您创建与内部方法同名的公共方法时,您的方法优先于 VB 的方法。如果您现在想使用 VB 的方法而不是您自己的方法,则需要为其命名空间作为前缀,在 IsNumeric 的情况下为 VBA: VBA.IsNumeric。