在access中使用DataGrid必須注意

字號:

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