function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
aikaik 

データ型[選択リスト]の選択値をInsert/Update/Deleteする方法

お世話になります。

 

 

データ型[選択リスト]のカスタム項目の選択値を

 

SOQLで、編集・更新することはできますでしょうか? 

 

 

やりたいことは、

参照項目を使用することなく、

別のカスタムオブジェクトのレコードを選択リストに表示させ、選択させたいのです。

レコードが編集されたときに、Triggerで選択リストの選択値も編集したいと思っています。

 

 

回答、よろしくお願いします。

 

Best Answer chosen by Admin (Salesforce Developers) 
ikouikou

すみません、まだちょっと何がしたいのか分かりません・・・

 

ルックアップ(虫めがね)項目を選択リストのようにプルダウン表示にしてユーザに選ばせたい

ということであれば、おっしゃる通りVisualforceで画面を作成することが必要だと思います。

 

Triggerはレコード保存時に動作するものなので、インターフェースを変更することはできません。

 

強いてTriggerで考えると、選択された値で別オブジェクトをSOQLで引きにいって、

リレーションの項目にIDを入れて紐づかせる、という感じでしょうか。

 

All Answers

ikouikou

選択リストのデータ型とはいっても中身はテキストなので、通常通り値を入れることができますよ。

 

リストにない値でも更新できるところが便利でもあり、不便に感じることもあります。

(エラーチェックして欲しい時もある・・)

 

aikaik

ikouさん

 

ご回答ありがとうございます。

 

選択リストのデータ型とはいっても中身はテキストなので、通常通り値を入れることができますよ。

 

リストにない値でも更新できるところが便利でもあり、不便に感じることもあります。

(エラーチェックして欲しい時もある・・)

作成されたレコードの選択リスト項目(列)の更新はできる、ということですよね。 

 

質問の仕方が悪く、申し訳ありません。

実は、これとはやりたいことが少し違うようです。

(以下のこともデキル!ということであれば、良いのですが・・・)

 

設定>アプリケーションの設定>作成>オブジェクト>カスタム項目&リレーション にて

カスタム項目(選択リスト)の選択リスト値を変更する、という動作

Triggerで行いたいのです。

 

Apex+SOQLで、マスタデータから選択リスト値を取得し、

動的に選択リストを作成して、VF画面に表示させることを考えていたのですが

 

もしTriggerでも実現できるのであれば、そちらの仕組みを使用したいと考えています。

 

 

よろしくお願いします。

ikouikou

すみません、まだちょっと何がしたいのか分かりません・・・

 

ルックアップ(虫めがね)項目を選択リストのようにプルダウン表示にしてユーザに選ばせたい

ということであれば、おっしゃる通りVisualforceで画面を作成することが必要だと思います。

 

Triggerはレコード保存時に動作するものなので、インターフェースを変更することはできません。

 

強いてTriggerで考えると、選択された値で別オブジェクトをSOQLで引きにいって、

リレーションの項目にIDを入れて紐づかせる、という感じでしょうか。

 

This was selected as the best answer
aikaik

ikouさん

 

 

何度もすみません、そして、ご回答どうもありがとうございます。

 

ルックアップ(虫めがね)項目を選択リストのようにプルダウン表示にしてユーザに選ばせたい

 

そのとおりです。

マスタデータのレコード保存時にTriggerを走らせて、別オブジェクトの選択リスト値を変更したいということでした。

 

ex) 

MSTオブジェクト、Xオブジェクトを作成します。

Xオブジェクトには、選択リストのカスタム項目を準備しておきます。

 

MSTオブジェクトにレコードが1本追加されるごとに

Xオブジェクトの選択リストカスタム項目の選択リスト値に、選択値を1つ与えたい。

***

 

 

Triggerはレコード保存時に動作するものなので、インターフェースを変更することはできません。

 

了解しました。

ほんとうに、ありがとうございます。

 

これにて解決としたいと思います。

 

ikouikou

なるほど、そういうことだったんですね。

 

ん~・・・MetadataAPIを利用すれば可能なのかもしれませんが、ちょっと私には分かりません。