• ベストアンサー

access2000 フォーム上での期間指定

Access2000超初心者です。 お願い致します。 フォーム上で日付の期間指定をし、担当者の名前を入力するとその担当者の項目(メインテーブルに保存している何月何日の交通費やガソリン費)を抽出できるようにし、レコードをクリックすると詳細(サブテーブルに保存しているその日の行動)を抽出したいのですが、まず何からしたらいいのか見当がつきません。 説明がわかりにくいとは思いますが何卒宜しくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.3

次のコードは名簿テーブルから誕生会の対象者リストを作成する処理です。 参考にして下さい。 DoCmd.OpenReport "誕生会名簿", acViewPreview, , "[生年月日] >=" [開始日] and "[生年月日]<=" [終了日]

fine_coffee
質問者

お礼

shinkami様 回答ありがとうございます。 クエリからの抽出でできました。

その他の回答 (2)

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

フォームには 1.期間の始まりの年月日 2.期間の終わりの年月日(または1の日から1年、6ヶ月、1月指定とかもある。これも質問にはっきりして無い) 3。担当者名 4.交通費やガソリン費の別--その都度変わるのか固定か?この点はっきりしない。固定か? ゛が必要なのかな。 >レコードをクリックすると詳細(サブテーブルに保存しているその日の行動)を抽出したいのですが これは初心者には難しいと思うので、第2段階として次に学習してはどうかな。 テーブルのテの字も質問異で無い。そんな状態では準備不足かと。 サブフォームは見て知っているのだろうが、サブテーブルというのは? 概念上の問題で、関連付けで解決する問題では。 http://office.microsoft.com/ja-jp/access-help/HP005236216.aspx とか  学習では上級な分野なので、解説書の当該項目でも読んで構想を固めてはどうですか。 ーー クエリでまず A.。使用日フィールドに対し、1.2のBetweenで B.。担当者フィールドで担当者名で C。費目フィールドで費目指定で(複数をOR条件?) 抜き出して初めは表テーブル形式で結果を出して確認。 次に抽出結果をフォームへ表示方式で やってみるべきと思う。 その他は別質問に改めて質問したら。

fine_coffee
質問者

お礼

imogasi様ありがとうございます。 日報入力という一つのフォームがあります。 日付や担当者や交通費を入力するところがあり、そのデータはテーブルAに保存され、一日の行動はテーブルBに保存されます。 新フォームで何月何日~何月何日と期間を指定し、担当者を入力すると指定した期間のテーブルAの諸経費が反映されるようにし、クリックするとテーブルBからの詳細が反映できるようにしたいのです。

  • vteliang
  • ベストアンサー率23% (16/69)
回答No.1

http://www.seta.media.ryukoku.ac.jp/manual/office/access/basic/what... 顧客所有の機械に不具合が生じた場合、その修理期間に顧客へ貸出す代替機の履歴をアクセス(Access2003)を使って管理しています。 ところが、次のような時はどのような方法を取ればよいのかわからなくて煮詰まっています。 よいアドバイスをいただきたいと思い投稿をさせていただきます。 次から代替機のことは貸出機と記します。 貸出機は20台あります。 その20台を複数のユーザーに貸し出しています。 台によっては5人に貸している機械もあれば、まったく貸出したことがない機械もあります。 それを貸出機の製造番号ごとにグループにまとめて、 そのうちの貸出日がもっとも新しいものを表示させたいのです。 レコード1件につき入力順によって貸出履歴IDを振っているので、 そのIDがグループの中で最新のものでもいいのです。 要は、製造番号ごとに貸出中なのか待機中なのか一目でわかればいいのです。 集計クエリで「貸出機製造番号」をグループ化にして、他の項目は先頭を使ってみましたが、この先頭と最後という集計方法はHDに記録した順番で変動してしまうので正しい情報を得ることが出来ませんでした。 関数やVBAなどを使ったら、解決されないでしょうか? テーブルの構造は次のようになっています。 仮にテーブルAとします。 [フィールド名]・・・・・[データ型] 貸出機管理ID・・・・・・オートナンバー ユーザNO・・・・・・・・・・テキスト型 貸出機製造番号・・・・・テキスト型 故障機製造番号・・・・・テキスト型 貸出日・・・・・・・・・・・・日付/時刻型 故障機受領日・・・・・・・日付/時刻型 修理発送日・・・・・・・・日付/時刻型 修理返却日・・・・・・・・日付/時刻型 故障機発送日・・・・・・・日付/時刻型 返却日・・・・・・・・・・・・日付/時刻型 担当者ID・・・・・・・・・・テキスト型 備考・・・・・・・・・・・・・・メモ型 上記のテーブルAに別のテーブルBからユーザ名を関連付けてクエリを作りたいです。 また、貸出日に日付があり返却日に日付がなければ"貸出中"、http://b.key-chains.net/a.php?key=access2000+%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E4%B8%8A%E3%81%A7%E3%81%AE%E6%9C%9F%E9%96%93%E6%8C%87%E5%AE%9A 貸出日と返却日の両方に日付が入っている、もしくは、まったく入ってなければ"待機中”という[現状]の表示をするフィールドをそのクエリ上に設けたいです。 そして、そのクエリを使って[貸出中]と[待機中]の一覧表が欲しいです。 なお、貸出機の製造番号は次のような形式になっています。 99XVC 00XVA 01XVB 製造年の西暦の下2桁+アルファベット3桁の組み合わせになっています。 1900年代から2000年代のものが混在しており、昇順に並べ替えたいので、並べ替える式のフィールドも設けています。 <クエリ> フィールド名・・・・・・・・・テーブル 貸出機管理ID・・・・・・・・・テーブルA・・・ ユーザNO・・・・・・・・・テーブルA ユーザ名・・・・・・テーブルB 貸出機製造番号・・・・・・・・・テーブルA→製造番号毎にグループにまとめる 故障機製造番号・・・・・・・・・テーブルA 貸出日・・・・・・・・・テーブルA 故障機受領日・・・・・・・・・テーブルA 修理発送日・・・・・・・・・テーブルA 修理返却日・・・・・・・・・テーブルA 故障機発送日・・・・・・・・・テーブルA 返却日・・・・・・・・・テーブルA 担当者ID・・・・・・・・・テーブルA 備考・・・・・・・・・テーブルA 機械の現状・・・フィールドに条件式を入れる 貸出機製造番号を並替えるためのフィールド・・・並べ替えの条件式を入れる このような構造なのですが、皆様だったらどのような方法を取られますか? 製造番号毎に最新のレコードだけを表示させる所以外は問題なく解決されています。 この内容と似た質問を過去に何度か投稿させていただいています。 数名の方からいくつかの方法を教えていただき、試しているところですが、解決に至らず、より詳しい情報を載せて質問を再投稿させていただきます。 前の質問を締め切らない状態で、再投稿することは、お答えくださった回答者の方には大変、失礼なことをしており申し訳なく思います。 この場をお借りしてお詫びさせていただきます。

参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1162482216