2019年10月28日Accessでデータベースを作成して、それを複数人で共有する場合、データベースを分割して、リンクテーブルがあるフロントエンド側にフォームやレポートなどのオブジェクトを作成して、それを配布することはよくあります。配布用のファイルでフォームなどを更新した場合は、更新したことをお知らせしなければなりません。バージョン管理用のテーブルを作成して、配布用のファイルを起動した時にバージョンが異なる場合は、メッセージフォームを表示してバージョンアップを促します。参考データベースを分割ツールを使用して、FrontendとBackendに分割する方法は以下の記事で解説しています。【データベース分割ツール】を使ってテーブルとその他のファイルに分割Accessで作成したデータベースをテーブルとその他のファイルに分割する方法です。データベース分割ツールを使って簡単に作成できます。...続きを見るバージョン管理用のテーブルを作成バックエンドとフロントエンドのファイルにバージョン管理用のテーブルを作成します。同じデザインにしています。テーブルの名前は、バックエンドの方は[T_バージョンback]、フロントエンドの方は[T_バージョンfront]にしています。バックエンドのテーブル[T_バージョンback]には、バージョン管理のために[変更日]と[内容]フィールドを追加しています。バックエンドのテーブル[T_バージョンback]はリンクテーブルとしています。データシートビューに切り替えると、以下のようになっています。テーブル[T_バージョンfront]の[バージョン]の値とテーブル[T_バージョンback]の[バージョン]の最大値は異なる数字になるようにしておきます。参考リンクテーブルの作成については、以下の記事で解説しています。リンクテーブルの作成Accessでは、テーブルを他のデータベースからリンクして使用することができます。リンク先のデータが更新されると、元データも更新されます。配布用のフロントエンドのファイルを開く時にバージョンが異なるならメッセージウィンドウが表示されるようにします。フロントエンドとバックエンドのバージョンを比較するためのフォームを作成します。[作成]タブをクリックして、[フォーム]グループにある[空白のフォーム]をクリックします。フォームを[デザインビュー]で開きます。[デザイン]タブの[コントロール]グループにある[テキストボックス]をクリックして、以下のように非連結のテキストボックスを2つ作成します。[テキストボックスウィザード]が表示されたら、[キャンセル]ボタンをクリックして閉じます。ラベルの標題を入力ラベルは、以下のように[現バージョン]と[新バージョン」という名前にしておきます。ラベルの標題はラベルに直接入力してもいいですし、プロパティを表示して、[書式]タブの[標題]に入力しても構いません。プロパティシートは[デザイン]タブの[ツール]から[プロパティシート]ボタンをクリックするか、キーボードから[F4]キーを押して表示します。非連結のテキストボックスにバージョンを表示テキストボックスにテーブル[T_バージョンfront]の[バージョン」フィールドの値と、テーブル[T_バージョンback]の[バージョン]フィールドの最大値を表示します。バージョン管理用のテーブル[T_バージョンback]のバージョンは徐々に増えていきますから、一番数の多いバージョンを表示するようにします。現バージョンのテキストボックスのコントロールソースに以下のように入力します。[バージョン]は[テーブルのフィールド名]、[T_バージョンfront]は[テーブル名]です。=DLookUp("バージョン","T_バージョンfront")新バージョンのテキストボックスには、以下のように入力します。=DMax("バージョン","T_バージョンback")Dmax関数とDlookUp関数については、以下のMicrosoftの記事を参考にしてください。Accessこれで、フォームビューに切り替えると、各テーブルの最大のバージョン値が表示されるようになります。先に各テーブルに仮のバージョン値を入力しておいてください。テキストボックスを使用不可の設定テキストボックスを使用できないようにプロパティで設定します。参照のみの設定にします。テキストボックスのプロパティを表示して、[データ]タブの[使用可能]を[いいえ]、[編集ロック]を[はい]にします。すると、フォーカスを取得できませんし、コピーも編集もできません。データは普通に表示されます。参考[非連結]のテキストボックスの[使用可能]と[編集ロック]の組み合わせは以下のようになります。データのコピーは可、編集は不可。データのコピーも編集も可。フォーカスの取得不可。データのコピーも編集も不可。フォーカスの取得不可。データは無効、淡色表示。テキストボックスの名前の確認テキストボックスの名前を記憶しておきます。テキストボックスのプロパティシートにある[選択の種類ボックス」で確認できます。[その他]タブの[名前]で確認します。必要であればここで名前を変更しても構いません。ここでは、[現バージョン]のテキストボックスは[テキスト0]、[新バージョン]のテキストボックスは[テキスト3]です。メッセージの入力テキストボックスの大きさや位置を整えて、ラベルを追加して、メッセージを入力します。上記は、入力しやすいようにグリッド線をオフにしています。[詳細]エリアで右クリックして、ショートカットメニューから[グリッド線]をクリックしてオフにします。ラベルを選択して、[書式]タブの[フォントグループ]の[太字]の設定をしています。ラベルのメッセージの内容や書式などは、任意で設定してください。開く時のイベントプロシージャを作成フォームを開く時に2つのテキストボックスの値を比較して、同じならフォームを閉じて、別の目的のフォームを表示します。それ以外なら、このままフォームを表示するようにします。フォームのプロパティを表示します。選択の種類が[フォーム]になっていることを確認します。なっていなければ、[選択の種類]ボックスの▼ボタンをクリックして選択します。フォームの左上の■をクリックしてください。フォームのプロパティシートの[イベント]タブをクリックして[開く時]の[...]をクリックします。以下の[ビルダーの選択]ダイアログボックスが表示されますので、[コードビルダー]を選択して[OK]ボタンをクリックします。以下のようにコードを入力します。開く時にテキストボックス[テキスト0]と[テキスト3]の値を比較して、同じ値ならこのフォームを閉じて、[F_menu]のフォームを開きます。それ以外なら、このままフォームを表示するという内容です。If埋め込みマクロ[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択して、以下のように設定しても同じです。参考埋め込みマクロの設定については、以下の記事が参考になると思います。パスワードを入力してフォームを開くようにするAccessでパスワードを入力して、パスワードが合えばフォームを開くようにする方法です。...続きを見るリンクの設定リンクの設定をして、配布用のファイルが保存してあるフォルダーが開くように設定します。[デザイン]タブの[コントロール]グループにある[リンク]をクリックします。[ハイパーリンクの挿入]ダイアログボックスが表示されます。[表示文字列]のテキストボックスに表示したい文字列を入力します。リンク先のフォルダーを指定して、[OK]ボタンをクリックします。テキストリンクを任意の位置に移動させます。必要であれば、ラベルを挿入してメッセージを入力してください。ハイパーリンクの編集ハイパーリンクを編集する場合は、ラベルのプロパティを表示して[書式]タブの[ハイパーリンクアドレス]の[...]ボタンをクリックします。[ハイパーリンクの挿入]ダイアログボックスが表示されます。右クリックのショートカットメニューにもあります。ショートカットメニューの[ハイパーリンク]から[ハイパーリンクの編集]をクリックすると、[ハイパーリンクの挿入]ダイアログボックスが表示されます。起動中のAccessを終了させないと上書きできませんので、Accessを終了するボタンを設置します。[デザイン]タブの[コントロール]グループにある[ボタン]をクリックして、任意の位置に設置します。[コマンドボタンウィザード]が表示されたら、[キャンセル]ボタンを押して閉じます。ここでは埋め込みマクロを使用して作成します。参考コマンドボタンウィザードを使用して作成することもできます。以下の記事で解説しています。ウィザードを使ったコマンドボタンの作成Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。...続きを見るコマンドボタンを選択して、プロパティを表示します。[イベント]タブの[クリック時]の[...]をクリックします。以下の[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。以下の[マクロツール]が表示されます。▼ボタンをクリックして、プルダウンメニューを表示します。メニューの中から[Accessの終了]を選択します。[Accessの終了]の[オプション]は[終了]を選択します。設定が終わったら、[上書き保存]ボタンをクリックして[閉じる]ボタンをクリックします。[イベント]タブの[クリック時]には、以下のように[埋め込みマクロ]と表示されます。参考コマンドボタンウィザードを使用した場合も同じ表示になります。コマンドボタンの標題を変更します。ボタンの大きさなども調整します。最後にメッセージを追加して、ラベルやボタンなどの位置や大きさを調整します。書式なども任意で設定してください。フォームをメッセージ用に設定フォームのプロパティの「書式」タブで以下のように設定すると、メッセージボックスらしくなります。以下を参考に必要な設定をしてください。[標題]には、任意の名前を入力します。フォームビューで開いたときに左上に表示されます。[自動中央寄せ]-[はい][境界線スタイル]-[ダイアログ]最小化、最大化、サイズ変更ができなくなります。[レコードセレクタ]-[いいえ][移動ボタン]-[いいえ][スクロールバー]-[なし][閉じるボタン]-[いいえ]フォームの大きさなども調整して、フォームに名前を付けて保存します。ここでは、[F_バージョン情報]というフォーム名にします。Accessのセキュリティに関する通知]ウィンドウが表示されます。フォームやレポートなどのオブジェクトの編集が終わったら、テーブル[T_バージョンfront]の[バージョン」と、テーブル[T_バージョンback]の[バージョン]の値を入力して(同じ値)にして保存します。ユーザー側はローカルに保存したAccessのテーブル[T_バージョンfront]の[バージョン]の値とテーブル[T_バージョンback]の[バージョン]の値が異なるので、メッセージウィンドウが表示されることになります。起動時にフォーム[F_バージョン情報]が開くように設定します。[ファイル]タブをクリックして、[オプション]をクリックします。[Accessのオプション]ダイアログボックスが表示されます。[現在のデータベース]を選択して、[アプリケーションオプション]の[フォームの表示]にある▼ボタンをクリックして、[F_バージョン情報]を選択します。[OK]ボタンをクリックして閉じます。参考起動時の設定については、以下の記事で解説しています。特定のフォームを開く以外の設定についても解説しています。起動時に特定のフォームを開くにはAccessを起動したときに特定のフォームを開くようにするための設定です。メニューフォームを作成したら設定が必要になりますね。...続きを見るバージョン情報フォームに更新内容や更新日時も表示するには上記で作成したフォーム[F_バージョン情報]にテーブル[T_バージョンback]の[変更日]や[内容]も表示したいのであれば、以下のように修正するといいと思います。フォーム[F_バージョン情報]をデザインビューで開きます。レコードソースの設定フォームのプロパティを表示して、[データ]タブの[レコードソース]の▼ボタンをクリックして、一覧から[T_バージョンBack]を選択します。これで、テーブル[T_バージョンback]のフィールドを挿入できるようになります。フィールドの挿入テーブル[T_バージョンback]の[変更日]と[内容]を挿入します。[デザイン]タブの[ツール]グループにある[既存のフィールドの追加]をクリックします。フィールドのリストから、[変更日]と[内容]をフォームの詳細領域へドラッグします。大きさや位置を調整します。参考このときラベルは追加したくない、テキストボックスのみを追加したい場合は、[Ctrl]キーを押しながらドラッグしてください。テキストボックス作成時(フィールドの追加時)にラベルを挿入したくないAccessのフォームのデザインビューでテキストボックスを作成すると、自動的にラベルも作成されてしまいます。...続きを見るこの2つのテキストボックスも参照用にするためにプロパティを表示して、[データ]タブの[使用可能]を[いいえ]、[編集ロック]を[はい]にします。テーブル[T_バージョンback]の[バージョン]も変更します。新バージョンのバージョンを表示していた非連結の[テキスト5]を選択して、プロパティを表示します。[データ]タブの[コントロールソース]の▼ボタンをクリックして[バージョン]を選択します。このままではバージョンの大きいものは表示されません。以下は、フォームビューに切り替えて確認した画像です。[バージョン]の降順に並べ替え[バージョン]の降順に並べ替えます。フォームのプロパティを表示します。[データ]タブの[並べ替え]に以下のように入力します。バージョンとDESCの間には半角スペースを入力します。DESCは小文字でも構いません。DESCこのフォームでの並べ替えについては、以下の記事で解説しています。フォームでのレコードの並べ替えAccessのフォームでレコードの並べ替えは、フォームのプロパティで行うことができます。...続きを見るフォームビューに切り替えると、以下のようになります。再度、デザインビューに切り替えて、フォームのプロパティを表示すると、以下のようになっています。業務に役立つスキルが身に付きます。AFFINGER4.。