kintone アプリに複数添付ファイルを一括追加・削除する方法 | Excel、Accessなど各種クライアントに対応

by 松本勝成 | 2023年09月01日

CData Drivers for kintone のV23 で追加された新機能として、1つのレコードに複数の添付ファイルを追加できるようになりました。

この記事では、こちらの新機能を活用してCData Drivers からkintone アプリに添付ファイルを追加・削除する方法を解説します。

なお、今回の例ではJDBC Driver を使用していますが、ツールに応じてAccess であればODBC Driver、Excel であればExcel Add-In など、各ツールで類似の手順を使って複数添付ファイルの追加・削除が可能です。

1. kintone アプリを作る

添付ファイルフィールドを1つ持つサンプルアプリを作成しました。

2. 添付ファイルをレコードに追加する

添付ファイルをレコードに追加するには、ファイルのアップロードと、FileKey をレコードにセットという2つのステップを行います。

なお、今回はCData JDBC Driver を使ってDBVisualizer からkintone に接続してストアドを実行しています。DBVisualizer からkintone への 接続方法は、こちらのSharePoint 向けの記事を、kintone に読み替えてご利用ください。

1) UploadFile ストアドプロシージャでファイルをアップロードします。

EXEC UploadFile @FullPath='ファイルパス';

ファイルがアップロードできると、FileKey が取得できます。

今回使用した画像ファイルの場合、ファイルの種類を表すContentType はkintone 側で自動認識されるため指定は不要ですが、ファイルの種類によって明示的にContentType の指定が必要な場合があります。

・ContentType を明示的に指定して、pdf ファイルをアップロードする場合

EXEC UploadFile @FullPath='C:\\CDataJ\\LocalTest\\Sample.pdf', @ContentType='application/pdf';

CData JDBC Driver for Kintone - UploadFile

2) レコードの添付ファイルカラムにFileKey をセットします。

INSERT INTO [添付ファイルサンプル] ([添付ファイル Aggregate]) VALUES (’FileKey’);

アップロードしたファイルが添付ファイルに入ったレコードが追加されます。

3. 既に添付ファイルのあるレコードに、添付ファイルを追加する

添付ファイルのあるレコードに添付ファイルを追加する場合は、既存のレコードにあるFileKey とアップロードして取得したFileKey をカンマで連結してセットします。

(1) 添付ファイルのあるレコードからFileKey を取得する

添付ファイルフィールドの値を取得してみると、このようなJSON形式の値になっています。

SELECT [添付ファイル Aggregate] FROM [添付ファイルサンプル] WHERE [RecordId]='1';
[
  {
    "fileKey": "20230830004407750C2C7CAFE34F53805BDAAECDC39E19174",
    "name": "P0000.jpg",
    "contentType": "image/jpeg",
    "size": "5974"
  }
]

既存の添付ファイルがあるレコードに添付ファイルを追加する場合、この中にあるFileKey が必要ですが、ここから文字列処理などでfileKey 部分の値を取得するのは大変です。

そんなときは、JSON_EXTRACT 関数を使うと簡単にJSON の中にある"fileKey" の値だけを取得することができます。
CData JDBC Driver for Kintone - 文字列関数

(2) JSON 形式の値からFileKey を取得する

SELECT JSON_EXTRACT([添付ファイル Aggregate],'$.[0].filekey') FROM [添付ファイルサンプル] WHERE [RecordId]='1';


[0]の部分が、JSON の何番目かを指定する部分になるので、複数のファイルがある場合はこの値を変えるとその番号のFileKey を取得することができます。

(3) 複数の添付ファイルを指定する

元々のFileKey と新たにアップロードしたFileKey をカンマで区切ってセットします。

UPDATE [添付ファイルサンプル] SET [添付ファイル Aggregate] =’20230830004407750C2C7CAFE34F53805BDAAECDC39E19174,7cfe0bd5-7453-4338-875d-d836620b4a50’ WHERE [RecordId]='1';

4. 添付ファイルを削除する

画像を削除する場合は、添付ファイルの値にNULL をセットします。

UPDATE [添付ファイルサンプル] SET [添付ファイル Aggregate]=NULL WHERE [RecordId]='1';

5. まとめ

添付ファイルは業務でkintone を活用する際に欠かすことのできない機能です。ぜひ、CData 製品を使ってkintone の添付ファイルをさらに便利に活用してみてください!

CData ではお好みのツールからkintone に連携できる各種ツールを用意しています。こちらから必要な製品を選んでダウンロードしてください。すべての製品で30日間無償トライアルがご利用いただけます。どの製品を利用したらいいかわからない!という場合はお問い合わせフォーム またはチャットから、お気軽にお問い合わせください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。