2012-03-06 22 views
2

我試圖從被調用的函數訪問表單的記錄集克隆,我們正在使用它將記錄集中的數據轉儲到我們正在創建的表中。我試圖從Forms集合中調用窗體,但我無法弄清楚如何將表單名稱(保存在傳遞給函數的字符串中)插入set語句的中間。這是它看起來基本上是:使用變量表名稱的VBA Set Recordet

Public Function EditFormData(frmName As String) 
    Dim strSQL As String 
    Dim strTableName As String 
    Dim rst As DAO.Recordset 
    Dim i As Integer 

    Set rst = Forms![[[frmName]]].RecordsetClone 

我在這裏有點虧了。對於這個特定的函數,我可以將一個記錄集傳遞給該函數,但是在另一個地方我有類似的困境,在這個地方傳遞一個不是一個選項。思考?

回答

3

試試這個:

Set rst = Forms(frmName).RecordsetClone 
+1

+1我一般用表格的名字,但你也可以通過表單本身'EditFormData(FRM作爲表)' – Fionnuala 2012-03-06 15:07:43

+0

好一點。設置語句然後是:'Set rst = frm.RecordsetClone' – mwolfe02 2012-03-06 15:11:16

+0

沒錯。兩人都工作,我覺得自己像個白癡。非常感謝,它會讓我回答。 – Crimius 2012-03-06 15:13:33