こんにちは、AccessとVBAが大好きな「なかぜん」です。
今回は、最近注目されている「ChatGPT」と「Microsoft Access」を組み合わせたアプリケーションのアイデアについてご紹介します。
「ChatGPTってすごいらしいけど、業務にどう活かせるの?」「Accessと連携なんてできるの?」
そんな疑問を持っている方へ、実際に作れるアプリ例とともに、実装のポイント・注意点・応用展開まで、やさしく丁寧に解説していきます。
1. Access × ChatGPTでできることとは?
自然言語による自動応答
たとえば「問い合わせ履歴から回答を自動生成したい」「業務マニュアルの要点をまとめたい」といった場面で、ChatGPTが強力なアシスタントになります。
VBAでAPIを使えばAccessから直接呼び出せる
OpenAIのAPIを使えば、AccessからVBAを通じてChatGPTに質問を送り、返ってきた回答をそのままフォームやテーブルに反映できます。
2. 実際に作れるアプリ例
① FAQ自動生成アプリ
質問履歴から、ChatGPTが想定される回答を生成し、FAQとしてデータベースに登録します。
② 日報要約アプリ
スタッフが書いた長文の日報をChatGPTに送り、要点だけを抽出して保存。報告書作成の時短に。
③ 自動返信文テンプレート生成ツール
顧客対応メールの文例を、トーンや内容に応じてChatGPTに作ってもらうという使い方も可能です。
3. VBAからChatGPT APIを呼び出すコード例
以下は、OpenAIのChatGPT APIをVBAから呼び出す基本的なコード例です。
' ChatGPTにテキストを送信して回答を受け取る関数
Function AskChatGPT(promptText As String) As String
Dim http As Object
Dim JSON As String
Dim apiKey As String
Dim url As String
Dim response As String
apiKey = "sk-XXXX..." ' ★OpenAIのAPIキーをここに入力
url = "https://api.openai.com/v1/chat/completions"
JSON = "{""model"":""gpt-3.5-turbo"",""messages"":[{""role"":""user"",""content"":""" & Replace(promptText, """", "\""") & """}]}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Authorization", "Bearer " & apiKey
.send JSON
response = .responseText
End With
' JSONからcontent部分を抽出(簡易版)
AskChatGPT = Mid(response, InStr(response, """content"":""") + 10)
AskChatGPT = Left(AskChatGPT, InStr(AskChatGPT, """") - 1)
End Function
解説:
この関数に文字列を渡すと、ChatGPTが返答をしてくれます。
結果は文字列として戻されるので、フォームのテキストボックスやテーブルに保存可能です。
活用例(フォームのボタンに設定)
Private Sub btn_ChatGPT_Click()
Dim q As String
q = Me.txt_Question.Value
Me.txt_Answer.Value = AskChatGPT(q)
End Sub
フォーム構成例:
・txt_Question:質問入力欄
・txt_Answer:回答表示欄
・btn_ChatGPT:送信ボタン
4. 注意点・よくあるミス
- APIキーの管理に注意:コード内にベタ書きする場合は公開しないこと。
- 通信エラー処理を入れないと固まる可能性あり。
- 戻り値のJSON処理は本来は正規のJSONパーサーを使うべき(ここでは簡略化)。
- ChatGPTの返答は必ずしも正確ではないため、業務判断には補助的に使う。
5. 応用アイデアと展開方法
① フォームと連携して「チャットUI」に
質問・回答の履歴をテーブルに記録し、まるでチャットのようなフォーム画面を作ることも可能です。
② 指定したデータから要約・変換
例えば、フィールド値の一部だけをChatGPTに渡し、敬語変換や要約、テンプレート化などもできます。
③ ChatGPT × Accessでナレッジベース自動作成
クエリやテーブルの構造を渡し、「このデータの意味は?」「どう使えばいい?」と質問するアシスタントにも。
6. まとめ:AIとの連携でAccessの可能性が広がる
今回の記事では、AccessとChatGPTを連携させたアプリのアイデアや基本コードをご紹介しました。
- ChatGPTのAPIはVBAからも簡単に呼び出せる
- 日報要約やFAQ生成など業務に役立つ活用ができる
- フォームと組み合わせて「AI付きデータベース」に発展可能
「AccessでAIなんて無理だと思ってたけど、これならできそう!」
そんな気持ちになってもらえたら、なかぜんはとても嬉しいです。
次のステップ
・OpenAIのAPIキーを取得して、自分の環境で動かしてみましょう。
・Accessと連携させることで、業務アプリの幅が大きく広がります。
・もし応用例が浮かばないときは、お気軽にコメントやお問い合わせください!
それでは、次回も業務に役立つAccessの活用術でお会いしましょう!
