• 締切済み

教えて!アクセス2007!/Access2007・期日指定で表示させる

piroin654の回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

訂正です。 >説明の通りSQLにコピーして貼り付けてみるのですが >うまくいきません の原因だと思いますが、#4において、 ############################ 名前を Q期日指定 とします。 SELECT T日付.納品日 FROM T日付 WHERE (((Format(CDate(Format([日付],"@@@@\/@@\/@@")),"gee\年mm\月dd\日")) Between [Forms]![F検索]![tx開始日] And [Forms]![F検索]![tx終了日])); ############################ としていましたが、中の[日付]を[納品日]にするのを 忘れていました。したがって、 SELECT T日付.納品日 FROM T日付 WHERE (((Format(CDate(Format([納品日],"@@@@\/@@\/@@")),"gee\年mm\月dd\日")) Between [Forms]![F検索]![tx開始日] And [Forms]![F検索]![tx終了日])); が正しいです。確認しておいてください。 これで動作すると思います。 フォームで表示したい、ということなので設定の手順を 述べます。 (1) クエリの作成 Q期日指定と同じ内容ですが、フォームの名前を 変えておきます。 SELECT T日付.納品日 FROM T日付 WHERE (((Format(CDate(Format([納品日],"@@@@\/@@\/@@")),"gee\年mm\月dd\日")) Between "H20年01月01日" And "H20年01月01日")); これで新規にクエリを作り、名前を「Q期日検索」としてください。 (2) フォームの作成 フォームの新規作成から、「オートフォーム表形式」を 選択し、「基になるテーブルまたはクエリの選択」で 「Q期日検索」を選択し、出来たフォームの名前を 「F期日検索」として保存してください。パラメータが 表示されますが (3) フォームの調整1 出来たフォームをデザインビューで開き、詳細のところに カーソルを当て、十字になったらクリックして下に3cmくらい 押し下げてください。ついでにラベルも下に移動させてください。 フォームの幅は適度に広くしておいてください。 空いたところに、テキストボックスを二つ、ボタンを 二つ設定してください。 テキストボックスの名前はそれぞれ、 「tx開始日」と「tx終了日」 にしてください。 それぞれのテキストボックスの定型入力に L99\年99\月99\日;;_ を貼り付けてください。 (4) フォームの調整2 二つのボタンの名前をそれぞれ、 「cmd抽出」と「cmd解除」 にしてください。 フォームのコード表を開き、以下を貼り付け 保存してください。 Private Sub cmd解除_Click() Me.RecordSource = "SELECT * FROM T日付 WHERE (((Format(CDate(Format([納品日],'@@@@\/@@\/@@')),'gee\年mm\月dd\日')) Between 'H20年01月01日' And 'H20年01月01日'))" End Sub Private Sub cmd抽出_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) Me.RecordSource = "SELECT * FROM T日付 WHERE (納品日 Between '" & Me!tx開始日 & "' AND '" & Me!tx終了日 & "')" End Sub (5) フォームの調整3 フォームのレコードソースのところに Q期日検索 と表示されていますが、これを消して、 改めて、(1) クエリの作成 のところにある「Q期日検索」のSQL文を コピーして貼り付けてください。 これにより、「Q期日検索」はいらなくなるので 削除してもかまいません。 以上で設定終了です。フォームを開いたときに はフォームのコントロールソースで Between 'H20年01月01日' And 'H20年01月01日' としているように特定の日を表示するように しておき、フォームにすべてのデータを表示 しないようにしておきます。選択したときに 選択したデータが表示されます。 cmd解除を押すと開いたときと同じになります。 もし、H20年01月01日の日付がテーブルに なければ何も表示されません。

107ravu
質問者

補足

いつもありがとうございます。 返事遅くなって申し訳ありません ずっとアドバイス通り、がエラーメッセージが次のようにでます 「式が正しく入力されてないか、数式に複雑な要素が多すぎます。 式を簡単にしてください」 色々してみるのですがうまくいきませんでした。 他に方法はあるのでしょうか?

