Office2kのAccessです。
超初級者です。よろしくお願いします。
マクロは使えません(>_<)

現在のテーブルの項目は、
ID、個人名、購入金額1 購入金額2 購入金額3
とあります。

1レコードごとの合計を表示させるにはどうしたらいいのでしょうか。
しかも、そのレコードの中でも、合計するのは特定の購入金額2と3だけです。
クエリーで合計を出せた気がするのですが、
列の合計だったような記憶がありまして・・・。
レコードごとのってできるのでしょうか?

説明不足でしたら、補足いたします。
お助けください。

A 回答 (3件)

選択クエリでできます。



「購入金額2 購入金額3」のデータを
含んだテーブルをもとに選択クエリを作成。

デザインビューで、空のフィールド項目に
マウスカーソルをあわせて右クリック。

「ビルド」を開き、テーブルから「購入金額2」と
「「購入金額3」を選択し、足し算にしOKをクリック。

すると、下記のような式がフィールド名の欄に
表示されると思います。

式1: [テーブル名]![購入金額2]+[テーブル名]![購入金額3]


あとは、クエリを実行すれば、完了です。

なんか、わかりにくい説明かも・・・
わからないとこがあったら突っ込んでくださいな。

この回答への補足

実は、そのテーブルを単票フォームで一件一件見るようにしているんですが、その単票フォームのそのレコードの2と3の合計の項目を追加できますか?
この質問方法は違法ですかねえ・・・。
削除されたらごめんなさい。
と、私のほうこそ意味わかりますかねえ。

補足日時:2005/04/09 01:03
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
>なんか、わかりにくい説明かも・・・
全然そんなことないです。
頭の中でイメージできましたよ!

お礼日時:2005/04/09 00:59

合計する双方のフィールドに空白を許可するのであれば、



合計: Nz([購入金額2])+Nz([購入金額3])

の方が、いいと思います。 

Nz関数を使用しないと、どちらかでも空白があると合計欄も空白になります。

> No2 「クエリ」だって言っているのに・・・・
    • good
    • 0
この回答へのお礼

すばらしいです。!(^^)!
確かに片方が空欄だと合計がでませんでした。
しかし、0をいれときゃ問題ないって思ってたんですが、この方法もいただきます!

> No2 「クエリ」だって言っているのに・・・・
ん?誰が誰に?なぜこうなった?(?_?)
特にクエリでなくても、結果が出れば問題ありません。

お礼日時:2005/04/10 03:12

フォームで表示したいのですね。


でしたら、先ほどのクエリは必要ないです。

まず、「ID、個人名、購入金額1 購入金額2 購入金額3」を
含んだテーブルを元に、単票フォームを作ります。

次に、そのフォームをデザインビューで開きます。
空いているスペースにテキストボックスを作成します。

ラベルには「合計」とでもつければよいでしょう。
で、そのテキストボックスを右クリックし、「プロパティ」を
開きます。

開いたら、「データ」タブをクリックし、コントロールソースの欄にカーソルを合わせます。

すると右に「...」というマークが出てくるので、それをクリック。

式ビルダが開くので、
[テーブル名]![購入金額2]+[テーブル名]![購入金額3]
を作成。

OKをクリック。

デザインビューを終了し、フォームビューにすると
合計と名前をつけたフィールドには合計額が表示されます。

やってみてください。
    • good
    • 0
この回答へのお礼

またまたありがとうございます!(^-^)
クエリーでも、フォームの非連結ででも、どちらもできました!

お礼日時:2005/04/10 02:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q古いレコードやCDの買取について

札幌でレコードやCDの買い取りをしていただけるオススメのお店を教えてください。

レコードは80年代邦楽ロック(ラウドネス・REACTION・子どもばんど等)、
CDもJPOP中心に多数あります。

そもそもこのようなレコードを買い取っていただけるのかも疑問ですが(笑)、
札幌市内中心部、持ち込み可能です。

ブックオクやTSUTAYA以外でお願い致します。

Aベストアンサー

買い取り価格は、リサイクルショップで売る値段の3%~5%程度です。 未使用を1000円で売るとしたら、買い取り価格は30円~50円。買取商品は発売から3年以内、これがリサイクル業界の基準です。3年以上経過した商品は値は付きません。

Q前のレコードの合計に現レコードの値を加えたいのです。

ACCESSを使っています。
たとえばひとつのレコードに車のデータとして
[日付]、[今日の走行距離]、[総走行距離]があるとします。

[今日の走行距離]は入力するとして、[総走行距離]
を前に入力した最終日の[総走行距離]に[今日の走行距離]
を加えた値を表示できないでしょうか。

Aベストアンサー

テーブルは[日付]、[今日の走行距離]だけをフィールドとして持ちます。そして名前はtbl1とします。
下のクエリーを使いえば、ご希望の結果になると思います。

