Access対応版
開発手順

① 初期設定
画面左側で以下の設定を行います。
・DB接続定義(開発用/実行用)
・Accessファイル保存場所(開発用/実行用)
② Access開発環境の起動
MS Accessを起動し、API関数を利用できる開発環境に接続します。
③ AccessをサーバーDBへ移行
Accessのデータをサーバー側データベースへ移行します。
④ プロジェクト及びAccessファイル管理
アップロード/ダウンロードを行います。
既存のAccess資産の移行
Accessシステムは通常、アプリ部(フォーム、クエリ、モジュール、レポート等)とデータ部(テーブル)から構成されています。
dbSheetのAccess対応版では、既存のAccessアプリ部、およびテーブル定義を最大限有効利用します。
①Accessファイルのデータ部の部分をサーバーのDBへ移行します。(移行後は、Accessファイルのテーブルは一時テーブル(ワーク)として利用します。
この時に、開発版の機能を利用します。(機能ボタン:AccessをサーバーDBに移行)
②既存のAccessプログラムに、サーバーとのデータ通信(読込/更新)をAPIを用いて追加実装することで、システムの移行を実現しています。
Access版を使って内製化、鋳造製品の受注生産における、見積から、受注、製造、検査、出荷に関わる専用システムを構築!! | 二ダック様のdbsheet導入事例
導入効果:
構築したシステムは、13システムです。Accessのスキルが高いわけではありませんが、今まで使ってきたAccessをそのまま使うことが出来てリアルタイムにデータを共有できる仕組みを構築することが出来ました。印刷のスピード問題や複数人同時更新にも対応出来ました。

APIを利用したVBAによる開発
1.WebサービスAPIによるデータ連携
Access VBAからWebサービスAPIを利用し、サーバー上のデータベースとデータ通信(読込/更新)を行います。
2.既存Access資産の活用
既存のAccessプログラムは基本的にそのまま活用し、サーバー連携に必要な部分のみをAPI利用で追加実装します。
3.同時更新制御への対応
サーバー側のデータベースで排他制御を行うことで、複数ユーザーによる同時更新時でもデータ整合性を維持します。
【フォームオープン時:サーバーDBのデータ取得】
サーバーDBにある必要なデータをクライアントPCに取り込むときのサンプルです。
Accessのフォームが開くタイミングで、SELECT文で抽出したレコードをAccessファイルのテーブルに取り込みます。

・VBAのコード例

【データ更新時:サーバーDBへの反映】
クライアントPCのデータをサーバーDBに書き込む場合のサンプルです。
テーブル(注文)のレコードをクライアントPCのデータを元に、サーバーDBの更新データとして書き換えます。

・VBAのコード例

【サーバーへのログ出力】
ユーザーの操作履歴や処理内容をサーバー管理画面のログとして出力する場合のサンプルです。
出力したい処理のところに ”SetSvr_UserLog” を挿入することにより、システム管理者はユーザーの操作ログを閲覧することができます。
・VBAのコード例

ServerLogViewerのログ画面

Access対応版におけるサーバー版の役割
Access対応版のサーバー版では、Accessプログラム(ACCDB)の配布の自動化や、排他制御などWebシステム化をサポートする機能を提供しています。
リソース管理機能
dbSheetのサーバー版が持つ、リソース管理機能を全面的に利用することができます。
ユーザー認証、権限管理、ログ管理、不正侵入防止等の機能を付与する場合、新たにプログラムを開発する必要がありません。
開発したAccessプログラムの配布を自動化
データベースの制御は、dbSheetのサーバー版で行います。Accessのプログラムの入ったAccessファイルは、サーバーからクライアントPCにダウンロードされて、動作します。従って、Accessファイルのメンテナンスを任意のタイミングで行えます。
サーバー同時アクセスに対する排他制御をサポート
Webシステムの場合、複数のユーザーがサーバーの共有データを更新するため、排他制御の仕組みが必須になります。Access対応版ではAPIを通じて楽観的ロック / 悲観的ロックの排他制御機能を提供します。(Excel版と同じロック機能を使いますので、Excel版とAccess版での同時編集も可能です。)
