私はVBAスクリプトのSQL SELECT文を使用して移入したい連続フォームを持っています。私はこの仕事をするように見えることはできません。vbaのsql経由でアクセスフォームにデータを入力する
sel = "Select * from table1 where a = 10;"
Set SQL = db.OpenRecordset(sel)
SQL.Requery
私はVBAスクリプトのSQL SELECT文を使用して移入したい連続フォームを持っています。私はこの仕事をするように見えることはできません。vbaのsql経由でアクセスフォームにデータを入力する
sel = "Select * from table1 where a = 10;"
Set SQL = db.OpenRecordset(sel)
SQL.Requery
は、なぜあなたは、フォームのRecordSourceプロパティに、あなたの選択命令を入れないのですか?
Me.recordsource = "Select * from table1 where a = 10;"
スクリプトがフォームの手順のいずれかである場合、または
myForm.recordsource = "Select * from table1 where a = 10;"
あなただけの設定の代わりにレコードセットを使用したい場合は、あなたのスクリプトは、独立したモジュール
である場合RecordSource
(既にPhilippe Grondier's answerに提案されているように)、これを行うこともできます。
Set Me.Recordset = db.OpenRecordset("select ...")
RecordSource
を設定することは "標準的な方法"です(特にSQLステートメントがあり、それをフォームに入力したい場合は特にそうです)。しかし、私はまだこの代替ソリューションを見せたいと思います。
私は通常、それを使用して、関数によって返されるRecordsetをフォームに取り込みます。
これは完全に正しい方法ですが、DAOレコードセットではなくADODBを体系的に使用しています。 –
はい、私も(SQL ServerのフロントエンドとしてAccessを使用しています) –