【「iMenuA」統合型目次システム(Integrated menu system by Microsoft Access)の導入】
「iMenuA」は業務基幹フォーム・クエリー・テーブル等のオブジェクト群を加えただけで独立したツールになるAccessで作成した基幹ツールです。
これにより大幅に開発工数を減らすことが可能となり。他の業務システムを作ってもフォーム名、目次、ユーザー名等は「iMenuA」を通して開発ツールのオブジェクト名等の一元管理が出来ます。「iMenuA」は、複数の業務ツールを一元的に管理できるAccessのフロントエンドコンポーネント群です。
Accessによる業務ツールをこれから増やしていく場合、一から開発するのではなく共通するもの以外を作成する事でリリースまでの時間を短縮出来ます。
以降の説明では
フロントエンドコンポーネント群をフロントエンドデータベース(FEDB)
バックエンドコンポーネント群をバックエンドデータベース(BEDB)
と呼び解説します。
オブジェクト構成
統合型目次システム(Integrated menu system by Microsoft Access)iMenuA (アイメニューエー)は、
iMenuAは7個のフォームと9個のデータベース保守画面で構成されています。(下表)
機能を追加する場合は、ひな型のフォーム(表示区分マスタ保守Form)をモディファイして業務用フォームを作成します。下表がiMenuAのひな型パッケージとなります。
iMenuAの画面(フォーム構成)は下図の通りです。
拡張構想概念図
iMenuAを基本システムとした、拡張機能としての追加機能の概念図
iMenuAを基幹システムして、○○システムを構築する場合以下のような開発工程となります。
システム設定(拡張)で新しいシステムを設定する為の設定実施します。
作成するものは追加機能のBEDBにデータ本体、付随するマスタ、入力・修正・取込・削除・出力等を行う為のオブジェクト(フォーム・クエリー等)の作成をします。
iMenuA自体に変更の必要はありません。
共有データの追加・修正・更新・削除処理方法について
目次フォーム以外の全フォームは共通ヘッダを採用(操作性の統一を図る為)
マスター関連の追加・修正・更新・削除についてはメインフォームにサブフォーム(データシート)の編集可否ボタンを設置
直接テーブルを操作する方法を採用しています。理由は、運用保守管理者が行う処理である為データ更新の競合が起こらない為です。(1人の場合)
業務系フォームは既定では編集不可のサブフォーム(データ一覧)からデータをメインフォームに呼び出し、「登録」ボタンでデータベースを更新します。
削除・追加は必要に応じてコマンドボタンを配置します。
マスター関連のフォームの場合、管理者権限を持たないユーザーのフォームでは「登録」「編集」等のボタンは表示されません。
各フォームの見出し文字はコマンドボタンになっており、右クリックすると「①図」が表示され一度ひらかれていれは都度目次に戻る必要がありません。
見出しを左クリックすると目次Formに戻る事が出来ます。ドキュメントタブを表示しない方がスッキリしますが、使い勝手としてはタブ表示をした方がマウスのクリック回数は減ります。但し他者からどのフォームを開いているのかは知られてしまいます。
【目次フォームへの戻り方手順】
各フォームの見出し文字はコマンドボタンになっており、右クリックすると「図②」が表示され一度開かれてれていれは都度目次に戻る必要がありません。
Private Sub リボンナビ表示切替1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = acRightButton Then Exit Sub
If Shift = 0 Then
If IsNull(目次_Form) Then MsgBox "目次に戻れません。「終了」をクリックしてください。": Exit Sub
Dim varRet As Variant, Menu_Form As Variant
Menu_Form = 目次_Form
varRet = SysCmd(acSysCmdGetObjectState, acForm, Menu_Form)
If varRet = 0 Then DoCmd.OpenForm Menu_Form, acNormal, "", "", , acNormal
Forms(Menu_Form).Form.SetFocus
Exit Sub
End If
If 管理者権限F = False Then Exit Sub
If Shift = 1 Then
リボンナビ表示切替F = RibbonNavi(リボンナビ表示切替F)
Exit Sub
End If
End Sub
----------------------------------------------------------------------------------------------------
Private Sub リボンナビ表示切替1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
DoCmd.CancelEvent 'イベントをキャンセルしてショートカットメニューを表示させない
On Error GoTo Err_JOB
If Button = acRightButton Then DoCmd.RunCommand acCmdMoreWindows '右クリック時のみ処理を実行
Exit Sub
Err_JOB:
End Sub
注:「目次_Form」及び「管理者権限F」は予め設定を呼び出しておく必要があります。
管理者権限は利用者マスタ、目次_Formはシステム設定(拡張機能)で設定します。
現在動作検証をしたものは、ACE、SharePoint、Dataverse、SQLServerとなります。