使用正在转换为科学记数法的 VBA 个数字将记录写入 SharePoint
Writing record to SharePoint using VBA numbers being converted to scientific notation
我有一个使用 ADODB.Connection 连接到 SharePoint 并通过电子表格循环将记录添加到 SharePoint 列表的宏。我只是注意到,当添加一些数字较长的帐号信息时,它会在将值分配给 rst.Fields("AccountNumber") 时将其转换为科学记数法。如果我先将数字分配给一个变量,调试时它看起来很好,但一旦它在代码中超过这一点,rst.Fields("AccountNumber") 就会显示科学记数法,然后它会下降去掉数字并将它们替换为零(当您需要实际帐号稍后查找内容时显然不好)。关于如何防止这种情况的任何想法?我已经问过 SharePoint 列表的所有者我们是否可以将该字段转换为文本而不是数字,但他们无法做到这一点,因为这会弄乱他们在上传数据后使用数据的目的,所以我我必须阻止它。
大多数人可能已经知道这一点,但对于那些不知道的人来说 Excel 在将数字转换为科学记数法之前,数字有 15 位的限制。解决这个问题的唯一方法是将所有内容显示为文本,只要您不进行任何类型的数学计算,这种方法就很好用。 SharePoint 是 Microsoft Office 产品的一部分,它具有相同的限制和相同的解决方案。由于将字段更改为 SharePoint 上的文本对于我的最终用户来说不是一个选项,因此无法解决此问题。
我有一个使用 ADODB.Connection 连接到 SharePoint 并通过电子表格循环将记录添加到 SharePoint 列表的宏。我只是注意到,当添加一些数字较长的帐号信息时,它会在将值分配给 rst.Fields("AccountNumber") 时将其转换为科学记数法。如果我先将数字分配给一个变量,调试时它看起来很好,但一旦它在代码中超过这一点,rst.Fields("AccountNumber") 就会显示科学记数法,然后它会下降去掉数字并将它们替换为零(当您需要实际帐号稍后查找内容时显然不好)。关于如何防止这种情况的任何想法?我已经问过 SharePoint 列表的所有者我们是否可以将该字段转换为文本而不是数字,但他们无法做到这一点,因为这会弄乱他们在上传数据后使用数据的目的,所以我我必须阻止它。
大多数人可能已经知道这一点,但对于那些不知道的人来说 Excel 在将数字转换为科学记数法之前,数字有 15 位的限制。解决这个问题的唯一方法是将所有内容显示为文本,只要您不进行任何类型的数学计算,这种方法就很好用。 SharePoint 是 Microsoft Office 产品的一部分,它具有相同的限制和相同的解决方案。由于将字段更改为 SharePoint 上的文本对于我的最终用户来说不是一个选项,因此无法解决此问题。