- 締切済み
アクセスについて
アクセスにてフォーム新規コマンドクリック時に入力フォームを立ち上がるよにVBAを設定したいのですがどうすればよいでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DexMachina
- ベストアンサー率73% (1287/1744)
続きがありそうに思えるものの、その内容の想像がつかないのが怖いところ ですが・・・(汗) 1)フォームをデザインビューで開く 2)当該の『新規』コマンドボタンをダブルクリックするなどして、コマンドボタンの プロパティシートを開く 3)プロパティシートの『イベント』タブを選択し、『クリック時』にカーソルを移動 4)右端に表示される『...』(ビルダ)ボタンをクリック 5)『ビルダの選択』ダイアログで「コード ビルダ」を選択 (Accessのオプションの設定で、「常にイベント プロシージャを使用する」に 設定済みの場合は、上記ダイアログは出ません) 6)VBE画面が表示されるので、以下のようなコードを記述: (「Private Sub~」と「End Sub」の行は自動で入力され、「'」で始まる行は コメントなので、実際に記述が必要なのは「DoCmd」で始まる1行のみです) Private Sub 新規_Click() 'データモード引数に「acFormAdd」を指定して、追加モードで展開 DoCmd.OpenForm "入力フォーム", , , , acFormAdd End Sub 7)フォームを保存して閉じる ・・・以上です。 なお、入力フォーム側が入力専用に設定済み(フォームのプロパティシートの 『データ』タブで、『データ入力用』に「はい」を設定)の場合は、 DoCmd.OpenForm "入力フォーム" でもOKです。 また、入力フォーム展開中は他のフォーム等を触れなくしたい、という場合は、 A)展開するときの設定で対応するなら、 DoCmd.OpenForm "入力フォーム", , , , acFormAdd, acDialog 上記と同様にデータモード引数を省略する場合は以下(「,」(カンマ)の数に注意): DoCmd.OpenForm "入力フォーム", , , , , acDialog とするか(→メッセージボックス等と同様のダイアログ形式で表示され、通常と 同様の表示にはできません)、 B)入力フォーム側の設定で対応するなら、 入力フォームのプロパティシートの『その他』タブで、『作業ウィンドウ固定』を 「はい」に設定する(→同じタブの『ポップアップ』を「はい」にすることでダイアログ 形式に、「いいえ」にすることで通常と同様に、それぞれ表示方法を指定可能) のどちらか好きな方を行えばOKです。