SELECT T.日付, T.今日の走行距離, Sum(S.今日の走行距離) AS 総走行距離
FROM tbl1 AS T, tbl1 AS S
WHERE T.日付>=S.日付
GROUP BY T.日付, T.今日の走行距離
ORDER BY T.日付;

ただしテーブルに同じ日付のレコードが出てこない事が条件です。
なおデーターベースには一般にひとつ前のレコードという概念は無いので、この様な処理は表計算ソフト向きの様な気がします。

Qレコードの買取価格

レコードの買い取ってもらう金額ですが、お店によって違うようです。
プレミアのついたレコードは50円で引き取ると言う店もあれば20000円で引き取ると言う店もあるそうです。
私のもっているレコードの中にプレミア品があるかどうかもわかりません。
プレミア価格(買い取り価格)はお店で聞くしかないのでしょうか?
それともインターネット等で調べる方法はあるのでしょうか?
もし知っていたら教えてくださいね!

Aベストアンサー

中古レコードやCDを専門に扱っている店でも、ばらつきがありますが、最近はやりの中古本などと一緒に扱っている店などは、特に安いですね。リサイクルショップ系の店は、ほとんど専門知識がないので、ただ同然でしょう。そこで、ネットオークションで検索にかけてみることをお勧めします。ヤフーのオークションでは、商品数が多いので、こんなアーティストのCDはないだろうと思うようなものでも、けっこう見つかります。もし、あなたが所有しているレコードが見つかったら、どれくらいの金額で出ているのかわかるでしょう。それをウォッチリストに登録しておけば、最終的にどのくらいの金額で落札されたかがわかるはずです。私がよく使う東京都内の中古買取店は、おそらく買取価格は一番だと思われますが、そうした店でさえ、買取金額はおさえられるはずです。たとえば、2万の値段がつくようなレコードは、買取金額は半額くらいになるでしょう。ですから、より高く売ろうと思ったら、オークションを利用するのが一番だと思います。

QAccessのクエリーで合計を出したい

WinXPでAccess97を使用しています。

数値型のフィールドで、名前が「1」「2」・・・「50」とついてます。これをクエリーで、それぞれのフィールドの値を合計する演算フィールド「合計」を作成したいと思います。
「合計:[1]+[2]+・・・[50]」でもいいのですが、式が長くなります。ForNext文などVBAのループを使ってモジュールに記述して、合計を出す方法はありますか?

Aベストアンサー

Public Function GetFieldsTotal(ByRef strTblName As String) As Long
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Dim rs As DAO.Recordset
Dim strSql As String
Dim i As Long

On Error Goto ErrLine

Set db = CurrentDb()
Set tbl = db.TableDefs(strTblName)
strSql = "SELECT "

With tbl
For i = 0 To .Fields.Count
strSql = strSql & "[" & .Fields(i).Name & "] + "
Next i
End With

strSql = Left$(strSql, Len(strSql) - 3)
strSql = strSql & " As Total"
strSql = strSql & " FROM " & strTblName
strSql = strSql & " WHERE ........"

Set rs = db.OpenRecordset(strSql, dbOpenSnapshot)
GetFieldsTotal = rs.Fields(0).Value
rs.Close
db.Close

ExitLine:

Set rs = Nothing
Set tbl = Nothing
Set db = Nothing
Exit Function

ErrLine:

'例外発生時の戻り値は再考されたい。
GetFieldsTotal = -1
Resume ExitLine

End Function


例えば、↑こんな風にでもすれば、一応合計は求まる理屈ですが、性能が向上する訳ではないので、抜本的な解決にはなりません。
やはり、テーブル設計を見直すのがスジかと。



# [ ]で括らないと使えない識別子を使ってる時点でDQ(略)と思われ。
 

Public Function GetFieldsTotal(ByRef strTblName As String) As Long
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Dim rs As DAO.Recordset
Dim strSql As String
Dim i As Long

On Error Goto ErrLine

Set db = CurrentDb()
Set tbl = db.TableDefs(strTblName)
strSql = "SELECT "

With tbl
For i = 0 To .Fields.Count
strSql = strSql & "[" & .Fields(i).Name & "] + "
Next i
...続きを読む

Q京都市内でレコード買い取りしてくれる店

お世話になります。
京都市内でレコードを買い取りしてくれる
店を探しています。
買い取りと言っても、お金にしたいわけではないので
引き取りをしてくれるだけでもかまわないのですが・・。
今時、何を捨てるにしてもお金のいる時代ですからね(^_^;)

京都市内で心当たりがなければ、近畿圏、もしくは
国内で郵送で買い取りを受付してくれる店の情報
でも結構です。
よろしくお願い致します。

Aベストアンサー

