Access データベースのフォームとレポートで計算コントロールを使用して、計算結果を表示できます。 たとえば、販売された項目の数と各商品の価格を表示するレポートがある場合は、これら 2 つのフィールドを乗算して合計価格を表示する計算テキスト ボックスを追加できます。 集計されたテキスト ボックスの コントロール ソース プロパティには、2 つのフィールド (アイテム数 x 単価) を乗算して結果を求める式が含まれています。
目的に合ったトピックをクリックしてください
演算コントロールを作成する
この手順を実行すると、コントロール ウィザードを使用せずに演算コントロールを作成できます。
ナビゲーション ウィンドウでフォームまたはレポートを右クリックし、[ デザイン ビュー] をクリックします。
[ デザイン ] タブの [コントロール] グループで、作成するコントロールの種類に対応するツールをクリックします。
演算コントロールとして使用できるコントロール タイプの一覧については、 演算コントロールとして使用できるコントロール タイプの説明」セクションを参照してください。フォームまたはレポート上でコントロールを配置する場所にポインターを置き、フォームまたはレポートをクリックしてコントロールを挿入します。
コントロール ウィザードが起動した場合は、[ キャンセル ] をクリックして閉じます。
コントロールを選択し、F4 キーを押してプロパティ シートを表示し、[ コントロール ソース ] プロパティ ボックスに式を入力します。 式ビルダーを使用して式を作成するには、[コントロール ソース] プロパティ ボックスの横にある
をクリックします。フォーム ビューまたはレポート ビューに切り替えて、演算コントロールが期待どおりに機能することを確認します。
注
- 各式の前に = 演算子を付けます。 例: =[UnitPrice]*.75。
- 式の作成に関する詳細については、「式を作成する」の記事を参照してください。
- [ コントロール ソース ] プロパティ ボックスに式を入力するスペースを増やす必要がある場合は、Shift キー + F2 キーを押して [ ズーム] ボックスを開きます。
- フォームまたはレポートがクエリに基づく場合、式を演算コントロールではなくクエリに配置することをお勧めします。 これを行うと、パフォーマンスを向上させることができます。また、レコード グループの合計を計算する場合は、集計関数で集計フィールドの名前を使用する方が簡単です。
- フォームまたはレポート内の集計コントロールを並べ替えるときは、コントロールの "書式 " プロパティが適切に設定されていることを確認します。 それ以外の場合、計算された数値または日付の値が数値ではなくアルファベット順に並べ替えられる可能性があります。
連結されたコントロールを演算コントロールに変更する
演算コントロールを作成する良い方法は、最初にバインドされたコントロールを作成して (たとえば、 フィールドを [フィールド リスト ] ウィンドウからフォームまたはレポートにドラッグして) 次に、バインドされたコントロールのコントロール ソース プロパティを編集して式を作成することです。 コントロールの名前が式に含まれるフィールド名と競合しないようにする限り、これはうまく機能します。 [ フィールド リスト ] ウィンドウからフィールドをドラッグして連結されたコントロールを作成する方法の詳細については、「 フォームまたはレポートにフィールドを追加する」の記事を参照してください。
バインドされたコントロールが既に作成されている場合は、次の手順に従って演算コントロールに変更し、名前の競合を回避します。
- ナビゲーション ウィンドウでフォームまたはレポートを右クリックし、[ デザイン ビュー] をクリックします。
- 変更するフィールドをクリックし、F4 キーを押してプロパティ シートを開きます。
- プロパティ シートの [ すべて ] タブで、[ 名前 ] プロパティが [コントロール ソース ] プロパティと一致する場合は、[ 名前 ] プロパティを編集して、2 つのプロパティが一致しないようにします。 入力する名前が予約語やデータベース内の別のフィールドの名前でないことを確認します。 予約語の詳細については、「 Access の予約語と記号の詳細」を参照してください。
- [ コントロール ソース ] プロパティ ボックス内の文字列を編集して、目的の式が含まれるようにします。
- Ctrl キーを押しながら S キーを押して変更内容を保存します。
- レイアウト ビューまたはフォーム ビューに切り替えて、演算コントロールが期待どおりに機能することを確認します。
コントロールに必要なデータが表示されない場合 (たとえば、コントロールに #Name? と表示される場合)、フォームまたはレポートのレコード ソースをチェックして、式で使用したすべてのフィールドが使用可能であることを確認します。 レコード ソースがクエリの場合、式を動作させる前に、1 つ以上のフィールドをクエリに追加する必要がある場合があります。
注
- 各式の前に = 演算子を付けます。 例: =[UnitPrice]*.75。
- [ コントロール ソース ] プロパティ ボックスに式を入力するスペースを増やす必要がある場合は、Shift キー + F2 キーを押して [ ズーム] ボックスを開きます。
- フォームまたはレポートがクエリに基づく場合、式を演算コントロールではなくクエリに配置することをお勧めします。 これを行うと、パフォーマンスを向上させることができます。また、レコード グループの合計を計算する場合は、集計関数で集計フィールドの名前を使用する方が簡単です。
- フォームまたはレポート内の集計コントロールを並べ替えるときは、コントロールの "書式 " プロパティが適切に設定されていることを確認します。 それ以外の場合、計算された数値または日付の値が数値順ではなくアルファベット順に並べ替えられることがあります。
演算コントロールとして使用できるコントロールの種類について説明します
テキスト ボックスは、非常に多くの異なる種類のデータを表示できるため、演算コントロールで最もよく使用されます。 ただし、 コントロール ソース プロパティを持つコントロールは、演算コントロールとして使用できます。 多くの場合、特定の種類のコントロールを演算コントロールとして使用することは意味がありません。これは、バインドされているコントロールまたはバインドされていないコントロールを更新するようにそのコントロールを更新できないからです。 たとえば、フォーム上にチェック ボックス コントロールを配置し、そのチェック ボックスの [コントロール ソース] プロパティに式を入力すると、チェック ボックスをクリックしてそのチェック ボックスをオンまたはオフにすることができなくなります。 式の結果に基づいて、チェック ボックスがオンまたはオフになっています。 チェックボックスをクリックすると、Access のステータス バーに次の警告が表示されます。コントロールは編集できません。式<式にバインドされています>。 ただし、レポート上のコントロールは情報を表示するためだけに使用されるので、チェック ボックス コントロールは計算結果に基づいていると便利な場合があります。