4D v13.4

フォーミュラによるクエリ

ホーム

 
4D v13.4
フォーミュラによるクエリ

フォーミュラによるクエリ  


 

 

フォーミュラによるクエリエディターを使用し、計算結果やデータ操作に基づいたレコード検索を行います。フォーミュラエディターを用いて、クエリ実行のベースとなる式を作成します。作成する式は、各レコードに関してその結果が“True (真) ”または
“False (偽) ”にならなければなりません。フォーミュラには、4Dのコマンドやランゲージのすべての関数、ならびに開発者が特に指定した任意のプロジェクトメソッドを使用することができます。

フォーミュラによるクエリコマンドは、次のような操作に関係するクエリを作成する際に役立ちます:

  • 文字列に関する操作や評価の実行
  • 日付演算の結果による検索
  • 算術計算による検索

フォーミュラによるクエリエディターの使用例をいくつか紹介します: 

  • 次のフォーミュラは、電話番号フィールドの最後の7桁が“2524444”と等しいレコードを検索します:
     Substring([Emp]Phone number;4;7)="2524444"
  • 次のフォーミュラは、年度とは関係なく、本日生まれの人を検索します:
     (Day of(Current date)=Day of([Emp]Birthdate)) & (Month of(Current date)=Month of([Emp]Birthdate))
  • 次のフォーミュラは、年間売上高を生計費で割り、その計算結果が1,000を超えるレコードを検索します:
     ([Stats]Annual Sales/[Stats]CostOfLiving)>1000

しかし、次のフォーミュラ:

 [Stats]Annual Sales/[Stats]CostOfLiving

の場合は、“True (真) ”または“False (偽) ”ではなく、数値を返すため正しくありません。

フォーミュラは1行の論理式でのみ作成することができます。つまり、キーボード上の Enter キー (Macintosh では Return キー) を押して、2行目を記述することはできません。しかし、命令文が長すぎる場合には、編集エリア内で行を折り返して表示します。1行を超えるフォーミュラを使用する必要がある場合には、それをプロジェクトメソッドとして作成し、フォーミュラの中でこのメソッドを使用してください。フォーミュラはディスクに保存したり、保存したフォーミュラをフォーミュラエディター上に読み込んだりすることができます。

次の図はフォーミュラエディター上のクエリ (検索) フォーミュラを示しています: 

フォーミュラエディターに関する詳しい説明は、フォーミュラエディターを参照してください。

フォーミュラによるクエリエディターを使用するには、次の手順に従ってください:

  1. デザインモードでレコードメニューからクエリ>フォーミュラによるクエリ...を選択します。
    または
    ツールバーにあるクエリボタンのサブメニューからフォーミュラによるクエリ...を選択します。
  2. フォーミュラエディターを使って、フォーミュラを作成します。
    または
    読み込み...ボタンをクリックし、既存のフォーミュラをディスクから読み込みます。
    作成した式は、各レコードに関してその結果が“True (真) ”または“False (偽) ”にならなければなりません。
    フォーミュラエディター上でフォーミュラを作成する場合、作成した関数を入力するか、演算子と関数の一覧を利用することができます。値を入力すると、エディターは使用される構文をチェックします。シンタックスエラーが発生した場合、エラーを説明するメッセージがウインドウ上に表示されます。
    読み込み...ボタンをクリックすると、4Dよりファイルを開くダイアログボックスが表示され、ここでファイルを選択することができます。ファイルが読み込まれると、フォーミュラエディターに表示されているフォームと置き換わります。
    注: フォーミュラファイルの拡張子は (“.4FR”) です。
  3. (任意) 新しいフォーミュラをディスクに保存するには、保存...ボタンをクリックします。
    4Dはダイアログボックスを表示し、新しいフォーミュラを登録するファイル場所とファイル名を指定するよう要求されます。保存ボタンクリックして、フォーミュラを保存します。

 
プロパティ 

プロダクト: 4D
テーマ: レコードの検索