別のレコードセットのVBAを使用してレコードセットを開きたいとします。レコードセットからレコードセットを開く方法は?
私はSQLを書いて、new_entryとvalid_unit
' valid_unit
SELECT *
FROM import_raw_data
WHERE unit_name IN (SELECT unit_name FROM unit);
' new_entry
SELECT *
FROM valid_unit
WHERE id NOT IN (SELECT id FROM serviceman);
WHERE
名前付きクエリにそれを保存する場合、これは動作しますが、私が代わりにクエリを保存するので独占的にVBAでこれを行うしたいと思います。
Sub testing()
valid_unit_sql = _
"SELECT * " _
& "FROM import_raw_data"
& "WHERE unit_name IN (SELECT unit_name FROM unit);
new_entry_sql = _
"SELECT * "
& "FROM (" & valid_unit_sql & ") " _
& "WHERE id NOT IN (SELECT id FROM serviceman);"
With CurrentDb
Set valid_unit = .OpenRecordset(valid_unit_sql)
' valid_unit works great
Set new_entry = .OpenRecordset(new_entry_sql)
' this doesnt, it errors out
End With
End Sub
私はこれをどのようにして知っていますか?代わりにvalid_unitクエリとFROM valid_unitを保存する必要がありますか?
あなたのコードは無効で、それを修正し、作業コードを表示してください。 [VBAで動的SQLをデバッグする方法](http://stackoverflow.com/questions/418960/managing-and-debugging-sql-queries-in-ms-access/1099570#1099570) - ifそれはあなたの質問に 'Debug.Print new_entry_sql'の出力を追加するのに役立ちません。 – Andre
また、* "errors out" *はあまり役に立ちません。完全なエラーメッセージを追加してください。 – Andre
それを指摘してくれてありがとう、ありがとうコードと誤った説明のないエラーメッセージの謝罪。私は将来の質問のためにそれをメモします! –