Excel管理表をMS-ACCESS2010に移行する(その2)
昨日の続き。
Excelの表で、表の一部にセルの保護がかかっていて、その部分は上級職員しか編集できず、それ以外の部分は、一般職員でも編集できるようなものを、
どのようにしたら、MS-ACCESS2010に移行できるか? というお話の続き。
色々試行錯誤した結果、データベースを分割して、フロントエンドとバックエンドに分けて、バックエンド側のファイルにアクセス権の設定をしてやると、フロントエンド側のファイルからアクセスしても書き込みが出来ないことがわかりました。
そこで、Excelの表を「上級職員のみが編集できる部分」と「一般職員でも編集できる部分」に分けて、それぞれ個別のテーブルとして、MS-ACCESSにインポートし、
フォーム上でそれらを結合してみたらどうか? と試してみたら、うまくいきました。
注意点は、表を分割する際に、ラインナンバーのような「共通の通し番号」を、分割した両方のファイルに追記しておくことです(表の中に空白のセルがあっても、インポート時に削除されるなどして表の対応がずれないように)。
リレーションシップでIDを元に結合してやると「上級」対「一般職員」のテーブルが
1対1で紐付けされます。
あとは、上級職員用のファイルに対してアクセス権の設定を変更し、
「一般職員」の書き込み権限をなくし、読み取り専用にするだけでOKです。
こうすると、「上級職員」と「一般職員」で同じフロントエンド・ファイルを使用しても、特定の列は「上級職員」だけが編集でき、それ以外の部分は「一般職員」にも編集が出来るようになり、Excelによる運用からそれほど違和感なく移行できるようです。
ちなみに、「上級職員」の人からの感想では、Excelでは保護がかかっているセルを編集するさいにパスワードの入力が必要だったが、ACCESSではそれがないので楽になった。 と喜びの声が聞かれました。
「一般職員」の方は、誰かがExcelファイルを開きっぱなしで編集できない。といったことがなくなり、便利になったとのこと。
Win-Winの関係になったようです。
MS-ACCESSをいじり始めて日は浅いですが、
これはいいものです(ガンダムの、あの壷はいいものだ的な)。