• ベストアンサー

アクセス2010VBA 本体フォームの移動を検知

アクセス本体ウィンドの移動を検知する方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「サブクラス化」という方法を真っ先に思いつきますが、VBAではアクセスアプリケーションを監視しようとすると、フリーズします。 ですので「VBAだけでは無理」だと思います。 他のプログラミング言語を用いてもよいのであれば、目的の機能をVBやC++等で作成し、DLLやOCX等にコンパイルすることでアクセスと連携を行うようにしたら可能ではあると思います。 http://okwave.jp/qa/q4620863.html

situmonnsya
質問者

お礼

>フリーズします そうですか。 >DLLやOCX等~~ は、経験がありませんが少し勉強してみます。 当方delphiがメイン言語なのでそちらで・・・ ありがとうございます。

situmonnsya
質問者

補足

DDLうまくいきました。 でも、システムフォルーダー内に置かないとだめで、アクセスの使用しているフォルダー内ではNGでした。 DDLの代わりに、フォームを持たない同等機能のプログラムを同時に走らせることで、うまくいってます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access2000のフォームの移動について

    今までAccess2003を使っていたんですが事情によりAccess2000しか使えなくなってしまいました。 特に違いは気にせず使っていたんですが、デザインビューでのフォームの作成時、テキストボックス等の移動の際、 マウスのドラッグで移動ではなく、移動対象をマウスで選択後、キーボードの↑↓←→キーでの移動ができなくて困っています。 この移動の仕方は2000では出来ないのでしょうか? それとも何か設定方法があるのでしょうか? 知っている方がいたら教えてください。

  • Access フォーム上のタブ移動

    タブ移動について質問します。 フォーム上に検索ボタンがあり、検索ボタンを押すと、イベントプロシージャでデータを取得してきて、フォーム上のテキストボックスに結果を表示する仕組みをつくっています。 この検索ボタンを押した後、あるテキストボックスにタブ移動をしたいのですが、うまくいきません。現在、下記の状態です。 ・検索ボタンを押さずTABキーを押すと、正しくタブ移動する(プロパティのタブ移動順のとおり) ・コード上には「Me!テキストボックス名.SetFocus」を記述 試しに、「Screen.ActiveControl.Name」で確認したところ、移動させたいテキストボックス名が取得できました。また、検索ボタンを押してデータ表示後、別のウインドに切り替え、Accessの画面に戻ると、移動したいテキストボックスにカーソルが存在(点滅)しています。 この事から、タブ移動ができていないのではなく、検索ボタンを押してデータを表示すると、タブが正しく移動しているにもかかわらず、画面上で表示されていないの(点滅していないので入力も、そこからのタブ移動もできません)では?と思います。 「Repaint」などでいろいろ試行錯誤してみたのですが、解決できなかったので、質問をさせて頂きました。 検索ボタンを押した後、正しくタブ移動する方法を教えてください。 環境はAccess2010です。回答をお願い致します。

  • Accessの本体ウィンドウ

    AccessでDBを作っているのですが、よりスマートにしたいので、Accessの本体ウィンドウを消したいのです。 Accessの本体ウィンドウを消す方法ってあるのでしょうか?

  • アクセスのフォーム内での移動は可能ですか?

    アクセスの同じフォーム画面上でコマンドボタンのワンクリックで下の画面に移動させることはできないでしょうか?やはりスクロールするしかないでしょうか?(変な質問ですみません。)

  • アクセスのフォームのボタンで

    access2010を使っています メニュー画面があり、そこに配置したボタンで メニュー以外に開いているウインドをすべて閉じるVABを組みたいのですが アクティブウインドを閉じる命令ばかりがひっかかっています 非アクティブウインドをすべて閉じるVBA文を教えていただければと思います

  • Accessフォームフィールドの移動で

     いつもお世話になります。 Accessのフォームフィールドの追加のとき後で体裁を整えるのに両手のマークと片手のマークの切り替えがうまくできません。片方を移動しようとしても両手マークばかりになってしまいます。 何かうまい切り替え方法をご存知の方は教えてください。 よろしくお願いします。

  • アクセス2000のフォームでレコードの移動が出来ない。

    アクセス2000を使っています。 フォームで入力を途中までして終了し、後でフォームを開いて前のレコードに移動しようとしても移動できません。 新しいレコードの追加も出来ません。 どうしたらよいでしょうか。

  • アクセス2010本体フォーム固定

    アクセス本体のフォームの大きさを固定したく、下記サイトを参考にし http://hatenachips.blog34.fc2.com/blog-entry-2.html SetWindowPos hWnd, HWND_TOP, 0, 0, 800, 600, SWP_NOMOVE 、としました。 これを解除してフォームの大きさを変更できるようにするには、どうしたらよろしいでしょうか?

  • Accessで、サブフォームのあるフォーム内をEnterキーで移動したい

    いつもお世話になっております。 質問させてください。m(_ _)m Accessで、サブフォームのあるフォームを作成すると、同一フォーム内のフィールド移動は「Enter」で動きますが、フォーム間の移動は「Ctrl+tab」になります。 画面に表示されているフィールド間全部を(サブフォームであってもなくても関係なく)「Enter」キーのみで移動していく方法はありますか? あればその方法を教えてください。 移動順序も変えられたらありがたいです。 よろしくお願いします。

  • アクセスのフォームを開くときに新しいレコードへ移動するには?

    アクセスの入力用のフォームを開くときに、新しいレコードへ移動させて、すぐに入力ができるようにしたいのですが、マクロを使っても「レコードセットの最後のレコードよりも後に移動することはできません」のエラーメッセージが出てしまい、新しい入力ができなくなってしまいました。プロパティの更新の許可、追加の許可、削除の許可はいずれも「はい」にしています。どうすれば新しいレコードの入力ができるのでしょうか?困ってます。