レコードセットで DAO を使用して次のことを行うにはどうすればよいですか
SELECT TOP 1 * FROM foo WHERE id = 10 ORDER BY timestamp DESC
SetCurrentIndexを使用すると、1 つのインデックスのみを使用できます。それ以外の場合は、idとタイムスタンプを使用して最初のインデックスを選択すると機能するようです。
私はあなたが何を望んでいるのか、決して確信が持てません。
Dim rs As DAO.Recordset
Dim db As Database
Set db = CurrentDB
sSQL = "SELECT TOP 1 * FROM foo WHERE id = 10 ORDER BY timestamp DESC"
Set rs = db.OpenRecordset(sSQL)
検索は、すべてのレコードセットで機能するわけではありません。これはうまくいきます:
Set rs = CurrentDb.OpenRecordset("select * from table1")
rs.FindFirst "akey=1 and atext='b'"
If Not rs.EOF Then Debug.Print rs!AKey
これはしません:
Set rs = CurrentDb.OpenRecordset("table1")
rs.FindFirst "akey=1 and atext='b'"