関連するQ&A

  • ACCESS 日付表示で00月を使用する

    日付の表示を昭和61年00月と表示する場合があるのですが データ型 日付/時刻 のフィールド書式プロパティに ggge\年m\月と指定すると00月が使用できません。 00月を使用する場合、日付/時刻型では駄目なのでしょうか? 書式:ggge\年m\月 定型入力:>L99\年99\月;0;_

  • Access 期日が迫った文書を表示させたい

    いつもお世話になっています。 Accessで業務文書のデータを取り扱っています。 テーブルには「提出期日」というフィールドがあり、提出期日の日の3日前以内になったレコードを表示させるクエリを作りたいのです。 クエリに「提出期日」と今日の日付を使って、式を作ればよいと思うのですが、どのように記述すればよいかわかりません教えてください。 テーブルに今日の日付というようなフィールドはありません。 よろしくお願いします

  • 日付の表示を変えるマクロ

    閲覧ありがとうございます。 Excelのマクロに関しての質問です。 今、テキストデータから「東京都・晴れ」を含む行をExcelファイルに抽出後、そのデータを日付別にふり分けるマクロを作っています。 そこで、テキストデータの日付の表示「11/8/2009」(2009年8月11日)や「8/9/2009」(2009年9月8日)を「2009/8/11」「2009/9/8」のように、年・月・日という表示に変えたいのですが、検索しても色々試しても良いマクロが浮かびません。 よろしければ素敵なマクロ、ご教授願います。 ※ちなみに、入力規則などを指定してもテキストからデータを引っ張ってきているため(?)か上手くいきません。

  • アクセスのテキスト型フィールドの初期値

    アクセスのテーブルにテキスト型フィールド「●●日付」を作成しました。さらに、定型入力の方法として、日付(____/__/__)を指定しています。 このテーブルから、クエリでデータを取得する際、●●日付にデータを入力していないレコードのみを取得したいと思い、クエリの抽出条件として=""(ダブルクォーテーション)や=''(シングルクォーテーション)と記載したのですが、レコードが1件も抽出されません(もちろん●●日付にデータを入れていないレコードは複数あります)。一方で、<>""や<>''で、●●日付にデータが入力されているレコードを抽出しようとした場合は、●●日付にデータが入力されているレコードが抽出されます。 テキスト型フィールドにデータが入力されていないレコードを抽出するクエリはどのようにしたら作成できるのでしょうか?

  • レポートを上手く表示させたいのですが・・・Access2000

    こんにちわ。私はAccess初心者です。 業務でAccessを使用しているのですが、ご存知の方がおられましたら、 是非ご回答をよろしくお願い致します。 仕様ソフト:Access2000 【問題点】 テーブルに各種データがインポートされています。 レポートでそのテーブルに入っているデータを「月」ごとに表示・印字 できるようにしたいのですがやり方がわかりません。 例えば1月のデータのみを抽出して、レポートに表示させたい場合、 クエリで、1月のみ表示するように指定("1月")し、レポートにて ウィザードから作成すれば確かに1月だけ表示されます。 しかし、この方法では12ヶ月分のクエリとレポートを作成しなければ ならず、効率が非常に悪くて困ってます。 一覧で月を選択すれば自動的に指定月のレポートが表示されるような 方法をご教授下さい。 初心者的な質問で申し訳ございませんが、どうぞよろしくお願い致します。

  • 初心者用、日付検索でデータを抽出

    初心者用、日付検索でデータを抽出 いろいろWEBを検索してやり方を探しましたがあまりに初心者過ぎて試しても うまく動きません、 やりたいことは、 アクセス 2007を使用して下記のようなクエリから Qデータ (クエリ) 入力日 日付型 あああ テキスト型 いいい テキスト型 ううう テキスト型 開始日 日付型 終了日 日付型 終了日を入力して、(例2010年3月10日から2010年3月20日)までの あああ、いいい、うううの結果を抽出したいです、フォームを使って 一番簡単にできそうなやり方教えてください。 ・ACCESS簡単な使用法、accessクラブ、アクセス初心者入門などなど  見つくしましたが、理解できずで困っています。 どうぞ、よろしくお願いいたします。

  • アクセス2000で、あるテキストボックスだけ表示を変えるには?

    こんにちは。 Access2000を使っているのですが、あるテキストボックスの日付表示を 、通常“08/09/09"と表示されているものを“平成20年09月09日”と 表示させたいのですが、書式の所では「日付(S)」とか「日付(L)」と かの選択はあるものの、上記のような和暦に変える事ができません。 方法はございますでしょうか?

  • ACCESS期間抽出について

    ACCESS2002で請求書を作っています。 売り上げデータから2005年3月1日~2005年3月31日までを抽出して請求書を印刷したところ、3月4日~9日だけ抽出できませんでした。 そのデータを3月3日や10日に訂正すると抽出されるのです。 請求書印刷フォームに、開始年、月、日と終了年、月、日というテキストボックスを作って抽出して、レポートに印刷するようにしています。 クエリーで、年月: Year([日付]) & Month([日付]) & Day([日付])という項目で次のように抽出条件を入れています。 Between [Forms]![F-請求書印刷]![年] & [Forms]![F-請求書印刷]![月] & [Forms]![F-請求書印刷]![日] And [Forms]![F-請求書印刷]![年終] & [Forms]![F-請求書印刷]![月終] & [Forms]![F-請求書印刷]![日終] 開始日と終了日だけのテキストボックスにしないで、年、月、日と分けているのは、レポートでそれぞれ値の代入で使用するためです。 3日から9日だけ出ないという原因がわからないので、教えていただけませんでしょうか? よろしくお願いいたします。

  • Accessの日付で不思議なことが

    Access2003で見積書を作るシステムを作りました。日々、見積書発行し月末に各物件の見積一覧表を作ります。個々の見積データにある、見積日付を範囲指定して、データを抽出します。 その方法としてフォーム上に二つのテキストボックスを配置し、それぞれに「自見積日付」、「至見積日付」という名前をつけ、一覧表印刷クエリーの中の見積日付の抽出条件にBetweenで「自見積日付」~「至見積日付」ををいれ抽出します。これをレポートで見積一覧表を印刷します。この方法で日付が2006年12月31日までは問題なく出来ましたが、日付が2007年1月1日以降になると抽出できなくなってしまいました。 もちろん2007年1月1日以降のデータは存在します。 原因がまったく分りません。どなたか分る方はいませんか。よろしくお願いします。(質問の書き方が苦手で分りにくくて申し訳ありません)

  • Accessで、Today関数を使って条件を指定する

    いつもお世話になっております。 Accessで、Today関数を使った条件式を指定したいのですが、うまくいきません。どうすればよいでしょうか? やりたいことは以下の2点です。 (1)「期日」フィールドがあり、日付が入っています。そこで、「Today」から「期日」を引いて、プラスになるもの。つまり、期日が過ぎているものを抽出したい。 (2)「期日」から「Today」を引き、0~3になるもの。つまり、期日当日~3日前のものを抽出したい。 です。 よろしくお願いします。m(_ _)m