Accessでの計算方法と挫折からの救い
- Access2002での計算方法について質問です。クエリに式のフィールドを追加する際、前のレコードの値を引き算する方法を教えてください。
- レコードの番号、日付、入金額から経過日数を求める例を挙げました。Aは0日、Bは10日、Cは4日、Dは5日となります。
- Accessは難しいと感じて挫折しかけている状況です。助けをいただけると幸いです。
- ベストアンサー
Accessでの計算
Access2002の質問です。 クエリに式のフィールドを追加して、そこで計算をさす場合、一つ前のレコードの値から引き算をするには、どうしたらいいのでしょう。 例えば次のような前回の入金日から今回の入金日までに要した 日数を求める場合です。 レコードの番号 フィールド フィールド フィールド(式) ↓ ↓ ↓ ↓ 日付 入金額 経過日数 1 2002/03/01 1000 A 2 2002/03/11 2000 B 3 2002/03/15 1500 C 4 2002/03/20 3000 D A.B.C.Dを求めたいのです。 Aは当然0日です Bはレコード番号1からレコード番号2に要した日数です(10日) Cはレコード番号2からレコード番号3に要した日数です(4日) Dはレコード番号3からレコード番号4に要した日数です(5日) Accessに挑戦して孤軍奮闘しています。 でも難しくわからない点が多くて挫折しかけています。 どうかお助けください。
- siba10
- お礼率66% (800/1201)
- オフィス系ソフト
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
元のテーブルがフィールド名として、レコード番号、日付、入金額を持ち、テーブル名はtbl1として、以下で良いと思います。 SELECT T.レコード番号, Max(T.日付) AS 日付, Max(T.入金額) AS 入金額, Max(T.日付-S.日付) AS 経過日数 FROM tbl1 AS T, tbl1 AS S WHERE (((T.レコード番号-1)=S.レコード番号)) or ((T.レコード番号=S.レコード番号)) GROUP BY T.レコード番号;
関連するQ&A
- Microsoft Access2003での印刷
使用するAccess ( 2003 ) 下記のようなCSVがあります。 Field_A ,Field_B ,Field_C ,Field_D 1レコード目: A ,B , , 2レコード目: A , ,C , 3レコード目: A , ,C , 4レコード目: A , , ,D 5レコード目: A , , ,D 6レコード目: A , , ,D 7レコード目: A , , ,D Field_A は必ず埋まっていて、Field_Bは最初の1レコード目だけ。 Field_CとField_Dはレコードは可変で、Cが終了したらDになります。 この構成は他所から貰ってるだけなので、こちらでは変更したりできません。 この状態でMicrosoft Access を用いて下記のような印刷フォームを作成することは、可能でしょうか? Access 自体は使用した事はありますが、複雑なフォームを作成した事はありません。 色々事例を調べてセクションという機能がある事は分かりました。 ------------------------------------- | | A | | B | | C | C | 行が続くかぎり | | D | D | 行が続くかぎり | | | | 締めの文言 ------------------------------------- 改頁したらAは必ず出力して続きから ------------------------------------- | | A | | D | 行が続くかぎり | | | | 締めの文言 ------------------------------------- 質問したい事 1、Accessで、このような事は可能でしょうか? 2、可能な場合、セクションを上手く活用するのでしょうか、 それとも、何か異なる機能を使用するのでしょうか 比較的簡単に実現できる方を教えて頂きたいです。 3、Accessでは難しい場合、なにか印刷できるようなソフトをご存知でしょうか? excelやwordの差込印刷では、無理かと思いました。
- ベストアンサー
- その他(データベース)
- ACCESS フィールドをまとめたい
ACCESS2007で同じレコードにある複数のフィールドを レコード1:番号A 名前A 番号B 名前C 番号C 名前C レコード2:番号A 名前A 番号B 名前C 番号C 名前C こんな感じに、新規のテーブルやクエリーで「番号」と「名前」にまとめたいのですが レコード1:番号A 名前A レコード2:番号B 名前B レコード3:番号C 名前C レコード4:番号A 名前A レコード5:番号B 名前B レコード6:番号C 名前C お手数ですがご教示ください。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- ACCESS サブフォームのフィールドにカーソルをあてる
ACCESS2003で、VBAで簡単なプログラムを作っています。 <やっていること> ・フォームAからフォームBを開きます。 ・そのときにフォームAの番号と一致するデータをフォームBに表示します。 ・フォームBにはサブフォームCが埋め込んでいます。 このサブフォームCの中のフィールドDにカーソルが入っているようにしたいのですが、 Forms!サブフォームC!フィールドD.setfocus としたら、「カレントレコードには、フィールドDという名前のフィールドはありません」というエラーがでます。 フィールドDというフィールドは存在しています。 このような場合、どのように記述するのがよろしいのでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスのフォームでのレコード移動ができません。
アクセスのフォームでのレコード移動ができません。A(管理番号)B(会社ID)C(部品ID)D(担当者ID)のフィールドがあるのですが、A~Dの全てに入力した場合はレコード移動ができます。でもCとDを空欄にしたままでは移動できません。リレーションシップをCとDともはずしても変わりませんでした。どこがおかしいのか良きアドバイスをよろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- ACCESS 以下のように変更するSQL式を教えて
Microsoft Accessで以下のように変更するSQL式を教えてください。 (Windows10 , Access2016) 以下のようにテーブル(TABLE1)には、 A,B,Cの3つのフィールドがあり Aには番号が入っています。重複した番号もあります。 Bには0~9までのいずれか1つの数字が入っています。 Cにはa,b,cのいずれか1つの文字が入っています。 Aの各値に対してBの値が0のレコードは1個だけです。 (例)TABLE1 A B C 1 0 a 1 9 b 1 2 c 2 1 b 2 3 a 2 0 c 2 7 c 3 1 a 3 0 b : : : 999 0 a : : : このようなテーブル(TABLE1)に対して、 Aの各値毎に、 Bの値が0以外のレコードのCの値を Bの値が0のレコードのCの値に変更する SQL式 (ACCESSのクエリデザインのSQLレビューのSELECT;の所に入力する UPDATE TABLE1 SET C=…;のような式) を教えてください。 (例) 変更後のTABLE1 A B C 1 0 a 1 9 a 1 2 a 2 1 c 2 3 c 2 0 c 2 7 c 3 1 b 3 0 b : : : 999 0 a : : :
- ベストアンサー
- Access(アクセス)
- Accessで2つのテーブルのデータの整合性を確認したい
Accessで2つのテーブルのデータの整合性を確認したいのですが、よい方法を教えていただけませんか? 状況は以下のとおりです。 Aテーブル a b c d e 1 111 222 333 444 555 2 666 777 888 999 100 3 110 112 113 114 115 Bテーブル a b c d e 1 111 222 333 444 555 2 666 777 000 999 100 3 110 112 300 400 500 ・AテーブルとBテーブルがあり、それぞれのテーブルのa、b、dフィールドのみを対象に、その値がAテーブルとBテーブルとで等しいかどうか調べたい。 (c、eフィールドの値が異なっていても、a、b、dフィールドの値が同じであればそのレコードはOKとし、a、b、dフィールドで1つでも異なる値があればNGとし、抽出したい。 例えば、Bテーブルの1、2レコードはOKだが、3レコードはNG) ・それぞれのテーブルのaフィールドが主キーになっている。 うまく説明できず、わかりにくいかもしれませんが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Access2002について
Access2002で次のようなデータがあり、 フィールドA |フィールドB | フィールドC -------------------------------------------- 123 | 234 | 456 | 123 | (1) 789 | 123 | (1) フィールドBのデータが、フィールドAのデータの中に存在している時は、フィールドCに(1)と表示させる。 ・・・という処理をしたいのですが、どんな方法でやったらいいのでしょうか?レコード数は50万程あります。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Accessで経過日数を求める関数を教えていただけないでしょうか。
アクセスで経過日数を求めたいのですが、次のような場合はどのような式を組めばよいのでしょうか? フィールド: 請求日 支払日 支払確認日 新たに設ける関数式フィールド:経過日数 請求日から20日過ぎて、なおかつ支払確定日が空白のレコードを「経過日数」フィールドに経過日数の数値で返したい。 どなたかおわかりになる方がいらっしゃいましたら、教えていただけないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- アクセスで同一番号は1件と数える
アクセスを使って、入金データを作ってます。 フィールド → 入金日(半年分)、金額、伝票番号 月別の 金額と件数を纏めたいのですが、伝票番号フィールドに 同じ番号があった場合、それを一件と数えたいのです どのような式を組めばいいのか、教えていただきたく アクセス初心者です よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスの更新クエリの質問です。
ちなみにAccess2007を使用しています。 A,B,C,Dというフィールドが有り、AフィールドにはCodeが入っています。 Bフィールドには"bb"という言葉、Cフィールドには"cc"という言葉にそれぞれ書き換え、Aフィールドには、今から更新する1レコードを抽出するため、更新クエリ実行時に、パラメーターを入力するように設定しました。 しかし、更新するレコードは、全45000件中、6000件くらいあり、いちいちコードを入れるのが大変です。 もともと、書き換えるためのコードリストがエクセルデータとして有り、Accessにインポートすれば、コードリストをAccessのテーブルにする事も出来ます。このテーブルを使って簡単に、書き換えることは出来ないものなのでしょうか?
- ベストアンサー
- その他MS Office製品
お礼
ご回答のお礼が大変遅くなり申しわけありません。 ご指示の通り記述すると出来ましたが、今の私の知識では理解できないので一生懸命勉強します。