電子書籍の厳選無料作品が豊富!

現在、システム開発の勉強中です。
タグコントロールを用いて、請求データを月ごとに抽出できるようにしたいのですが、サブフォームのソースオブジェクトである抽出クエリの年月日フィールドとは別に抽出月:Month([年月日])のフィールドを設け抽出条件に
[Forms]![請求データ照会F].[抽出条件lbl].[Caption]
とし、請求データのフォーム上に可視しないラベルを作り、そのラベルがタグをクリックしたときのイベントで返される値を受け取り、抽出に反映させるというプログラムを作りました。
以下、タブをクリックしたときのプログラミングです。

Private Sub 月別タブ_Change()
 Select Case Me!月別タブ
  Case 0: Me!抽出条件lbl.Caption = 1
  Case 1: Me!抽出条件lbl.Caption = 2
  Case 2: Me!抽出条件lbl.Caption = 3
         省略
  Case 11: Me!抽出条件lbl.Caption = 12
  Case 12: Me!抽出条件lbl.Caption = ???
 End Select
  Me!請求データSubF.Requery
End Sub

とりあえず、このプログラミングでやりたかったことは実行できたのですが、Case 12は請求データ全て表示にしたいのですが、どうすれば全レコード表示になるかが判りません。
説明がわかりづらかったら申し訳ありません。
アドバイスをいただけると幸いです。宜しくお願いいたします。

A 回答 (1件)

Private Sub 月別タブ_Click()


  Me.抽出条件.Caption = Me.月別タブ.SelectedItem
  Me!請求データ.Requery
End Sub

月別タブに、1、2、・・・・、11、12、* としておけば、これだけでOKです。
もちろん、Select Case 文で Me.月別タブ.SelectedItem と同じ文字列を生成しても構いません。

Case 12: Me!抽出条件.Caption = "*"

SELECT Test.ID, Test.請求日, Test.請求金額, Month([請求日]) AS 請求月, * FROM Test
WHERE Month([請求日]) Like Forms!フォーム1!抽出条件.caption;

この回答への補足

>Me.抽出条件.Caption = Me.月別タブ.SelectedItem
とありますが、「SelectedItemのデータメソッドがありません」といったような内容のエラーメッセージが出るため、この方法は使えませんでした。ちなみにAccess2000なのですが、関係あるのでしょうか?
Husky2007さんの回答プログラミングは感覚として意味は伝わったので、こんなにスッキリしたプログラムに出来る可能性は見えました☆
>もちろん、Select Case 文で Me.月別タブ.SelectedItem と同じ文字列を生成しても構いません。
ということで、質問文で???の部分を"*"としましたが、反応なしです。
何か抜けているのでしょうか?

>月別タブに、1、2、・・・・、11、12、* としておけば、これだけでOKです。
とありますが、月別タブの何を上記のようにしておくのでしょうか?標題?名前?それ以外??

とんちんかんな事を言っていたら申し訳ありません。
データベースプログラミングの参考例題を元に、独学で練習中の為、要領を得ていません^^;

お時間あるときで構いませんので補足をお願いいたします。

補足日時:2007/05/01 16:12
    • good
    • 0

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