Form

フォームの「ポップアップ」プロパティを「はい」にするとAccess内のウィンドウの最前面に表示されますがが、他のアプリケーションがアクティブになるとその背後に隠れてしまいます。他のアプリケーションも含めてフォームを常に最前面に表示したいという場合もありますよね。 その場合、Windows APIのSetWindowPosを使うと他アプリケーションがアクティブになっても最前面に常に表示させることが可 ...

Query

Accessのクエリ(SQL)の抽出条件や、演算フィールドの式で文字列比較をするとき、テキストモードでの比較になるので、 大文字/小文字、全角/半角、ひらがな/カタカナを区別しません。 例えば、 「ACCESS」と「Access」と「ACCESS」を等しいとみなします。また、「アクセス」と「あくせす」も等しいとみなします。 しかし、これらを別と判断してほしい場合もあるでしょう。その場合の対処法を紹 ...

VBA全般

hatenaも1年前までは変数をプロシージャの先頭にまとめて記述してました。コードの途中に変数が宣言してあるとコードが読みにくいと思ってました。あるきっかけで直前で宣言する派に転向しました。直前で宣言するようになって1年たった今、直前で宣言したほうかメリットが多いということを確信しました。 なぜプロシージャの先頭で宣言していたのか? hatenaが最初に本格的に取り組んだプログラム言語は、Acce ...

VBA全般

VBAコードはVBE(Visual Basic Editor)を使って記述することになりますが、初期設定のままで使ってませんか。オプション設定を少し変更するだけで使いやすくなりコーディング効率がアップします。hatenaが現在使っているお勧めの設定を紹介します。 オプション設定 VBAウィンドウのメニューの-をクリックするとオプションウィンドウが開きます。 タブでの設定 デフォルトから変更するのは ...

VBA全般

いままでOfficeの32bit版のVBAでWindowsAPIを使用していたコードが、Officeを64bit版に変更するとコンパイルエラーになり使えないということが発生します。64bit版に対応させるためには、WindowsAPIのDeclareステートメントの宣言を書き換える必要があります。WEB検索するとMS公式のものも含めていろいろ情報が見つかりますが、分かりにくかったり、不正確な情報も ...

VBA

MDBファイルを開いたときに、Accessアプリケーションのウィンドウの大きさを指定して、サイズ変更できないようにしたい。 このような質問の回答に用意したコードです。 下記の旧ブログの記事の内容を、64bit版Officeにも対応するように加筆修正したものです。Accessウィンドウのサイズを固定する Office2010l以降の64bit版と32bit版に対応してます。ただし、64bit版環境が ...