京都市左京区の東山二条の北行きバス停留所前に
古いですが「太陽」と言う名前のお店があります。
ただ、営業時間が確か昼過ぎからという難点がありますが、結構京都では古くて有名なお店です。
お店の扉にはハート型のレコードがデコレーションしてあります。

お店名:太陽中古レコード専門店
電話番号:075-771-7475
住所:京都市左京区岡崎徳成町10
最寄りのバス停:「東山二条」
地下鉄東西線「東山駅」からでも徒歩10分程度。
こちらは出張可能か、電話のみのお問い合わせになります。

あともう1軒は「ジェットセット」
地下鉄東西線「京都市役所前駅」から徒歩2分程度。
こちらはHPのURLを書いておきます。
100枚以上の大量処分の場合は送料着払いでの買い取りもしてくれます、(300枚以上なら出張だそうです)

参考URL:http://www.jetsetrecords.net

Qクエリーで残高を各行ごとに表示したいのですが?

会計プログラムをAccess2002で苦戦しながら作っています。
収入・支出から残高をクエリーで表示したいのです。合計は出るのですが
各行ごとに表示する計算式ができません。Accessでむりなら
せめてExcelに出力して残高を表示したいのですが?
ギブアップしてます。どなたか助けてください、お願いします。

Aベストアンサー

クエリのデザイングリッドの空いている「フィールド:」に次の式を書いてください。
残高:[収入]-[支出]
これだけで、各行に残高を表示できます。
日本語以外はもちろん直接入力が基本です。

Qこのレコードの詳細を教えてください。

先日祖母から貰った珍しい物です。
写真の木箱がおそらくパッケージで、中身は古いレコードとなります。

木箱には
逆読みで 国民健康?操
     レコード?
     東洋金属工業株式?社

中のレコード中央ラベル(白背景文字ゴールド)には

Columbia オモテ ラジオ体操 其一 
     ウラ ラジオ体操 其二

江木 理一

この江木 理一という方のラジオ体操レコードは検索すると幾つか出てくるのですが、
この様に厳重に木箱で保管された状態の画像はありませんでした。

趣があり大変気に入ってるため、買い取りなどに出すつもりはありませんが、
価値があるのかどうか大変気になる次第でございます。

ちなみにオークファンなどには箱付きでは存在しませんでした。

回答者さまの見解をお聞かせ願えたらと思います。

Aベストアンサー

「国民健康体操」は戦前のラジオ体操の正式な名称。
東洋金属株式?社の?は「会」の旧字体「會」ではなかろうか?
 江木理一は戦前のラジオ体操の指導者とと言うか、かけ声を掛けていた人。
 上下白の体操服に白い帽子を被って、体型は太っちょで顔にデカイ鼻ヒゲがあった。真っ白な出で立ちのマリオみたいな感じの人。

 当時はテープレコーダーが無かったので、東洋金属株式会社で始業前の体操をするのに、毎回レコードをかけていたのでは?箱はレコードの付属品と言うより、当時貴重品&壊れやすい物だったので保存用に箱を作ったのでは?

QACCESSのクエリーで元のデータベースにレコードほ追加したい

クエリーで作成したデータベースに、違ったクエリーを使い、そのデータベースにレコードを追加して行きたいのですが、どうすればよいのか手順をご教授お願いします。 ここだけが出来ないので困っています。 宜しくお願いします。

Aベストアンサー

>クエリーで作成したデータベース
これは仮想のもので、クリックするごとに毎回作り直されます。
だからデータベース(テーブルとはいえないことははっきりしている)と言えるかどうか、疑問があります。
>違ったクエリーを使い
選択クエリですか。はじめとどのように違った条件なんでしょうか。
たとえば、はじめは東京在住の人、次は千葉県に在住の人、これらを合わせて、テーブルを作るのでしょうか。フィールドの数や内容は両者で同じですか。
それ(同じ)なら条件をOR条件にすればよい。
東京の人のテーブル、千葉の人のテーブルが出来上がっていて、両者を合体させたいのでしょうか。
●クエリは簡単にテーブル化できるのをご存知ですか。
>クエリーでテーブルを作成するのですね、に対し「できる」のであって
必ずするものではない。
テーブルは入力やインポートでできるのが普通で、クエリで必ず作るものでは
ない。
●追加クエリというのがあるので、本で調べてください。
http://www.mahoutsukaino.com/ac/ac2000/ac2000/actionq/action02.htm
●ユニオンクエリというのもあります
http://www.nurs.or.jp/~ppoy/access/access/acQ008.html
>余り、ほとんどACCESSを知らないもので・
このため質問の真意が伝わりにくい。
むしろ「したいこと」を、できるだけさらけ出して、自分のやっている方法は控えめにして、質問したほうが、よい助言がもらえるでしょう。変に知ってる方法を質問の中に混ぜるより、この方法をお勧めします。

