• ベストアンサー

アクセスのフォームサイズ変更について

アクセスのフォームサイズ変更がうまくいかず困っています。 まずフォームを3つ(メニューA, frmB, frmC)作成しました。メニューAからは、frmBとfrmCを開くことが出来ます。また、frmBからはfrmCを開くことができます。 ここで、frmBのサイズはform_OpenでDoCmd.Maximizeを使って最大表示しています。frmCのサイズは同じくform_OpenでDoCmd.Movesize 1500, 300, 11500, 8000としています。 メニューAからは、frmB, frmCともに正しいサイズ(frmBは最大、frmCは指定のサイズ)で開かれます。frmBからfrmCを開くと最大化されて表示されてしまいます。 なお、frmBのform_Open内の最大化のコマンドをけずるとfrmBからもfrmCを正しいサイズでfrmCを開くことが出来ます。frmBのサイズがそのままfrmCに継続されているような気がするのですが、なぜfrmCのform_Openを読んでくれないのでしょうか。デバッグしてみましたがもちろん、frmCのform_Openも読んでいます。 frmBを最大化したまたfrmCを正しいサイズで開くことは出来ないでしょうか。 どなたかアドバイスをお願い致します。

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

  • ベストアンサー
  • 9013yagi
  • ベストアンサー率39% (15/38)
回答No.3

 Docmd.Maximizeは、一度実行されると、全てのフォーム に対して有効になってしまいます。  最大化したくないフォームのみ、ポップアップ設定して しまえば?  ポップアップを有効にしたフォームについてはサイズが 固定されてしまい、最大化できなかったはず。

MadeInTokyo
質問者

お礼

なるほど、Maximizeは全てのフォームに適用されてしまうのですね。ポップアップを試しましたが、なぜかコマンドボタンを使用するとエラーが出てしまいます。

その他の回答 (4)

  • skikichi
  • ベストアンサー率65% (45/69)
回答No.5

frmBからfrmCを開くイベントに下記の記述をしてください。 DoCmd.Restore Docmd.OpenForm "frmC"

MadeInTokyo
質問者

お礼

上記のコマンドを使って、各コマンドボタンにサイズを指定するコマンドを入れたらうまくいきました。ありがとうございます。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

frmCを開く時に DoCmd.OpenForm "frmC", acNormal, "", "", , acDialog で開けばサイズを固定して開けます。 ただacDialogで開くのでポップアップになり常に前面に表示されてしまいますが。

noname#182251
noname#182251
回答No.2

アクセスは長いこといじっていませんが(^^; >frmBのform_Open内の最大化のコマンドをけずるとfrmBからもfrmCを正しいサイズでfrmCを開くことが出来ます ということなので、frmBからfrmCを開く直前に、自分自身のサイズを変えるとどうなるのでしょうか?

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

アクセスは詳しく無いですが、、、 Excelはありますよね? 複数ブックを開いて、最大化をした時、もう一方のブックがどうなっているか見て下さい。 MDI形式の子ウィンドウが全て最大化されるのは、Windowsの仕様なのでは?と思ってます。 確証は無いですけど、、、