試圖在VBA中創建一個函數,以便我可以查詢表(tblGeoData)並將該函數用於字段(lngPopulation)。表(tblGeoData)有多行,每年一行(tblGeoData = lngYear中的字段)。所需年份將使用全局常量(lngDataYr)進行定義。所以函數會抓取tblGeoData.lngPopulation,其中tblGeoData.lngYr = lngDataYr,lngDataYr-1,lngDataYr-2。因此,如果Global Const lngDataYr設置爲2014,那麼該函數將抓取lngPopulation數年,2014年,2013年和2012年。然後,使用lngPopulation的3個值(爲了簡潔而縮短流行度)計算平均變化率:如何創建更改速率函數
AvgChangeRate =((2014年的流行音樂 - 2013年的流行音樂)/ 2013年的流行音樂(2013年的流行音樂 - 2012年的流行音樂)/ 2012年的流行音樂)/ 2
不確定如何創建這個功能,能夠用於任何領域,不只是lngPopulation,它將有2個參數,1是該字段,另一個是指定哪些行的標準。可能的話,我可以查詢該行第一(說全球常量是帶一個名爲GetlngDataYr功能:
SELECT tblGeoData.lngPopulation
FROM tblGeoData
WHERE tblGeoData.lngYear In(GetlngDataYr(),GetlngDataYr-1,GetlngDataYr-2);
但是這將是很好的功能,提取數據以及
在代碼的開頭,我添加了:'Public Function PopRate()As Double'。在代碼末尾添加了'End Function' 。這返回零,所以我將函數名稱從PopRate更改爲AvgChangeRate。這返回了關於d的錯誤eclarations,所以我刪除了'Dim AvgChangeRate As Double'。它現在按預期工作。函數名稱是否需要等於輸出的名稱? – random13
對不起。我編輯了答案來保存完整的功能,因爲我會寫它。 – Gustav