是否有快速方法在Access中使用Excel的趋势功能?
具体来说,我想使用Access数据库中的值来将值投影24个月。我还想使用在新列中计算的值更新数据库/表。
我是个菜鸟。
答案 0 :(得分:1)
"是否可以快速在Access中使用Excel的趋势功能?"
这是可能的。但很快,也许不是那么多。
给出已知X和Y值的Trend()
函数数组,以及要为其预测Y值的扩展X范围的另一个数组。 Trend()
会返回另一个包含预测Y值的数组。
此代码在Access 2007中使用,引用了Excel对象库。
Dim knownX, knownY, newX, TrendY
Dim i As Long
knownY = Array(2, 4, 5)
knownX = Array(1, 2, 3)
newX = Array(4, 5)
TrendY = Excel.WorksheetFunction.Trend(knownY, knownX, newX)
For i = LBound(TrendY) To UBound(TrendY)
Debug.Print "X: " & newX(i - 1), "Y: " & TrendY(i)
Next
我使用Array()
来创建输入数组,但是您希望数组包含表中的值,这样会更省力。
还要注意Access数组(通常)从零开始,但Trend()
返回一个基于一的数组。确保您知道自己要处理的是什么。
而且,由于您打算存储预测的Y值,您将需要做更多的工作。
在考虑了这个之后,我怀疑将Access数据导出到Excel工作簿可能更容易,然后使用COM自动化修改Excel中的工作表,保存修改后的工作簿,最后将工作表数据拉回到访问。