- ベストアンサー
accessのVBAでフォームの開き方について
連休に入り確認が遅くなり申し訳ございません。 タブのあるフォーム1で例えば選択メニューからAボタンをクリックで フォーム1のページ3を開いた状態でOPEN。 Bボタンをクリックした場合はフォーム1のページ5を開いた状態でOPENする ようにしたいのですが。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
前回どのようなボックスのイベントからでもフォームを開くことが可能と言いましたが 添付のオプショングループのイベントでも開けます。 枠内のオプションボタンにそれぞれ1番からの連番が割り振られ、選ばれたボタンの値が オプショングループ値になります。 (1)メニューFormにオプショングルーを「マスタ登録」として配置し (2)マスタ登録のフォーム(タグ付)を作成し (3)メニューForm VBAで Private Sub マスタ登録_BeforeUpdate(Cancel As Integer) DoCmd.OpenForm "マスタ登録" End Sub (4)マスタ登録Form VBAで Private Sub Form_Load() Select Case Forms!メニュー!マスタ登録 Case 1: ページ1.PageIndex = 0 Case 2: ページ2.PageIndex = 0 Case 3: ページ3.PageIndex = 0 Case 4: ページ4.PageIndex = 0 Case 5: ページ5.PageIndex = 0 End Select End Sub
その他の回答 (2)
- chayamati
- ベストアンサー率41% (260/624)
追伸 事前に条件確定してからフォームを開く仕掛けご理解頂けましたか この仕掛けは大量の情報を処理するには欠かせないです。 ※エクセルでは年度ごとのBookに月毎の12のSheetsと年計表の 13Sheetsで処理しますね Accessではこの条件を確定するフォーム【メニュー】に 検索条件のボックスを配置する事で一つAccessファイルで可能です。 通常 クエリ、ホーム、レポートは 日、月、年度、品名、仕入先、得意先 等の検索条件で開きます。 最後に今後のお役になればと私の仕掛けを提示します。 メニューFormの役割 (1)ファイルを開いたとき最初に開くファイル ファイル→オプション→現在のデータベース→フォームの表示→メニューOK (2)レコードソースをプロフィールテーブルとする ※プロフィールテーブル添付参照(追加禁止の1レコードのみ) 下枠は上枠の基準日のプロパティで 規定値=Date()はExcelのtoday()関数 (3)クエリ、ホーム、レポート等のモジュールを開くボックスを配置 (4)検索条件ッボックッスを配置
- chayamati
- ベストアンサー率41% (260/624)
>?開く場面とはどのようなものですか、 ★フォームを開く前にどのページを開くかが決めておかなければなりません そのフォームを[メニュー]としたのが回答No. ボタンはテキストボックッス、コマンドボックス、ラベルボックッス 何でもよいのですが、コンポボックスが良いです >タブのあるフォーム1で例えば選択メニューからAボタンをクリックで フォーム1のページ3を開いた状態でOPEN。 Bボタンをクリックした場合はフォーム1のページ5を開いた状態でOPENする ★このボタンをタブフォームのあるフォームに配置して開いて 、ボタンを選んでも後の祭り ★タグフォームのプロパティーに、添付のように[表題]と[名前]がありますが タグには表題が表示されますが標題が空白の時は名前が表示されます。 [表題]と[名前]いずれも変更可能です これだけで充分と思いますが