1
我有一個使用主表(tab1),並使用另一個表(tab2)作爲外鍵的Access窗體。兩個表都是Oracle表。簡單的方法來列出配置的Oracle表的內容
tab2表有3個柱。表單使用tab2的2列(id和名稱)作爲gui中的組合列表。
我想在vba宏中列出所有的tab2值(select * from tab2)。有沒有一些神奇的語法來做到這一點?例如:
With [tab2].Recordset
While Not .EOF
For j = 0 To .Fields.Count - 1
debug.print .item(j).name & " : " & .item(j)
Next
.MoveNext
debug.print
Wend
End With
如果不是,最簡單的方法是什麼? tab2被表單使用(通過外鍵),並且tab2被配置爲訪問左側面板(「表格」部分)中的表格,所以我猜應該有一種簡單的方法來從vba訪問tab2的內容。
編輯:終於找到一個方法來做到這一點:
Dim query As String
query = "select * from tab2"
Dim db As ADODB.Connection
Set db = CurrentProject.Connection ' <<< the key point
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open query, db
With rs
While Not .EOF
For j = 0 To .Fields.Count - 1
debug.print .Fields(j).name & " : " & .Fields(j)
Next
.MoveNext
debug.print
Wend
End With
rs.Close
Set rs = Nothing
這是一個有點長,並沒有得到神奇。但它的工作。
是的,對不起,我忘了是不是 「.item(J)」, 「點域(J)」。無論如何,我的問題更多地集中在「With [tab2] .Recordset」這一行:我正在尋找一種簡單的方法來引用已經在Access中配置的表的內容。最後我找到了一種方法來做到這一點(請參閱我的原始問題中的「編輯:」部分)。這不是一種動搖的語法,但它起作用。 – freesoft