• ベストアンサー

Ctrl+F4を押してもフォームが閉じないのですが

とあるmdbファイルで、Ctrl+F4を押してもフォームが閉じないのですが どうやってロックしてるのでしょうか? そのロックを解除する方法を教えてください。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.2

フォームの「ポップアップ」プロパティが「はい」の場合、 あるいは 「フォームを開く」 アクションで 「ウィンドウモード」に「ダイアログ」を指定している場合など アクティブフォームでないときには Ctrl+F4 は 効かないようですね。

kcdlcjlja8
質問者

お礼

ポップアップがはいになってました! これが原因だったようですね。 無事閉じれるようになりました。

その他の回答 (1)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> Ctrl+F4を押してもフォームが閉じない フォームやアプリケーションのウィンドウを閉じるショートカットは「Alt+F4」のはずなので、 まずはその点をご確認下さい(汗) Access上で特定のキー操作を無効にする方法は幾つかありますが、今回ご質問の 「Alt+F4」の場合は、当該フォームの『キークリック時』イベントで、(特定の)キー入力 を無効にする方法のみが対応可能な方法となります。 また、キー操作を無効にする以外の方法として、設計者が設置したコマンドボタン(等) 以外の方法で閉じた場合に、フォームの『読み込み解除時』イベントのCancel引数を 使用して、閉じる処理を無効化する、というものも考えられます。 とりあえず、前者の方法の場合は  1)当該フォームのプロパティシートで、『イベント』タブの最下方にある『キーボード   イベントの取得』を「はい」に設定  2)当該フォームの『キークリック時』(KeyDown)イベントで、「Alt+F4」の場合に、   KeyCode引数とShift引数の少なくとも一方を「0」に設定   (普通は両方を「0」にするはず) という手順が必要となるので、とりあえず「1」の逆(=同設定値を「いいえ」に設定)を 行えば、ロックを解除できます。 後者の場合は、『読み込み解除時』(Unload)イベントのCancel引数を「True」(-1) に設定しているコードが記述されているはずなので、そこをコメント化するなどしてやれば Ok、となります。 但し、どちらの方法も、少なくとも当該フォームのプロパティシートを表示したり、コード を表示したり、といったことができて初めて対応が可能となるので(・・・無理やり設定を 行う方法は、セキュリティ上の観点から、ここでは説明しません)、それらが不可能な 場合は、残念ながらロックは解除できない、ということになるかと思います(汗)

kcdlcjlja8
質問者

お礼

あれれ 「Alt+F4」はアプリケーションを閉じるショートカットキーだと思ってました。 一番最初に立ち上がるフォームのキークリックイベントを見ましたが何も入っていませんでした。 いろんな方法でロックをかけられるのですね。

関連するQ&A