Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


起動時の設定を元に戻して独自のオープニング画面を表示する : Access裏技Tips



独自のオープニング画面はAccessソフト完成段階の最後の仕上げです。 ここでは、独自のオープニング画面の表示と起動時の設定にある「フォーム表示」を元に戻す技を紹介します。

独自のオープニング画面を表示する

  1. 独自のオープニングフォームを作成します。
  2. このフォームには、チェックボックス(CKフォームの非表示)を作成し、オープニングフォームの次回も表示する、表示しないの選択を可能にします。
  3. この情報は、tbl_CKに格納します。
  4. メニューバーのツールから起動時の設定にあるフォームの表示欄に他のフォームを指定していると、Accessが起動した時に両方のフォームが開いてしまいますので、これを察知して次回からは起動時の設定を初期状態に戻します。

情報を格納するtbl_CKテーブルの作成

  1. 情報を格納するtbl_CKテーブルを作成します。
  2. ID(オートナンバー型)、CK(Yes/No型)のフィールドを作成します。

独自のオープニングフォームの作成

  1. tbl_CKテーブルをレコードソースに単票式のフォームを作成します。
  2. チェックボックスを作成し、コントロールソースにCKのフィールドを選択します。
  3. フォームプロパティにある「追加の許可」を"いいえ"に変更します。

AutoExecマクロの作成

  1. 条件式フィールドを表示させます。
  2. DlookUp関数を用いてtbl_CKテーブルのCKのフィールドのオン/オフ値を求めます。
オン : オープニング画面を開く
オフ : マクロを中止する

今回のおすすめポイント

AutoExecマクロ

Accessが起動した時に実行されるマクロです。この機能はVBAにはありません。マクロ名をAutoExec以外にすると動作しません。 「起動時の設定」よりも先に動作します。

Functionプロシージャ StartUpFormCK

Functionプロシージャ StartUpFormCK を作成します。

Function StartUpFormCK()

    Dim strmsg As String
    Dim i As Integer
    Dim FormName As Variant
    
    strmsg = "AutoEXecマクロを使用したスタートアップフォームを利用しているので、" & _
             vbNewLine & "次回から、起動時の設定の「フォームの表示」を無効にします。 "
    
    i = Len(CurrentDb().Properties("StartupForm")) '--- A
    FormName = Right(CurrentDb().Properties("StartupForm"), i - 5) '--- B
        
    If CurrentDb().Properties("StartupForm") <> "(表示しない)" Then '--- C
        
        MsgBox strmsg, vbCritical
        DoCmd.SelectObject acForm, FormName, False
        DoCmd.Close……D
        CurrentDb().Properties("StartupForm") = "(表示しない)" '--- D
        
    End If

End Function
解説
  1. Len関数を用いてStartupFormの文字数を求め、変数iに代入します。
  2. Right関数を用いて不要な文字列を削除します。これでデータベースウィンドウ内で表示されているフォーム名を抽出できたことになります。
  3. StartupFormプロパティには起動時の設定で定義されているフォーム名が格納されていますので、(表示しない)以外の値であれば他のフォームが指定されていることになります。
  4. 起動時の設定で定義されているフォームも開きますので、このフォームを閉じます。
  5. (表示しない)文字列をStartupFormプロパティにに代入します。これで起動時の設定で定義されるフォームの表示欄は空欄になります。
今回のおすすめポイント

StartupFormプロパティ

「起動時の設定」のフォーム表示に設定されているフォーム名を取得します。CurrentDb().Properties("StartupForm")で取得できるのは、
 Form.******* という形式ですから、Len関数とRight関数を用いて、正規のフォーム名を取得しています。

動作確認

  1. 起動時の設定ダイアログでフォームの表示欄にfrm_sampleを指定します。
  2. デザインビューからフォームビューに切り替えます。

  1. Accessを終了し再度開きます。

  1. オープニング画面が開きますので、「次回からこの画面を表示しない。」のチェックを有効にし、Accessを閉じます。
  2. 次回、Accessを開くとオープニング画面は開かないことを確認します。

関連ページ

ページの先頭へ 前ページへ戻る

 


起動時の設定を元に戻して独自のオープニング画面を表示する : Access裏技Tips


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。