【问题标题】:Modify data in MSAccess before passing on to SQL Table在传递到 SQL 表之前修改 MS Access 中的数据
【发布时间】:2013-02-06 18:34:43
【问题描述】:

我已经建立了一个带有与 SQL 表的链接表的 Access 数据库。我已经在链接表的 Access 中创建了一个查询。我已经设置了将数据导出到 Access 查询的运输软件,并且它成功地传递到了 SQL 表。到目前为止,一切顺利。

现在开始讨论这个问题。 SQL 表中的“权重”列“隐含”了 4 个小数位。因此,当我导出权重“1”时,它在 SQL 表中显示为“.0001”。我需要将权重乘以 10000 以使其在 SQL 表中显示为“1.0000”。

我尝试修改 Query 的 SELECT 语句以对该列进行数学运算,但我从 ODBC 驱动程序中收到“无法更新字段”错误。

有没有办法做到这一点?我根本没有使用 MS Access(除了创建 .mdb 文件)。只需使用 .mdb 文件作为运输应用程序和 SQL 表之间的桥梁。

感谢您的指导!

【问题讨论】:

  • 权重列的dataType是什么?
  • 您能否发布您尝试过但“无效”的查询。我无法想象将 int 乘以 10,000 以使其正确导入浮点数是使其工作的唯一方法?你确定没有其他事情发生吗?
  • 这是一个查询中的简单选择语句:SELECT PkgWgt, PkgCost, TrkNum FROM LinkedTable。这工作正常。但如果我这样做:SELECT PkgWgt*10000, PkgCost, TrkNum FROM LinkedTable 然后我得到一个 ODBC 错误 Field is not updateable

标签: sql ms-access pass-through bridge


【解决方案1】:

看看这个answer,它看起来和你要找的很相似。

https://stackoverflow.com/a/11296097/886591

【讨论】:

  • 这是一个新创建的 mdb 文件。链接表不需要刷新。有三个主键字段,所有字段都包含在查询中。我要相乘的字段不是主键字段。这件事现在没有实际意义,因为我让数据库管理员在他的脚本中乘以将数据移动到最终目的地的字段。我会将其标记为已回答。谢谢。
猜你喜欢
  • 2011-03-29
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多