Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1300 / 2272 ツリー ←次へ | 前へ→

【7820】フィルター検索 スターフルーツ 06/5/15(月) 14:35 質問[未読]
【7822】Re:フィルター検索 小僧 06/5/15(月) 20:32 回答[未読]

【7820】フィルター検索
質問  スターフルーツ  - 06/5/15(月) 14:35 -

引用なし
パスワード
   こんにちは。
息づまってしまったので、どなたか教えて下さい。

■テーブルの内容
テーブル名・・・T色サンプル価格
項目(フィールド)名・・・1.ID(オートナンバー型)
             2.色名
             3.一般(通貨型) 
             4.特別(通貨型)

■フォーム(帳票形式)の内容
コンボボックス名・・・1.種類(一般or特別)
           2.色名           
テキストボックス名・・・1.個数
            2.金額
コマンドボックス・・・1.検索

名前は上記名前の前にそれぞれコンボならcmb、テキストならtxtと
つけています。

と このような、テーブル、フォームを作っています。
フォームで、種類(一般or特別)、色名を選択し、個数を手入力して検索ボタンをクリックするとそれに合致した価格X個数が金額に表示するようにしたいんです。
自分なりに作成したのが下記になります。


Private Sub 検索_Click()
Dim strfil As String
  strfil = "色名 = '" & Me.cmb色名 & "' AND " _
     & "一般 = '" & Me.cmb種類 & "' AND " _
     & "特別 = '" & Me.cmb種類 & "'"
  Me.Filter = strfil
    MsgBox strfil
  Me.FilterOn = True

End Sub

としましたが、次のような問題点&行き詰っています。

Q1.検索ボタンをクリックしたとき、確認msgが言葉にならず、「色名='5' AND   一般='1' AND特別='1'というようにID!?数字がでてしまう。

Q2.txt金額のコントロールソースにはなんと入れればいいですか?   
   単純に価格X個数ですが、価格は「種類」で選択した一般又は特別のどちら   かになるのでその都度条件にあった価格をもっていきたいのですが、わかり   ません。

Q3.上記の文では、「Me.Filter = strfil」部分でデバッグとなってしまいま    す。

わかりにくい説明かも知れませんが、ヨロシクお願いします。

【7822】Re:フィルター検索
回答  小僧  - 06/5/15(月) 20:32 -

引用なし
パスワード
   ▼スターフルーツ さん:
こんばんは。

スターフルーツさんの仕様が当方にはちょっと解りにくいので
まったく見当違いでしたら申し訳ありません。

まず、

>Q1.検索ボタンをクリックしたとき、確認msgが言葉にならず、「色名='5' AND   一般='1' AND特別='1'というようにID!?数字がでてしまう。

各コンボボックスの値集合タイプ、値集合ソースはどのようになっていますか?
ご提示された条件ですと、

cmb種類
値集合タイプ:値リスト
値集合ソース:一般;特別

cmb色名
値集合タイプ:テーブル/クエリ
値集合ソース:SELECT T色サンプル価格.色名 FROM T色サンプル価格;

で良さそうな気がするのですがいかがでしょうか。


>Q2.txt金額のコントロールソースにはなんと入れればいいですか?   
>   単純に価格X個数ですが、価格は「種類」で選択した一般又は特別のどちら
>   かになるのでその都度条件にあった価格をもっていきたいのですが、わかり
>   ません。


コントロールソースに指定するのではなく、
コマンドボタンを押した際に、テキストボックスに値が入るので宜しければ

Private Sub cmd検索_Click()
  Me.txt金額 = _
  DLookup(Me.cmb種類, "T色サンプル価格", "色名='" & Me.cmb色名 & "'") * Me.txt個数
  
End Sub

のようなやり方もあります。


>Q3.上記の文では、「Me.Filter = strfil」部分でデバッグとなってしまいま    す。

フィルタをかける必要があるのかどうか、という問題をおいておくとして、
上記のテーブル型式では「一般」「特別」でフィルタは掛けれないのではないでしょうか。


>息づまってしまったので、どなたか教えて下さい。

行き詰ったのでしたらご協力もできますが、
息が詰まったら死んでしまいますよ…。

1300 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078228
(SS)C-BOARD v3.8 is Free