获取 Microsoft Access 中的行以引用其他行
Posted
技术标签:
【中文标题】获取 Microsoft Access 中的行以引用其他行【英文标题】:Getting rows in Microsoft Access to refer to other rows 【发布时间】:2017-06-13 23:18:46 【问题描述】:我有一个包含 3 个字段的 Microsoft Access 数据表:“part_number”、“date_of_price_change”和“new_price”,但我需要转换“new_price”字段以显示“price_change”,而不是完整的“new_price” "每个日期的每个部分。
这显然会涉及一些过程,即查看每个日期的每个唯一零件编号,并查找具有相同零件编号的记录的价格和下一个最早日期,然后扣除价格以获得价格变化。
问题是,我不知道如何在 Access 中执行此操作,并且 Excel 的记录太多。任何人都可以协助如何在 Access 中执行此操作吗? (请注意,日期更改可以随时发生,并且不是周期性的)。
非常感谢。
安娜
【问题讨论】:
你为什么要在这里面标记mysql? 另外,你不应该改变结构。您目前拥有的是基础数据。您可以在视图/查询中从中得出您所追求的东西,这比从一长串价格变化中推断出任何给定时间的价格要容易得多。 我认为@SandPiper 建议您使用子查询将先前的价格拉入每条记录,然后计算差异。查看allenbrowne.com/subquery-01.html#AnotherRecord。不改变原始数据。 在这里access-programmers.co.uk/forums/showthread.php?t=294215 和accessforums.net/showthread.php?t=66588 交叉发布! 【参考方案1】:将新列 price_change 添加为 Money 数据类型,然后运行如下查询。确保先将带有 APPEND 表的表备份到新表中,以防万一。由于它是一个新列,我可能并不重要。
UPDATE
T1
SET
T1.price_change = T1.new_price - Nz((SELECT top 1 T2.new_price from MyTable T2 WHERE T2.part_number = T1.Part_Number ORDER BY date_of_price_change DESC),0)
FROM
MyTable T1
【讨论】:
非常感谢 Daniel 提供的代码。非常感谢您的努力以上是关于获取 Microsoft Access 中的行以引用其他行的主要内容,如果未能解决你的问题,请参考以下文章
替换 .plist 文件中的行以修改 <string> - 可以吗?
参考 Microsoft.Office.interop.access.dao.dll 导致错误 C#