マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
Accessフォームについて
上のようなクエリがあります。
このクエリは下のような内容でクエリを作成しています。
このクエリからフォームを作成してみます。
単純に上のようなフォームができます。
しかしここで大きな問題があります。
このフォームは更新できません。
また新規レコードも追加できません。
単に販売履歴を閲覧するだけならばこの状態でOKです。
なぜ新規レコードが追加できないかというと、テーブルの結合
(リレーションシップ)に問題があるからです。
主キーでないフィールドで結合している場合は更新も
新規レコードの追加もできなくなります。
どうすれば解消されるのかやってみましょう。
「T_販売品一覧」ですが、主キーが「ID」になっています。
これを「商品名」を主キーにしてみましょう。
デザインモードで「ID」を削除して、
「商品名」を主キーにしたところです。
これで再度クエリを作りましょう。
また結合プロパティも上記のようにします。
このクエリを保存してここからフォームを作ってみます。
それから「商品名」は「T_販売履歴」から持ってきます。
「T_販売品一覧」から持ってくるとうまく動作しません。
矢印のない方から持ってくることが基本です。
上記はフォームを作って新規レコードにしたところです。
この状態から新規入力ができるようになります。
ノートパソコンのことならパソコン工房通販ショップ
【フォームで計算】
ここで「単価」と「数量」というフィールドがありますね。
そうなると合計を出したくなります。
もちろんクエリの段階で「合計」というフィールドを作って
計算しても構わないのですが、フォーム上で計算してみましょう。
いま「合計」というテキストボックスを追加しました。
合計の「プロパティシート」の「コントロールソース」に
「=[数量]*[単価]」と記入しました。
これは分かりますね。それから「書式」で「通貨」に設定しました。
これを通常表示にしてみましょう。
上記のように合計金額が表示されました。
このようにフォーム上でも計算できます。
ただしこの合計はテーブルにもクエリにも保存されません。
あくまでもフォーム上で表示されるだけです。
クエリで計算式を入れておくとフォーム上で数量と単価を
入力した時点で自動的に合計欄が表示されます。
表面上は同じ動作をします。
また商品名を入れた段階で「単価」も自動的に表示されます。
このようにリレーションシップをうまく使ってクエリを作り、
クエリからフォームを作ると非常に便利なフォームが出来上がります。
パソコン工房【公式通販サイト】
【このカテゴリーの最新記事】