1
我有一種情況,我需要運行從MS-Access 2010 VBA到SQL Server 2012的附加/插入查詢值的傳遞,我已經正常工作,但可能會在某些未來點需要處理超過1000條記錄,所以我需要確保我的代碼能夠適應這一點。我的想法是使用模來確定什麼時候我打到第1000條記錄來添加一個新的; insert ....
,通過字符串,不知道它是否是最好的方法,但我努力與.AbsolutePosition
一起工作。MS Access VBA使用AbsolutePosition
到目前爲止,我有:
Dim rs As DAO.Recordset
Dim strsql As String
Set rs = CurrentDb.OpenRecordset("MyTable")
strsql = "insert into [dbo].[SomeTable](field1, field2) values"
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
msgbox rs.AbsolutePosition 'error with whatever I do here
'Something like the below is what I actually want to get to
'If rs.AbsolutePosition Mod 999 = 0 Then strsql = Left(strsql, Len(strsql) - 1) & "; insert into [dbo].[SomeTable](field1, field2) values"
strsql = strsql & " (" & rs!field1 & "," & rs!field2 & "'),"
rs.MoveNext
Loop
strsql = Left(strsql, Len(strsql) - 1) & ";"
Else
MsgBox "No Data"
Exit Sub
End If
我不斷收到不支持這種類型的對象錯誤操作時,要麼試圖返回或執行使用rs.AbsolutePosition
當你編輯出現時,我正在輸入我的答案,他們基本上看起來一樣,後來設置爲通過我只是建立一個字符串。但是我已經把它複雜化了,並且會使用你的答案,不用擔心爲什麼過於複雜的版本不起作用。謝謝 –