1

非常に単純なクエリを作成し、VBA コードを使用してリストボックスにバインドしたいのですが、次のコードを実行するとエラーが発生します。

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

しかし、それも機能しません

4

1 に答える 1

1

そのような複雑さは必要ありません。

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

ただし、次のように言う方がはるかに適切です。

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

ID フィールドを非表示にすることはできますが、バインドされた列が 1 の場合、単純な選択での選択は ID と等しくなります。

必要になるだろう:

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

注 最終行に設定します。

于 2012-10-01T10:29:19.390 に答える