• 締切済み

access

accessの超初心者で文がおかしくなるかもしれませんがよろしくお願い致します。 フォームのテキストボックスに計算した答えを出したいのが私のしたい質問です。 具体的には同テーブル内にある       A 100       B  50 の引き算の答えを表示させたいのですが具体的にはどういった方法をとればいいでしょうか? テーブル内のA、Bは直接入力しているのでテキストボックスにはその答えが何らかの方法で表示させればいいのですがその方法が皆目見当がつかずよろしくお願い致します。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.7

こんばんは。 AとBは違うフィールドだとすれば、次の方法があります。 ア) 非連結コントロールを利用する こちらは#2、#3の方が詳しくご説明されています。ACCESSの勉強を始めたばかりでしたら、まずこちらの方法をお試し下さい。 イ) クエリを利用する 私は#4の方と同様に、難易度は上がりますが、クエリを使用することをお勧めします。 なぜなら、フォームの非連結コントロール上で演算をするよりも、クエリで演算フィールドを作成した方が高速動作するためです。覚えておいて損はありません。 前提条件として、フィールド「A」と「B」をもつテーブル「TEST」が既に作成されているとします。 1 [クエリ]-[デザインビューでクエリを作成する]をクリック 2 [テーブルの表示]ウインドウを何もしないで閉じます 3 [表示]メニューから[SQLビュー]をクリック 4 開いたウインドウに次の一文をコピー&ペースト SELECT [A],[B],[A]-[B] AS [減算結果] FROM [TEST]; 5 ウインドウを閉じ、適当な名前でクエリの変更を保存します。 6 5で作成したクエリをもとに、フォーム作成ウィザードでフォームを作成します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

#2です。 ・式ビルダの式の結果が [投球数].[投球数]のようになるので、左の[投球数].を 削除してみる。[昨年投球数].についても同じ。 ・テーブル名、フィールド名が私の例と同じかどうかチェックしてください。 記号の半角全角に注意してください。 ・私のは載せる前にテストはしています。

  • Mtr2004
  • ベストアンサー率18% (2/11)
回答No.5

なんとなく思ったのですが、AとBは同一フィールドですか? もしそうであれば不可能だと思います。 私の勘違いであったらごめんなさい。 違うフィールドであれば#3の方がおっしゃるようにすれば良いと思います。

回答No.4

ご存知かとは思いますが テーブルでは計算ができません。 フォームで計算式を入れられますが、 それはやめて、 クエリでテーブル2つをくっつけて クエリで計算フィールドを作ります。 それを、フォームにしたら、いいと思います。 違っていたら、ごめんなさい。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

フォームの新規作成でフォームウィザードが開きますのでそのテーブルを選択します。 選択可能なフィールドが表示されますのでその中からAとBを選択します。次へをクリックするとフォームのレイアウトになりますのでその中から選択します。 テーブルにある1レコードづつ表示させるには単票形式・一覧のように表示したいのであれば表形式などを選択します。 次はスタイルになりますがお好みのものを選択し進めます。 フォーム名をつけてフォームのデザインを編集するをチェックして完了ボタンをクリックします。 フォームの編集画面が出ます。詳細部にAとBのフィールドが出来ていますので詳細部に計算した答えを表示するテキストボックスを追加します。 ツールボックスの中からテキストボックスを選択し詳細の配置したい位置でクリックするとテキストボックスが追加されます。 追加されたテキストボックスで右クリックしそのテキストボックスのプロパティを開きデータタブにあるコントロールソースに =[A]-[B] と入力して閉じます。 フォームを閉じて再度開けばAとBのフィールドとAからBを引いた答えが表示されるフィールドが出来ます。 (この答えのフィールドはあくまでもフォーム上でAからBを引いた答えが表示されているだけでテーブルには反映等されません。)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

問題にしているテーブルを指定してまずフォームを作ります。 例えば投球数、昨年投球数のフィ-ルドがあるものとし、昨年比増減をフォーム上のテキストボックスに出すものとします。テーブル名を投球数とします。 フォーム 新規作成 オートフォーム:単票形式 基になるテーブル・・の選択-▼をクリックしてテーブルを指定(投球数テーブル) 単票形式のフォームが出きる。 デザインビュー 全項目のテキストボックスが出るが、不要なテキストボックスは抹消すればよい。 テキストボックスをツールバーより、D&D ツールバ-の「プロパティ」のアイコンをクリック 「コントロール」の右端をクリックして現れる「・・・」をクリック。 式ビルダが出る。 テーブルをクリック。 「投球数」テーブルが出るのでクリック。 「=」のボタンをクリック 「投球数」をダブルクリック 「-」ボタンをクリック 「昨年投球数」をクリック-OK コントロールソースに=[投球数]-[昨年投球数]になる。 デザインビュー-「X」をクリックで閉じる 「X」をクリックで閉じる 名前を付けて保存 これで追加したテキストボックスに差が出ると思う。

bekopon012
質問者

お礼

ご解答ありがおうございます 続けての質問で申し訳ないのですがどうしても 解らないので質問させて下さい。 imogasiさんのおっしゃる通りにやってみたのですが #Error や #name などのエラー表示が出てしまうのですがこれは何らかの設定が必要なのでしょうか?

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 1. データA、Bは同一のテーブルにありますか? 2. テーブル内のA、Bはフォーム上で、例えばテキストボックスなどに表示されていますか?または表示可能ですか? これにより、解決方法が異なります。

bekopon012
質問者

お礼

解答ありがとうございます。 1、同一テーブルにあります。 2、フォームで表示可能です。 昨日丸1日悩んでまだ現在悩んでます。 もっと精進しないといけないな~とひしひし感じています。 参考書を買って読んで勉強はしているのですが難しいもんですね・・・。

関連するQ&A