Ver.2024に合わせリニューアルしたブログです。第4回は「データを変更する機能」「入力を補助する機能」をお届けしたいと思います。・値一覧その後「データを変更する機能」として以下4つをご紹介します。・フィールド内容の再ルックアップ・Evaluate関数このブログは以下のシリーズで連載しています。「入力値の自動化」とは、データを登録した日時やユーザー名、計算式の結果や、関連レコードの値をフィールドに自動で入力できる機能です。【ファイル】>【管理】>【データベース】から、各フィールドの「オプション」をクリックし、オプション編集画面の「入力値の自動化」タブで設定することができます。1作成情報:レコード作成時の情報が入力されます。選択肢は、日付・時刻・タイムスタンプ・名前・アカウント名です。2修正情報:レコード修正時の情報が入力されます。選択肢は、日付・時刻・タイムスタンプ・名前・アカウント名です。3シリアル番号:連番を生成して入力します。入力のタイミングをレコード作成時・確定時どちらにするか選択します。4直前に参照したレコード値:同じテーブルで、最後にアクセスしたレコードの値が入力されます。5データ:設定した値が入力されます。6計算値:設定した計算式の結果が入力されます。7ルックアップ値:関連レコードのフィールドから値をコピーします。◆「計算値」の設定【フィールドに既存の値が存在する場合は置き換えない】についてチェックを付けない場合は、計算式で使用されているフィールドの値が変更されるたびに、再計算されて自動で値が変更されます。チェックを付けた場合は、計算式で使用されているフィールドの値が変更されても、最初に入力された値から変更されません。◆設定【データ入力時の値変更の禁止】についてこの設定にチェックを付けた場合は、ユーザーが自動入力された値を変更できなくなります。変更しようとすると以下のようなメッセージが表示されます。入力値の自動化の詳細はヘルプをご参照ください。入力される値を制限したり、入力漏れを防ぐことができる機能です。設定場所は「入力値の自動化」の隣のタブ「入力値の制限」です。1どのタイミングで制限するかを設定します。「常時」を選択すると手入力だけでなくインポート時やスクリプトでの値入力にも、制限が適応されることになります。★制限がかかるタイミング常時:手入力・インポート・スクリプトデータの入力時のみ:手入力2「データの入力時にユーザーによる上書きを許可する」は制限の警告メッセージを無視して上書きできるかできないかの設定です。下図はチェックを付けた場合の警告メッセージです。ここで、「はい」をクリックすると入力値の制限をかけていても制限外の値で上書きができます。チェックを付けない場合は下図のように選択肢が「はい」「いいえ」ではなく「OK」のみになり警告を無視できなくなります。3具体的な制限内容を指定します。オプションによって警告メッセージのタイミングが異なります。4警告メッセージをデフォルトの文章から変更できます。入力値の制限の詳細はヘルプをご参照ください。■値一覧よく利用する値や、文言が決まっている値をあらかじめ一覧で登録しておき、ユーザーが入力時に選択できる機能です。入力が簡単にできる、値を統一できるなどのメリットがあります。「担当者」やタスクの「ステータス」は同じ値を何度も使う項目かと思いますので、値一覧を登録しておくと便利です。値一覧の表示方法(コントロールスタイル)も4つありますのでご紹介します。値一覧の基本的な使い方は2ステップです。【ファイル】>【管理】>【値一覧】をクリックします。値一覧の管理画面が開きます。ファイルに設定している値一覧を管理できます。左下の「新規」をクリックすると編集画面が開き、新しく値一覧を追加することができます。フィールドへの値一覧の割り当てと、フィールド書式の設定レイアウトモードの右側のインスペクタパネルで、作成した値一覧をフィールドに設定することができます。「値一覧:」でフィールドに割り当てる値一覧を選びます。「コントロールスタイル」で表示方法を選びます。値一覧で利用できるコントロールスタイルは「ドロップダウンリスト」「ポップアップメニュー」「チェックボックスセット」「ラジオボタンセット」の4つです。※選択するコントロールスタイルによって「値一覧:」下のオプション設定は変わります。下図はドロップダウンリストです。このように値一覧から値を選択することができます。言ってフィールドに入力されたデータをもとに関連データを表示させる方法もあります。ブログがありますのでよろしければご覧ください。値一覧の詳細はヘルプをご参照ください。続いて「データを変更する機能」をいくつかご紹介していきます。編集したいフィールドにカーソルを入れて値を入力し、レコードを確定させる動作をすることでデータが変更されます。(レコードを確定させる動作については2回目でご紹介しました。)これは新規登録の際も、編集する際も変わりません。新規登録時と同様、レコードを確定させる前であれば、値を元に戻す(データベース格納値に戻す)ことが可能です。操作方法は、メニューバーの【レコード】>【レコード復帰】です。対象レコードの値を一括で変更できる便利な機能です。対象レコードを一括で置換しますので、実行後にレコード復帰はできません。>【フィールド内容の全置換】から実行できます。置き換えたいフィールド(下の図では「住所」フィールドの“東京都“)にカーソルを入れて置換を実行することで、対象レコードのフィールドの値を一括で特定のデータに変更することができます。■フィールド内容の再ルックアップこの機能は入力値の自動化「ルックアップ値」を設定しているフィールドがある場合に利用する機能です。コピー元のフィールドの値を変更した時、「ルックアップ値」を設定しているフィールドの値もその値で上書きしたい場合に利用します。※対象レコードを一括で置換しますので、再ルックアップ実行後にレコード復帰はできません。下図のように「販売履歴」の「顧客電話番号」フィールドは関連テーブル「顧客情報」から「電話番号」フィールドをコピーするようにルックアップの設定をしていたとします。※以下2カ所をデフォルト設定から変更しています。1)「完全に一致する値がない場合」は「使用する値」を選択。右の四角の欄は空欄のまま。2)左下の「内容が空欄の場合コピーしない」のチェックを外す。すると照合フィールド「顧客ID」に基づきレイアウト「見積」の「連絡先」の値がルックアップで自動入力されます。重要なのが、ルックアップで入力された値は、コピー元のフィールドの値が書き換わっても上書きされないということです。ここで「フィールド内容の再ルックアップ」を利用します。>【フィールド内容の再ルックアップ】から実行します。今回の場合だと「顧客ID」にカーソルを入れて実行します。ダイアログが表示されますので、「OK」をクリックすると、「顧客ID」に基づいて「見積」の「連絡先」の値が変更されます。ちなみに、この時カーソルを「顧客ID」ではなく「顧客電話番号」に入れて「フィールド内容の再ルックアップ」を実行すると以下のようなダイアログが出ます。値をルックアップするフィールドにカーソルを入れてしまいそうになりますが、照合フィールドにカーソルを入れる、ということを頭に入れておきましょう。レコードを一括で置換しますので、実行後レコード復帰はできません。「このフィールドが書き換わったら、自動でこのフィールドの内容も書き換えたい!」といった場合に便利な関数です。特定のフィールドの値が変更されるたびに「変更日時」のフィールドを更新したい場合などに利用できます。第5回「データをインポートする機能」です。