dポイントプレゼントキャンペーン実施中!

Access2003を3日前に初めて個人情報を管理するデータを作成しているのですが、
日付を2003/12/01と入力したら次の欄に自動的に2004/11/30と一年後の日付を出力するにはどうすればよいでしょうか?
あとフォームでレコードを検索し、表示されたレコードのページ(1ページ)のみを印刷したいのですが、
フォームに印刷タブを作成しクリックするとレポートで作成した印刷プレビューにとぶまでは作成できたのですが、
レコードに入力したデータ前ページすべてが印刷されてしまいます。
選択したレコードのみを印刷するにはどうすればいいでしょうか?
始めたばかりの初心者でくだらない質問かもしれませんが、どなたかご教授お願いします。

A 回答 (2件)

>日付を2003/12/01と入力したら次の欄に自動的に2004/11/30と一年後の日付を出力するにはどうすればよいでしょうか?



VBAを使います。
日付の入力後のイベントで(AfterUpdateあたりで)
次項目に一年後の一日前の日付をセットする命令を入れてあげます。

日付の計算はDateAdd関数です。
あとは調べてみて下さい。

>選択したレコードのみを印刷するにはどうすればいいでしょうか?

プレビューするボタンはウイザードで作っていると仮定します。
ボタンのクリックイベントに

stDocName = "レポート名"
DoCmd.OpenReport stDocName, acPreview

こんな感じで書かれていますね。

この「DoCmd.OpenReport stDocName, acPreview」のところに抽出条件が付けられます。

DoCmd.OpenReport stDocName, acPreview,,"キー項目 = 'キーの値'"

こんな感じです。
いろいろ実験してみて下さい。
    • good
    • 0

>3日前に初めて個人情報を管理するデータを作成しているのですが


データベースを始めたばかりの人がはまる落とし穴にきちんとはまっていますよ
データベースのテーブルには他のフィールドの値から演算で求まるようなものは格納しません

>一年後の日付
は計算で簡単に求まるものですから、テーブルに入れてはいけません

>選択したレコードのみを印刷するにはどうすればいいでしょうか?
レポートのソースをフォーム上のカレントレコードだけに絞る抽出条件を書いたクエリにします

抽出条件

=Forms!フォーム名!主キーフィールド名

データベースで重要なのはテーブル、次いでクエリです
フォームやレポートはインタフェースに過ぎません
まず、テーブルやクエリについて勉強しましょう
    • good
    • 0

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