1)數據表格只能綁定到DAO記錄集對象或ADO記錄集對象。您可以通過設置RecordSource隱式地將它們綁定到DAO記錄集對象,或者您可以在代碼中手動執行它,如#2所示。您只能使用代碼綁定到ADO記錄集,然後某些數據表的默認選項(如篩選和排序)將不起作用。
2)我知道這是過度簡化,但......在窗體的Load事件:設置Me.Recordset = RS(RS是你的記錄集對象)
3)你可以不通過數據表中插入行對象循環和像你可以在許多網格控件上的數據。
4)您可以使用Microsoft的ActiveX控件,如網格控件或ListView控件。
您可能會完成此操作的一種方法是使用「製作的ADO記錄集」,然後將窗體綁定到該記錄集。這將使用我在#1和#2中列出的選項。
在任何情況下,Access數據表格不會動態地添加和配置足夠的單元格/列來顯示像許多網格控件一樣的數據。這意味着您需要在表單上擁有足夠的文本框,然後使用代碼將它們綁定到DAO或ADO記錄集中的字段。任何不需要的列都必須使用代碼隱藏。必須使用代碼填寫標籤標題,以便製作正確的列標題。簡而言之,雖然數據表視圖實際上非常強大,但它不是網格控件。
如果你曾經使用過.NET它很可能是相當簡單的(雖然不平凡)來創建一個外接程序或一個DLL,它會給你你在找什麼。唯一的問題是,.NET的DataGridView中不能被綁定到DAO或ADO記錄集,所以你必須編寫代碼來採取DAO或ADO記錄集,並「翻譯」是記錄到ADO.NET數據表。或者,你可以編寫的是讓你的.NET表單通過獲取數據庫和查詢信息並使用它來檢索所需的數據來進行數據訪問。
編輯1
爲迴應您的意見,下面是一些示例代碼。我認爲你需要創建一個明確的記錄集對象,你在下面的評論中沒有這樣做。
Option Compare Database
Option Explicit
Private Sub Form_Load()
Dim db As DAO.Database
Set db = OpenDatabase("E:\Access\Testdb.mdb")
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset("Select * from tblMarket", dbOpenSnapshot)
Set Me.Market1.Form.Recordset = rs
Set rs = Nothing
End Sub
來源
2012-10-18 15:15:38
HK1
沒有表格,你想要把這個數據表綁定到什麼地方? –
我想執行查詢/提取記錄集並將其與數據表綁定(如數據庫拆分環境!) – mnhmilu