選択クエリの作成Logic
Sub ChangeQuery()
'記述場所:モジュール「AddressBookModule」
On Error GoTo Err_Process
Call Table_Open
Dim tq As QueryDef
Dim strOuttable As String
Dim strOutfile As String
Dim strIntable As String
Dim strIntfile As String
Dim strJoukenn(5) As String
Dim strMaruigai As String
strMaruigai = Me.丸福以外抽出
strOuttable = "T_台帳印刷wk"
strOutfile = "INTO " & strOuttable & " "
strIntable = "T_検査諸費用台帳"
strIntfile = "FROM " & strIntable & " "
strJoukenn(1) = "(T_検査諸費用台帳.受付日)>=[forms]![F_検査台帳印刷]![From日付] And (T_検査諸費用台帳.受付日)<=[forms]![F_検査台帳印刷]![To日付])"
If strMaruigai = "on" Then
strJoukenn(2) = "((T_検査諸費用台帳.得意先名) Not Like '*丸福*')"
Else
strJoukenn(2) = "((T_検査諸費用台帳.得意先名) Like [forms]![F_検査台帳印刷]![丸福抽出])"
End If
strJoukenn(3) = "((T_検査諸費用台帳.未収額)<>[forms]![F_検査台帳印刷]![金額条件])"
Set tq = Db.CreateQueryDef("Q_台帳印刷Data抽出", _
"SELECT T_検査諸費用台帳.ID, T_検査諸費用台帳.受付日, T_検査諸費用台帳.処理日, T_検査諸費用台帳.得ID, " & _
"T_検査諸費用台帳.得C, T_検査諸費用台帳.丸福, T_検査諸費用台帳.得ヨミ, T_検査諸費用台帳.得意先名, " & _
"T_検査諸費用台帳.得意先名2, T_検査諸費用台帳.車番, T_検査諸費用台帳.登録地, T_検査諸費用台帳.車種, " & _
"T_検査諸費用台帳.車番かな, T_検査諸費用台帳.車番2, T_検査諸費用台帳.車名, T_検査諸費用台帳.代行料, " & _
"T_検査諸費用台帳.[その他(課税)1], T_検査諸費用台帳.[その他(課税)2], T_検査諸費用台帳.[その他(課税)3], " & _
"T_検査諸費用台帳.消費税, T_検査諸費用台帳.自賠責, T_検査諸費用台帳.重量税, T_検査諸費用台帳.印紙代," & _
"T_検査諸費用台帳.[その他(非課税)1], T_検査諸費用台帳.[その他(非課税)2], T_検査諸費用台帳.合計, " & _
"T_検査諸費用台帳.入金1, T_検査諸費用台帳.入金日1, T_検査諸費用台帳.入金2, T_検査諸費用台帳.入金日2, " & _
"T_検査諸費用台帳.入金3, T_検査諸費用台帳.入金日3, T_検査諸費用台帳.入金計, T_検査諸費用台帳.未収額, " & _
"T_検査諸費用台帳.備考欄 " & _
"INTO T_台帳印刷wk " & _
"WHERE (" & strJoukenn(1) & " AND " & strJoukenn(2) & " AND " & strJoukenn(3) & ";")
'strOutfile & strIntfile & _
Call Table_Close
DoCmd.SetWarnings False '警告 Off
DoCmd.OpenQuery "Q_台帳印刷Data抽出", acViewNormal, acEdit
DoCmd.SetWarnings True '警告 On
Exit Sub
Err_Process:
If Err.Number = 3012 Then ' ----- クエリーが存在している場合
Db.QueryDefs.Delete "Q_台帳印刷Data抽出"
Else
' ----- それ以外のエラーは、内容を表示し強制終了
Debug.Print Err.Number
Debug.Print Err.Description
MsgBox "クエリー創成処理でエラーが発生しました" & vbCrLf & _
"エラー番号 : " & Err.Number & vbCrLf & _
"エラー詳細 : " & Err.Description
End '強制終了
End If
Resume
End Sub