2012-10-01 56 views
1

我想寫一個非常簡單的查詢,並將其綁定與VBA代碼列表框,但錯誤運行這段代碼occures:Microsoft Jet數據庫引擎找不到對象「SELECT * FROM臨陣脫逃」

Private Sub Command0_Click() 
Dim db As DAO.Database 
Dim rs As DAO.Recordset 
Set db = CurrentDb 
Set rs = db.OpenRecordset("SELECT * FROM funk", dbOpenTable) 
Me.List9.Recordset = rs 
End Sub 

數據庫的名稱是正確的。你能告訴我如何解決這個問題?

編輯

我已經改變了我的代碼

Dim db As DAO.Database 
Dim rs As DAO.Recordset 
Set db = CurrentDb 
Set rs = db.OpenRecordset("SELECT * FROM funk") 
Me.List9.Recordset = rs 

,但它不工作太

回答

1

沒有必要對這種併發症:

Private Sub Command0_Click() 
Me.List9.Rowsource = "SELECT * FROM TableName" 
End Sub 

但是,最好說:

Me.List9.Rowsource = "SELECT ID,VisibleField FROM TableName" 

您可以將隱藏ID字段中一個簡單的選擇還沒有任何選擇等於ID當綁定列是1

你將需要:

Dim db As DAO.Database 
Dim rs As DAO.Recordset 
Set db = CurrentDb 
'dbOpenDynaset is the default here, but it would not be the default for 
'a local table 
Set rs = db.OpenRecordset("SELECT * FROM funk",dbOpenDynaset) 
Set Me.List9.Recordset = rs 

Note設爲在最後一行。

+0

謝謝你的回答remou,但我想用Recordset做這個工作。它可能嗎?爲什麼我看到這個錯誤? – Kabi

+2

這個具體的錯誤是因爲你有'dbOpenTable',但是你沒有打開一個表格,之後,當你嘗試設置列表框記錄集時,你會得到一個錯誤。如果你必須這樣做,你需要一個ADODB記錄集AFAIK。 – Fionnuala

+0

嘿rem,,請問我的編輯? – Kabi

相關問題