kintoneアプリに複数の添付ファイルを一括登録・削除する方法 ExcelやAccessでも使える

松本勝成

  • この記事をはてなブックマークに追加
  • 本文印刷

 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 ストアドプロシージャでファイルをアップロードします。

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


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

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

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

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

CData JDBC Driver for Kintone - UploadFile

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

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

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

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

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


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

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

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


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

 そんなときは、JSON_EXTRACT関数を使うと簡単にJSONの中にある"fileKey" の値だけを取得することができます。

CData JDBC Driver for Kintone - 文字列関数

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

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

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

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

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

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

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

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

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

5. まとめ

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

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

過去記事アーカイブ

2025年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2024年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
04月
07月
08月
09月
10月
11月
12月