
Salesforceのリストビューやレポートでは、オブジェクトに格納されたレコードを特定の条件を指定して検索し一覧表示することが可能です。この条件はリストビューやレポートの作成時に指定する必要がありますが、エンドユーザが条件値をフォームに入力して検索したいという場合がしばしばあります。そのような場合、今まではApexとVisualforceあるいはLightningコンポーネントを使ったカスタム開発を行うのが一般的で、一般のSalesforceユーザには少々敷居が高い状態でした。
Mashmatrix Sheet の「Sheetフォーム」機能を使えば、コードでのカスタム開発はまったく必要なく、ユーザが検索条件を入力して検索できる検索フォームを作れるようになります。さらに検索結果はMashmatrix SheetのExcelのような画面で表示できますので、その場でダイレクトに検索結果のデータを編集したり、コピー&ペーストで一括変更することも可能です。
Sheetフォームの作成方法
フォームの有効化
Sheetフォームを利用して検索フォームを作るには、まず表示したいオブジェクトのレコードを一覧表示するシート画面を作成します。ここでは「商談」オブジェクトのレコードを一覧するシートを例にして話します。

作成したシートのシートメニューから「設定」を選び、シートの設定変更ダイアログを開きます。
「オプション」タブ内の「フォーム」セクションにある「検索フォームを有効にする」のチェックをオンにして設定を保存してください。

するとシートの上部ツールバー上に「検索する列のヘッダをドラッグ&ドロップ」というメッセージとともにフォーム領域が表示されます。

ドラッグ&ドロップでの入力要素の追加
次に、今から検索のキーとして利用したい列のヘッダをマウスでつかみ、ツールバーのフォーム領域にドラッグ&ドロップします。ここでは「商談名」列をドラッグ&ドロップします。

ポップアップメニューが表示されるので、検索する際の比較方法を選択します。ここでは「部分一致」を選ぶことにします。

テキスト入力要素がフォーム上に追加されました。

試しに商談名の一部を入力してリターンキーを押すと、商談名を部分一致で検索できているのが確認できます。

選択リスト入力要素の追加
次に、「商談 種別」列のヘッダを同じようにマウスでフォーム領域へドラッグ&ドロップします。フォーム要素として挿入する位置に青線が表示されます。

ドロップすると、選択リスト入力要素がフォームに追加されました。

選択リスト入力のプルダウンで選択する値を切り替えることで、レコードを商談種別の値で絞り込みできるのがわかります。

日付範囲の入力要素の追加
次に、「完了予定日」列のヘッダを同じようにマウスでフォーム領域へドラッグ&ドロップします。

ヘッダをフォーム領域にドロップすると日付入力要素がフォームに2つ追加されます。

この2つの日付入力のそれぞれを開始日と終了日として、日付値がその範囲に合致するものを検索できるようになります。
1つの入力で複数の列を同時に検索
続いて、今度は商談名だけでなく取引先名でも検索ができるようにします。ただしキーワードを入力するフォーム要素は商談の検索と同じ1つのテキスト入力要素だけで行いたいとします。
最初に、現在の「商談」テキスト入力のラベルを変更し、商談以外の検索キーワードを受け取っても不自然でないようにします。フォーム要素の右上のメニューから「編集」を選び、設定変更ダイアログから表示ラベルおよびプレースホルダ文字列をそれぞれ「キーワード」「キーワードを入力」などとして変更します。


次に「取引先名」列のヘッダをドラッグし、「キーワード」テキスト入力に重ね合わせてドロップします。比較方法を選択するポップアップメニューが表示されるので、「部分一致」を選択しておきます。


これにより「取引先名」列を「キーワード」テキスト入力へリンクできしました。実際にキーワード入力に取引先名の一部を入力してリターンキーを押すと、ちゃんとキーワードが取引先名に部分一致したものを検索できているのがわかります。

動画
以上のフォーム作成について、かんたんな動画もご用意させていただきました。操作手順などお確かめください。
まとめ
「Sheetフォーム」を使えば、まったくSalesforceの開発を行うことなく、マウス操作だけでとても直感的にSalesforceの検索フォームが作成できるのがおわかりいただけましたでしょうか?もちろん検索結果はMashmatrix Sheetのシートで表示されますので、コピー&ペーストによる一括更新、CSVダウンロード、カスタムアクションによるフローの起動など、Mashmatrix Sheetでできることはすべて適用できます。是非一度おためしください。
———————————————————————————
SalesforceをExcelライクに快適データ入力しませんか?
———————————————————————————