Access VBA質問箱 IV

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

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


551 / 9994 ←次へ | 前へ→

【12753】複数抽出
質問  ゆか  - 15/3/23(月) 15:21 -

引用なし
パスワード
   こんにちは。

先日は、質問に教えて下さりありがとうございます。
別スレッドでも他の方が質問されているのですが
理解力が低くいまいちわからないためスレッドを立てさせていただきました。
ご多忙と存じますが、ご教授いただければ幸いです。

テーブル:利用者
利用者ID(主キー):テキスト型
請求コード:数値型
利用施設:テキスト型(テーブル:施設のルックアップ)
金融機関コード:数値型
支店コード:数値型
預金種目コード:数値型
口座番号:数値型
口座名義人:テキスト型
住所:テキスト型
連絡先:テキスト型
備考:メモ型
利用開始日:日付/時刻型
利用終了日:日付/時刻型
利用終了者:Yes/No型

をフォームウィザードの複数アイテムでフォームをそのまま作成し、
フォーム名を「利用者一覧」と名付け、へッダー部分に下記を追加しました。

テキストボックス(コントロールソース:非連結)
txt_利用者ID
txt_t口座名義人
txt_利用者名
txt_利用施設 (当初はコンボボックスで選択可能にしたかったのですが、全くうまくいかなかたっためテキストになっています。)
txt_開始日
txt_終了日
txt_口座番号

チェックボックス(コントロールソースなし)
利用終了者

ボタン
名前:cmdFilter 標題:抽出
名前:cmfFilterOff 標題:抽出解除

を作成、それらで複数抽出できるように下記のようにくみました。

Private Sub cmdFilter_Click()
  Dim strFilter As String, strExp As String, aryOpe As Variant


  If Not IsNull(Me.txt利用者ID) Then
    strFilter = " AND " & BuildCriteria("Me.txt利用者ID", _
      dbLong, Me.txt利用者ID)
  End If
  
  
   If Not IsNull(Me.txt口座番号) Then
    strFilter = " AND " & BuildCriteria("Me.口座番号", _
      dbLong, Me.txt口座番号)
  End If
  
 
  If Not IsNull(Me.txt口座名義人) Then
    strFilter = strFilter & " AND Me.口座名義人 Like '*" & Me.txt口座名義人 & "*'"
  End If
  
 
  If Not IsNull(Me.txt利用者名) Then
     strFilter = strFilter & " AND Me.利用者名 Like '*" & Me.txt利用者名 & "*'"
  End If
  
 
   If Not IsNull(Me.txt利用施設) Then
     strFilter = strFilter & " AND Me.利用施設 Like '*" & Me.txt利用施設 & "*'"
  End If
  
  
  If Not IsNull(Me.txt開始日) Then
    strFilter = strFilter & " AND Me.開始日 >= #" & Nz(Me.txt開始日) & "#"
  End If
  
  
  If Not IsNull(Me.txt終了日) Then
    strFilter = strFilter & " AND Me.終了日 <= #" & Nz(Me.txt終了日) & "#"
  End If


If Not IsNull(Me.利用終了者) Then
    strFilter = "(" & strFilter & ") or [Yes/No型利用終了者]=True"
End If


  Me.Filter = Mid(strFilter, 8)
  If strFilter = "" Then
    Me.FilterOn = False
   Else
    Me.FilterOn = True
  End If
 
End Sub

Private Sub cmdFilterOff_Click()
  Me.Filter = ""
  Me.FilterOn = False
  Me.txt_利用者ID = Null
  Me.txt_口座名義人 = Null
  Me.txt_利用者名 = Null
  Me.txt_利用施設 = Null
  Me.txt_開始日 = Null
  Me.txt_終了日 = Null
  Me.txt_口座番号 = Null
  Me.利用終了者 = Null
End Sub

この場合、クエリ式に演算子気がありませんと言われ、
下記の部分がひっかかってしまいます。

Me.Filter = Mid(strFilter, 8)
  If strFilter = "" Then
    Me.FilterOn = False
   Else
    Me.FilterOn = True
  End If

上記をうまく抽出するにはどのようにしたら宜しいでしょうか。
御面倒をおかけしますが、何卒よろしくお願いいたします。
494 hits

【12753】複数抽出 ゆか 15/3/23(月) 15:21 質問[未読]
【12756】Re:複数抽出 かるびの 15/3/24(火) 4:22 回答[未読]
【12758】Re:複数抽出 ゆか 15/3/24(火) 14:14 質問[未読]
【12764】Re:複数抽出 かるびの 15/3/25(水) 2:08 回答[未読]
【12775】Re:複数抽出 ゆか 15/3/25(水) 18:56 質問[未読]
【12777】Re:複数抽出 かるびの 15/3/26(木) 2:26 回答[未読]
【12782】Re:複数抽出 ゆか 15/3/28(土) 17:08 質問[未読]
【12783】Re:複数抽出 かるびの 15/3/29(日) 2:09 回答[未読]
【12787】Re:複数抽出 ゆか 15/3/30(月) 20:51 質問[未読]
【12790】Re:複数抽出 かるびの 15/3/31(火) 2:43 回答[未読]
【12793】Re:複数抽出 ゆか 15/3/31(火) 22:23 お礼[未読]

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