フォーム、VBAAccessではいろいろな場面でウィザードが活躍してくれますが、ここではウィザード風の画面、つまり、1つの画面である設定をし、[次へ]ボタンのクリックによって次々と別の設定画面が表示されていき、最後の画面で[OK]ボタンをクリックするとそのウィザードの処理が実行される、というフォームの作り方のポイントを説明します。このウィザード画面を作るための方法としては次の2つが考えられます。1つのフォームにすべてのページの画面をデザインする方法1つのメインフォームと各ページごとのサブフォームから構成する方法2の方法は、1つの1つのページのデザインが単独でできるのでフォームデザインの作成は容易なのですが、全体を通して何かの変数の共有するような場合にはコーディングがやや面倒な気がします。1の方法はフォームが縦長になりコントロールの位置合わせなどにやや手間がかかりますが、モジュールのコードの面から考えると、1つにまとめて記述できるのでウィザード全体の見通しがよくなりデバッグ等もやりやすいと思います。ここではこの1の方法について説明したいと思います。作成のポイント単票フォームを作り、[スクロールバー]・[レコードセレクタ]・[移動ボタン]の各プロパティを"なし"または"いいえ"に設定します。ページごとの区切りとなる位置に「改ページ」コントロールを挿入します。これはページの数に応じて複数ケ挿入します。この際、最後のページの下には改ページコントロールは必要なさそうですが、ここにも1つ挿入しておくと、実行した時にページごとに微妙にコントロールがずれてしまうのを防ぐことができます。高さ方向の間隔は画面デザインによって最終的には変わると思いますが、すべて同じ間隔にします。「フォームフッタ」を表示して、そこに[戻る]や[次へ]、[完了]などのボタンを配置します。この際、最初のページには[戻る]は必要ないので[使用可能]プロパティを"いいえ"にします。[完了]も最初のページでクリックされては困るので[使用可能]プロパティを"いいえ"にします。モジュールウィンドウを開いて、"Declarations"セクションにページ番号をカウントするための変数を宣言します。よってフォーム上のページを移動させます。よってフォーム上のページを移動させます。以上なら[戻る]ボタンを使用可能にします。[戻る]ボタンを使用不可にします。ページ番号が最終ページなら[完了]ボタンを使用可能にし、[次へ]ボタンを使用不可にします。それ以外のページでは2つのボタンの使用可否を反対にします。以上で基本的なページ移動の動作を行うことができます。実際には、ページごとに入力された値をチェックしたり、前のページでの入力や選択値に応じて次のページの内容を変えたりといったことが必要になると思いますので、次のコードを参考にアレンジしてみて下さい。|この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。