- SQLの実行方法
- 11
最新トピック
8
19 日前
Hatena様にご質問 19 日前
1
2 ヶ月前
排他制御 2 ヶ月前
6
5 ヶ月前
モジュールでカレントフォームのコントロールを使うには 5 ヶ月前
7
5 ヶ月前
日付のテキストボックスからフォームが開けません 5 ヶ月前
9
6 ヶ月前
レポートにおける数値の間隔を広げる方法 6 ヶ月前
12
6 ヶ月前
リストボックスから複数選択しそれをテーブルに格納したい 6 ヶ月前
タグリスト
Markdown テーブル生成
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
まず、AccessのUIでのデータベース操作はDAOを使っています。
クエリ、フォーム、レポートなど、DoCmd系のデータベース操作など。
まずは、これを理解しておいてください。
そこで、
ネットでよくあるコードの一例
これは現在開いてコードを記述しいるAccessファイル以外のAccessファイルを操作するコードになります。具体的には捜査対象は C:\daosample\sample.accdbファイルです。
現在開いてコードを記述しいるAccessファイル内のテーブルを操作する場合は、
Accessファイルを開いた時点で、DAOデータベースは自動で開かれています。よって、OpenDatabaseの記述は不要です。現在開かれているデータベースはCurrentDBで取得できます。
これは変数宣言を省略して下記のように記述してもOKです。
次に、フォームのデータ操作する場合、フォームを開いた時点で、DAOレコードセットも自動で開かれます。フォームのUIでこのレコードセットを操作している仕組みになってます。
ですので、フォームのデータをVBAで操作する場合、OpenRecordsetでわざわざ開く必要はありません。
フォームのレコードセットにアクセスする方法は、Me.Recordset、Me.RecordsetClone、Me.Recordset.Clone があります。それらの違いについては、#4の回答のリンク先で解説しています。
Withステートメントを使用すれば変数宣言も不要になります。
これは、OpenRecordsetの場合も同様に省略することはできますが、
あまり見かけませんね。
こんな感じで理解できたでしょうか。