問題:
在access窗體裡面可以用datagrid控件嗎?
Dim rs As New ADODB.Recordset
rs.Open "select * from 表1", CurrentProject.Connection, 1, 1
Set dg1.DataSource = rs
'dg1 就是一個datagrid,我這樣設置對嗎?怎麼沒有任何反應阿?
我的環境不是vb,是vba的Access環境,誰能幫忙?
回答:
要在rs.open前加上
Rs.CursorLocation = adUseClient
才可以的
以下是參考:
CursorLocation 屬性 (ADO)
設置或返回游標引擎的位置。
設置和返回值
設置或返回可設置為以下某個常量的長整型值。
常量 說明
adUseNone 沒有使用游標服務。(該常量已過時並且只為了向後兼容才出現)。
adUseClient 使用由本地游標庫提供的客戶端游標。本地游標引擎通常允許使用的許多功能可能是驅動程序提供的游標無法使用的,因此使用該設置對於那些將要啟用的功能是有好處的。adUseClientBatch 與 adUseClient 同義,也支持向後兼容性。
adUseServer 默認值。使用數據提供者或驅動程序提供的游標。這些游標有時非常靈活,對於其他用戶對數據源所作的更改具有額外的敏感性。但是,Microsoft Client Cursor Provider(如已斷開關聯的記錄集)的某些功能無法由服務器端游標模擬,通過該設置將無法使用這些功能。
說明
該屬性允許在可用於提供者的各種游標庫中進行選擇。通常,可以選擇使用客戶端游標庫或位於服務器上的某個游標庫。
該屬性設置僅對屬性已經設置後才建立的連接有影響。更改 CursorLocation 屬性不會影響現有的連接。
對於 Connection 或關閉的 Recordset 該屬性為讀/寫,而對打開的 Recordset 該屬性為只讀。
Connection.Execute 游標將繼承該設置。Recordset 將自動從與之關聯的連接中繼承該設置。
Remote Data Service 用法 當用於客戶端 (ADOR) Recordset 或 Connection 對象時,只能將 CursorLocation 屬性設置為 adUseClient。