>クエリーで作成したデータベース
これは仮想のもので、クリックするごとに毎回作り直されます。
だからデータベース(テーブルとはいえないことははっきりしている)と言えるかどうか、疑問があります。
>違ったクエリーを使い
選択クエリですか。はじめとどのように違った条件なんでしょうか。
たとえば、はじめは東京在住の人、次は千葉県に在住の人、これらを合わせて、テーブルを作るのでしょうか。フィールドの数や内容は両者で同じですか。
それ(同じ)なら条件をOR条件にすればよい。
東京の人...続きを読む

Qレコードの買取について

明日中古のレコードを売りに行こうと思います。
買い取り価格なんですが、
どこでも似たようなもんなんですかね?
ジャンルはオールジャンルだし
国内海外いろいろです。
だとしたらやっぱ、一気に済むように
ディスクユニ**あたりがいいですかね?
東京周辺で買い取り価格のいい
お勧めのショップとかあったら教えてください!!

Aベストアンサー

私は買取を何度も経験している都内在住の者ですけど、あなたが挙げた店でよいと思います。ほかにもいっぱい買い取り店はありますが、ディスクUが平均的に高い買取をしてくれるはずです。ただし、人気のないもの、日本のアイドル歌手全般、ポップスなどは、いくら盤質がよくても、100円以下の場合も多いです。ディスクUは、もともと輸入盤専門店だったので、国内のものよりも海外アーティストの方が高く売れます。70~80年代のロックなどは、平均して300~700円くらいでしょうか。当時貴重だったような名盤で1000~1500円くらい。本当にレアなもので数千円。一般的には、500円前後と見た方がいいです。500円という金額はかなりいい方ですね。他店の場合だと、さらに評価は下がるので、50~100円は当たり前です。買い取り額をあまり期待しない方がいいでしょう。

Q削除クエリー”更新可能なクエリーでなければなりせん”のエラー

アクセス97(W2000)
削除クエリーを実行すると、上記のようなエラーメッセージが出てきます。
行ったのは、下記のような内容です。

テーブルA:品種・商品コード
テーブルB:購入月・商品コード・単価

この2つのデーブルを、商品コードで結合します。
そして、選択クエリーで、
”購入月・品種・商品コード・単価” を表示させます。
その後、品種で”R”を設定し、抽出します。

ここまでは、抽出も出来、後は、テーブルBから”品種R”だけ、
つまり、選択した内容を削除したく、選択クエリーを削除クエリーに変更し、
実行したところ、上記のエラーが発生いたしました。

削除するテーブルを指定する、サブクエリーを使用する、
など、このままではいけない、というのはわかったのですが、
具体的な方法が、よくわかりません。

今の自分の実力では、かなりの勉強不足、と思いますが、
なにがしかのアドバイスを頂ければと、思っております。
お手数ですが、どなたか、よろしくお願い申し上げます。

Aベストアンサー

テーブルの構造からして、テーブルAには同じ商品コードを持つレコードは1件のみで
テーブルBは同じ商品コードをもつレコードが複数件存在すると思われます

この2つのテーブルを商品コードで結合すると
テーブルAとテーブルBのレコードが 1:多 の形で
繋がることになります。

 テーブルA        テーブルB
品種 商品コード   購入月 商品コード 単価
R   ABC       10    ABC    100
              11    ABC    150
         ↓
購入月 品種 商品コード 単価
10    R    ABC    100
11    R    ABC    150

※テーブルBの複数件のレコードに対して、テーブルAは
 同じ1件のレコードの内容が同時に使われている

こうした 1:多 の形のクエリは「更新不可能なクエリ」になります。
(上記の例で、11月のレコードだけ消そうとしても
テーブルAのデータは10月のレコードの方にも使われているため消す事はできない
といった不整合が発生するため、更新不可とみなされる)

サブクエリを使った形にするためには
テーブルの結合は行わず、テーブルBのみを指定した削除クエリとし
商品コードの抽出条件の部分に

IN(SELECT 商品コード FROM テーブルA WHERE 品種 = "R")

という式を埋め込んでみてください。

これならば
「テーブルAから 品種 = R の商品コードを抽出し
 テーブルBの商品コードがそれと一致するレコードを削除する」
という意味のクエリになります。

SQLビューで書くならば

DELETE FROM テーブルB
WHERE 商品コード IN(SELECT 商品コード FROM テーブルA WHERE 品種 = "R")

という形になります。

テーブルの構造からして、テーブルAには同じ商品コードを持つレコードは1件のみで
テーブルBは同じ商品コードをもつレコードが複数件存在すると思われます

この2つのテーブルを商品コードで結合すると
テーブルAとテーブルBのレコードが 1:多 の形で
繋がることになります。

 テーブルA        テーブルB
品種 商品コード   購入月 商品コード 単価
R   ABC       10    ABC    100
              11    ABC    150
       ...続きを読む


人気Q&Aランキング