近年のシステム連携では、CSVやExcelだけでなくJSON形式のデータを扱う機会が急増しています。
例えば、
- Web API連携
- クラウドサービス連携
- Power Automate連携
- 社内システム連携
- 生成AIとのデータ受け渡し
などです。
結論から言うと、Access VBAでもJSONデータを活用することで、従来のCSV中心のシステムから一歩進んだ連携を実現できます。
またCopilotを活用することで、JSON解析コードやAPI連携コードの作成を効率化できるため、従来よりも短時間で高機能なシステムを構築できます。
- はじめに
- JSONとは
- なぜJSON対応が重要なのか
- AccessでJSONを扱う方法
- 逆引き① JSONファイルを読み込みたい
- 逆引き② JSON文字列を確認したい
- 逆引き③ 顧客情報をJSON化したい
- 逆引き④ APIへ送信したい
- 逆引き⑤ JSON形式で送信したい
- 逆引き⑥ 応答結果を取得したい
- 実践例① 顧客データ連携
- 実践例② 社内システム連携
- 実践例③ AIサービス連携
- JSONデータをテーブルへ登録する
- エラー処理を実装する
- 通信ログを残す
- 実務活用例① Power Automate連携
- 実務活用例② Webサービス連携
- 実務活用例③ マスタ同期
- JSON活用時の注意点
- Copilot活用術① JSON生成コード作成
- Copilot活用術② API連携コード生成
- Copilot活用術③ エラー解析
- AccessとJSONの相性
- AI時代におけるJSON活用
- まとめ
はじめに
従来のシステム連携はCSVが主流でした。
システムA
↓
CSV出力
↓
Access取込
しかし現在は、
システムA
↓
JSON
↓
API
↓
Access
という流れが増えています。
特にクラウドサービスとの連携ではJSONが標準形式になっています。
JSONとは
JSON(JavaScript Object Notation)はデータ交換形式の一つです。
例えば顧客情報を表す場合、
{
"CustomerCode":"C001",
"CustomerName":"東京商事",
"Address":"東京都千代田区"
}
のように表現します。
人が見ても理解しやすく、多くのシステムで利用されています。
なぜJSON対応が重要なのか
現在のIT環境では、
- Microsoft 365
- Power Platform
- クラウドサービス
- AIサービス
の多くがJSONを利用しています。
そのためAccessでもJSONを扱えることが大きな強みになります。
AccessでJSONを扱う方法
代表的な方法は次の通りです。
JSONファイル読込
ファイルから取得
API応答取得
Webサービスから取得
JSON生成
外部システムへ送信
本記事では実務で利用頻度が高いパターンを紹介します。
逆引き① JSONファイルを読み込みたい
まずファイルを取得します。
Dim strJson As String
Dim intFile As Integer
intFile = FreeFile
Open "C:\Data\Customer.json" _
For Input As #intFile
strJson = Input$( _
LOF(intFile), _
intFile)
Close #intFile
JSON文字列が取得できます。
逆引き② JSON文字列を確認したい
内容確認に利用します。
Debug.Print strJson
開発時に便利です。
逆引き③ 顧客情報をJSON化したい
Accessデータを出力します。
strJson = _
"{""CustomerCode"":""C001""," & _
"""CustomerName"":""東京商事""}"
簡易的な方法です。
逆引き④ APIへ送信したい
最近利用機会が増えています。
Dim objHttp As Object
Set objHttp = _
CreateObject( _
"MSXML2.XMLHTTP")
接続準備を行います。
逆引き⑤ JSON形式で送信したい
基本形です。
objHttp.Open _
"POST", _
strUrl, _
False
objHttp.setRequestHeader _
"Content-Type", _
"application/json"
objHttp.send strJson
API連携で利用します。
逆引き⑥ 応答結果を取得したい
受信時です。
Dim strResponse As String
strResponse = _
objHttp.responseText
JSON形式の応答を受け取れます。
実践例① 顧客データ連携
クラウドサービスとの連携です。
Access
↓
JSON作成
↓
API送信
↓
登録
CSV不要の連携が可能です。
実践例② 社内システム連携
複数システム間で利用します。
販売管理
↓
JSON出力
↓
Access取込
データ精度向上に役立ちます。
実践例③ AIサービス連携
近年増えている活用例です。
Accessデータ
↓
JSON送信
↓
AI分析
↓
結果取得
業務効率化につながります。
JSONデータをテーブルへ登録する
取得したデータを保存します。
例えば、
{
"CustomerCode":"C001",
"CustomerName":"東京商事"
}
を登録します。
CurrentDb.Execute _
"INSERT INTO T_CUSTOMER(" & _
"顧客コード,顧客名)" & _
"VALUES(" & _
"'C001'," & _
"'東京商事')"
Accessで管理できます。
エラー処理を実装する
通信処理では必須です。
On Error GoTo ErrHandler
'処理
Exit Sub
ErrHandler:
MsgBox _
Err.Number & vbCrLf & _
Err.Description
安定運用につながります。
通信ログを残す
API連携では重要です。
T_API_LOG
| 項目 |
|---|
| 実行日時 |
| 送信先 |
| 結果 |
| エラー内容 |
記録例です。
CurrentDb.Execute _
"INSERT INTO T_API_LOG(" & _
"実行日時,結果)" & _
"VALUES(" & _
"Now(),'正常')"
障害解析に役立ちます。
実務活用例① Power Automate連携
最近増加しています。
Access
↓
JSON
↓
Power Automate
↓
Teams通知
業務効率化に効果があります。
実務活用例② Webサービス連携
顧客管理システムとの連携です。
顧客検索
↓
API呼出
↓
結果取得
リアルタイム連携が可能になります。
実務活用例③ マスタ同期
本社システムとの同期です。
JSON取得
↓
マスタ更新
↓
ログ出力
運用負荷を削減できます。
JSON活用時の注意点
文字コード
UTF-8を意識する
通信エラー
リトライ設計を行う
ログ管理
障害解析用に保存する
項目変更
外部仕様変更に備える
タイムアウト
長時間通信を考慮する
Copilot活用術① JSON生成コード作成
Copilotへ次のように依頼します。
Access VBAで
JSONデータを生成するコードを
作成してください。
条件
・顧客データ出力
・エラー処理あり
・関数化
効率的にコードを作成できます。
Copilot活用術② API連携コード生成
例えば、
Access VBAで
REST APIへ接続する
サンプルを作成してください
と依頼できます。
雛形作成時間を大幅に短縮できます。
Copilot活用術③ エラー解析
次のような相談も可能です。
HTTP 400 エラーの
原因を調査してください
確認ポイントを整理できます。
AccessとJSONの相性
Accessは古い技術と思われがちですが、
- テーブル管理
- VBA実装
- 帳票出力
- Excel連携
に加えて、
- JSON連携
- API連携
- Power Platform連携
も実現できます。
そのため現在でも十分に実用的な業務システム基盤として活用できます。
AI時代におけるJSON活用
生成AIサービスの多くは、
入力
↓
JSON
↓
AI処理
↓
JSON
という形式で動作しています。
そのためJSONを理解しているAccess開発者は、今後さらに活躍の場が広がると考えられます。
Copilotを活用しながらJSON連携を学ぶことは、Access開発者にとって有効なスキルアップと言えるでしょう。
まとめ
JSONは現在のシステム連携において重要なデータ形式です。
Access VBAでJSONを活用することで、
- API連携
- Power Automate連携
- クラウド連携
- AI連携
- マスタ同期
などを実現できます。
さらにCopilotを活用することで、
- JSON生成コード作成
- API接続コード作成
- エラー解析
- 保守改善
を効率的に進められます。
これからのAccessシステムではCSVだけでなくJSON対応も大きな差別化要素になります。将来的な拡張性を考えると、ぜひ習得しておきたい技術の一つです。


コメント