PR

Access起動時にフォームを開く方法

全般

Accessファイルを作成し、ユーザーに使ってもらうようになる段階では、テーブルへの直接入力ではなく、フォームを介した入力が一般的になります。

特に、ユーザーに入力してもらいたいフォームをAccess起動時に自動で開くようにすることでユーザビリティを良くするのと同時に、業務効率の改善にも繋げることができます。

そこで今回は、Accessファイルを起動した際に所定のフォームを起動する方法を紹介します。また、当該フォームを起動した段階で日付情報から「何年何月」とフォーム上に表示する仕組みも設けてみます。

スポンサーリンク

サンプルフォームの作成及び起動時に開くフォームの設定

まずは、Access起動時に自動的に開くサンプルフォームを作成します。ここで、フォームの作成方法は以下の記事をご参照ください。

今回は、簡単な説明のために図1に示すサンプルフォームを作成しました。サンプルフォームを作成後、左上にある「ファイル」タブをクリックします。

図1 サンプルフォームの作成

続いて、ホーム画面の「オプション」をクリックします。

図2 オプションを開く

Accessのオプション画面を開き、「現在のデータベース」を選択します。ここでは、当該Accessファイルの設定をすることができ、起動時に開くフォームの設定の他にもウィンドウオプションとしてウィンドウをタブで表示するか、重ねて表示するかといった設定や、ショートカットキーを有効にするかといった設定をすることができます。

図3に示すように、Access起動時に開くフォームを指定するため、「フォームの表示」に「サンプルフォーム」を設定します。

図3 フォームの表示設定

サンプルフォームの設定ができた後、「OK」をクリックし画面を閉じます。

この際、図4に示すメッセージボックスが表示されますが、これは当該Accessファイルを再起動した後から設定が反映されることを意味しています。

図4 メッセージ画面

Accessファイルの再起動

これまでで、一通りの設定が完了しましたので実際にAccessファイルを起動した際に「サンプルフォーム」が初期画面として表示されるかを確認してみましょう。

いったんAccessファイルを閉じ、改めてファイルを起動すると図5に示すように「サンプルフォーム」が開いた状態で開始されるかと思います。

図5 ファイルの再起動

さて、図5を見ると画面左にナビゲーションウィンドウが表示されたままになっています。これではユーザーが直接テーブルにアクセスしデータを操作することができてしまいます。そこで、起動時にナビゲーションウィンドウを表示しないように設定しましょう。

ナビゲーションウィンドウの非表示設定

まずは、先の設定と同じように当該ファイルの「Accessのオプション」を開き「現在のデータベース」を選択し、「ナビゲーション」まで移動します。

そして、図6に示すように「ナビゲーションウィンドウを表示する」のチェックを外します。

図6 ナビゲーションウィンドウの設定

これで設定を完了できましたので、先と同様にAccessファイルをいったん閉じて改めて開くと図7に示すようにナビゲーションウィンドウは表示されず、サンプルフォームだけが開くようになりました。

図7 ナビゲーションウィンドウの非表示起動

フォーム起動時の処理

さて、これまではAccessファイルを起動した際の処理について紹介をしましたが、フォームを開く際にもVBAを使うことで処理をすることができます。

今回は、日付情報として「Now()関数」を用いてフォーム上に「何年何月」と表示できるようにソースコードを追加します。

まず、サンプルフォームをデザインビューで開きます。そして、「2020年度版」として追加したラベルオブジェクトの名前を「l_date」とします。

続いて、サンプルフォームのプロパティシートを開き、「読み込み時」プロパティに [イベントプロシージャ]を設定します。その後、「…」をクリックしてください。

図8 イベントプロシージャまでの作成手続き

VBA画面が図9のように開き、「Form_Load」プロシージャが作成されます。そこで、このプロシージャ内に次のコードを追記してください。

図9 Form_Loadプロシージャの追加

Private Sub Form_Load()

  'このソースコードを追記する。
  Me.l_date.Caption = Me.l_date.Caption & Format(Now(), "m月d日")

End Sub

追記したソースコードの内容は、「l_date」ラベルオブジェクトの「Caption(フォーム上にテキストとして表示する内容)」を、これまでのCaption(図8では「2020年度版」になっている。)に加えて「Now()関数」で取得した今の日付を「Format関数」を用いて「何月何日」に変換した形で追記して表示する、ことを意味しています。

このソースコードを追加した後、サンプルフォームをフォームビューで開いてください。すると、図10に示すように「2020年度版○月○日」(本記事は4月29日に作成しました。)と表示されるようになりました。

図10 フォーム起動時のラベルキャプション追加結果

まとめ

今回はAccess起動時に開くフォームの設定と、フォームを開いた際の処理方法を紹介しました。この方法を用いることで、ユーザーによる不要な箇所の操作を未然に防ぐことができるようになりますし、フォームを開く手間も省けます。また、フォームを開く際の処理では、権限を得ていないユーザーのアクセス拒否等の機能を追加することもできます。

このようにして、最初のひと手間を加えることで、その後の業務効率を飛躍的に改善することができますので、是非活用していただければと思います。

スポンサーリンク

コメント

タイトルとURLをコピーしました