2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle APEXのアプリからファイルをアップロードし、既存の表を更新する方法

Posted at

はじめに

Oracle APEXでは開発画面でExcelなどのファイルをアップロードして、そこから簡易的なアプリを作ることができます。そのファイルのアップロードをアプリ上で行い、既存の表データを更新する方法についてまとめました。

手順

  • あらかじめExcelファイルやcsvファイルなどを用いて、アプリケーションを作成します。この手順は割愛します。

  • デフォルトでは、Oracle APEXの開発画面からcsvファイルなどをアップロードしてアプリケーションを作成すると、レポートや検索ページなどが自動で作成されます。ここに追加する形で、ファイルのアップロードするページを追加します。

  • まずは、アプリケーションの編集画面から共有コンポーネントに遷移します。
    画像1.png

  • [LOV]→[データ・ロード定義]から、データ・ロードする際の表の定義を設定します。こちらを設定しないとこの後行うデータ・ロードするページ作成の手順が進みません。

    画像2.png

  • [作成]から、定義を設定します。
    画像3.png

  • [データ・ロード]の名前を設定します。下記画面ではloadとしています。
    画像3_5.png

  • [ターゲット]から、表名を選択します。今回は既存のTASKS表とします。

  • [設定]から、ロード・メソッドを選択します。[置換]を選択すると、表をロードした際に、既存の表を更新し、置き換えることができます。[追加]を選んでしまうと、表をロードするごとに、既存の表のデータが追加されていってしまいます。

  • [変更の適用]を押し、定義を作成します。

  • つぎに、アプリケーションにデータ・ロードをするページを作成します。

  • アプリケーションのトップに戻り、[ページの追加]をクリックします。

  • 下記コンポーネントから、[データのロード]を選択します。
    画像4.png

  • ページの詳細を設定します。[ページ名]を[data load]、[ページ・モード]は[標準]にします。

  • [データ・ロード]では、先ほど作成したデータ・ロード定義である[load]が選択できるようになっています。これを定義しないとページ作成の工程がこれ以上先に進めません。

  • [データのアップロード先]を[ファイル]とします。

  • [ページの作成]をクリックします。
    画像5.png

  • ページが作成できると、作成したページのページ・デザイナに遷移します。画面左のレンダリング・ツリーから[LOAD]ボタンを、下記のように選択します。

  • 画面右側において、LOADボタンの設定をします。

  • 確認の要求のトグルをONにします。

  • メッセージには[ロードしますか?]と入力します。
    画像6.png

  • 画面右上の保存と実行ボタンをクリックし、アプリケーションの外観を確認します。

  • [Data Load]ページが作成されています。[ファイルの選択]から更新したい表データをアップロードします。
    画像7.png

  • 選択すると、下記のような画面になり、どのようなデータをロードするか確認できます。今回は、パイロット用のワークスペースの担当者を田中節子から鈴木節子に変更してある更新用の表をロードしてみます。
    画像8.png

  • 先ほど設定したように、確認画面が出力されています。ロードをすると、既存のデータから更新されているはずです。
    画像9.png

  • このアプリケーションを作成する際にあらかじめ作成されていた対話モードレポートページを見てみます。パイロット用のワークスペースの担当者を田中節子から鈴木節子に変更できていることがわかります。
    画像11.png

  • 元のデータは73行ですが、レポート下部から50行目から先を確認します。新しい更新用のデータをロードした後も元の表に追加する形ではなく、73行のまま変更したデータのみ更新できていることが確認できます。
    画像12.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?