Access VBA質問箱 IV

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

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


834 / 9994 ←次へ | 前へ→

【12468】Re:Access2010で抽出プログラムの構築
回答  hatena  - 14/1/19(日) 18:00 -

引用なし
パスワード
   コード中のコンボボックス名とフィールド名が一致しないものがあるし、
実際のクエリでどうなっているのか不明ですが、
とりあえず抽出対象のフィールドのデータ型はすべてテキスト型のようなので、
そうだとして回答します。

メインフォームのモジュールは下記のようになります。

Private Sub ComboBoxInit()
'コンボボックスの初期化
  Dim Ctl As Controlt

  For Each Ctl In Me.Controls
  With Ctl
    If .ControlType = acComboBox And _
      .Name <> Me.ActiveControl.Name Then
'コンボボックスをNULL(空)に設定(アクティブコントロール以外)
    .Value = Null
    End If
  End With
  Next Ctl

End Sub

Private Sub CmdCancel_Click()
  ComboBoxInit
  Me.[購買実績一覧].SetFocus
  Me.[購買実績一覧].Form.Filter = ""
  Me.[購買実績一覧].Form.FilterOn = False
End Sub

Public Finction SetFilter()
  Dim stCri As String

  ComboBoxInit

  With Me.AciveControl
    stCri = .Name & "='" & .Value & "'"
  End With
  
  Me.購買実績一覧.Form.Filter = stCri
  Me.購買実績一覧.Form.FilterOn = True
End Finction


メインフォームのデザインビューでコンボボックスを全て選択した状態で、
「更新後処理」プロパティ欄に

=SetFilter()

と設定します。

以上でどうでしょうか。
428 hits

【12464】Access2010で抽出プログラムの構築 rinrin 14/1/18(土) 9:29 質問[未読]
【12465】Re:Access2010で抽出プログラムの構築 hatena 14/1/18(土) 17:43 回答[未読]
【12466】Re:Access2010で抽出プログラムの構築 rinrin 14/1/19(日) 9:33 発言[未読]
【12468】Re:Access2010で抽出プログラムの構築 hatena 14/1/19(日) 18:00 回答[未読]
【12470】Re:Access2010で抽出プログラムの構築 rinrin 14/1/20(月) 18:39 発言[未読]
【12471】Re:Access2010で抽出プログラムの構築 hatena 14/1/20(月) 21:17 回答[未読]
【12476】Re:Access2010で抽出プログラムの構築 rinrin 14/2/1(土) 21:24 お礼[未読]

834 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078197
(SS)C-BOARD v3.8 is Free