IfNz(Me.pu_date_start, "")<>"" And Nz(Me.pu_date_end, "")<>""Then
hantei = hantei + 1
ElseIf Nz(Me.pu_date_start, "")<>""Then
IfNz(Me.pu_date_end, "") = ""Then
MsgBox "集荷日終了が入力されていません"
Exit Sub
EndIf
ElseIf Nz(Me.pu_date_end, "")<>""Then
IfNz(Me.pu_date_start, "") = ""Then
MsgBox "集荷日開始が入力されていません"
Exit Sub
EndIf
EndIf
IfNz(Me.delivery_date_start, "")<>"" And Nz(Me.delivery_date_end, "")<>""Then
hantei = hantei + 10
ElseIf Nz(Me.delivery_date_start, "")<>""Then
IfNz(Me.delivery_date_end, "") = ""Then
MsgBox "配達日終了が入力されていません"
Exit Sub
EndIf
ElseIf Nz(Me.delivery_date_end, "")<>""Then
IfNz(Me.delivery_date_start, "") = ""Then
MsgBox "配達日開始が入力されていません"
Exit Sub
EndIf
EndIf
If Nz(Me.pu_date_start, "") <> "" And Nz(Me.pu_date_end, "") <> "" Then
hantei = hantei + 1
ElseIf Nz(Me.pu_date_start, "") <> "" Then
If Nz(Me.pu_date_end, "") = "" Then
MsgBox "集荷日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.pu_date_end, "") <> "" Then
If Nz(Me.pu_date_start, "") = "" Then
MsgBox "集荷日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.delivery_date_start, "") <> "" And Nz(Me.delivery_date_end, "") <> "" Then
hantei = hantei + 10
ElseIf Nz(Me.delivery_date_start, "") <> "" Then
If Nz(Me.delivery_date_end, "") = "" Then
MsgBox "配達日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.delivery_date_end, "") <> "" Then
If Nz(Me.delivery_date_start, "") = "" Then
MsgBox "配達日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.pu_date_start, "") <> "" And Nz(Me.pu_date_end, "") <> "" Then
hantei = hantei + 1
ElseIf Nz(Me.pu_date_start, "") <> "" Then
If Nz(Me.pu_date_end, "") = "" Then
MsgBox "集荷日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.pu_date_end, "") <> "" Then
If Nz(Me.pu_date_start, "") = "" Then
MsgBox "集荷日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.delivery_date_start, "") <> "" And Nz(Me.delivery_date_end, "") <> "" Then
hantei = hantei + 10
ElseIf Nz(Me.delivery_date_start, "") <> "" Then
If Nz(Me.delivery_date_end, "") = "" Then
MsgBox "配達日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.delivery_date_end, "") <> "" Then
If Nz(Me.delivery_date_start, "") = "" Then
MsgBox "配達日開始が入力されていません"
Exit Sub
End If
End If
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='"& Me!search_mado &"'"
ElseIf hantei = 101Then' 出荷人+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 111 Then ' 出荷人+集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='"& Me!search_mado &"' And pu_date Between #"& Me!pu_date_start &"# AND #"& Me!pu_date_end &"#"&"And delivery_date Between #"& Me!delivery_date_start &"# AND #"& Me!delivery_date_end &"#"
ElseIf hantei = 10101Then' 出荷人+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "'And delivery_name = '" & Me!delivery_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 11 Then ' 集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #"& Me!pu_date_start &"# AND #"& Me!pu_date_end &"#"&"And delivery_date Between #"& Me!delivery_date_start &"# AND #"& Me!delivery_date_end &"#"
ElseIf hantei = 1000Then' 業者
.Source = "SELECT * FROM orderdata_sorting WHERE " & naiyou
ElseIf hantei = 11000 Then ' 業者+配達先
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '"& Me!delivery_mado &"' and "& naiyou
ElseIf hantei = 11001Then' 業者+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '" & Me!delivery_mado & "' and pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
ElseIf hantei = 1001 Then ' 業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #"& Me!pu_date_start &"# AND #"& Me!pu_date_end &"#"&" and "& naiyou
ElseIf hantei = 1101Then' 出荷人+業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
' Debug.Print .Source
Else
MsgBox "設定外の抽出項目です。設定し直して再抽出してください。"
Exit Sub
EndIf
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open
End With
Set Me.Recordset = rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
ExitErr_Handler:
Exit Sub
Err_Handler:
MsgBox "エラー: "& Err.description
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
Public Sub tyushutsu_btn_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim hantei As Integer
Dim naiyou As String
' hanteiの数値により、抽出項目に値があるのかを判定している。
haitei = 0
If Nz(Me.pu_date_start, "") <> "" And Nz(Me.pu_date_end, "") <> "" Then
hantei = hantei + 1
ElseIf Nz(Me.pu_date_start, "") <> "" Then
If Nz(Me.pu_date_end, "") = "" Then
MsgBox "集荷日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.pu_date_end, "") <> "" Then
If Nz(Me.pu_date_start, "") = "" Then
MsgBox "集荷日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.delivery_date_start, "") <> "" And Nz(Me.delivery_date_end, "") <> "" Then
hantei = hantei + 10
ElseIf Nz(Me.delivery_date_start, "") <> "" Then
If Nz(Me.delivery_date_end, "") = "" Then
MsgBox "配達日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.delivery_date_end, "") <> "" Then
If Nz(Me.delivery_date_start, "") = "" Then
MsgBox "配達日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.search_mado, "") <> "" Then ' 出荷人
hantei = hantei + 100
End If
If Nz(Me.trader_search, "") <> "" Then ' 業者
hantei = hantei + 1000
End If
If Nz(Me.delivery_mado, "") <> "" Then ' 配達先
hantei = hantei + 10000
End If
' 長くなってしまった抽出項目を変数にしました。
naiyou = "(trader1 ='" & Me!trader_search & "'or trader2 = '" & Me!trader_search & "'or trader3 = '" & Me!trader_search & "'or trader4 = '" & Me!trader_search & "'or trader5 = '" & Me!trader_search & "')"
On Error GoTo Err_Handler
Set cn = CurrentProject.AccessConnection
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = cn
If hantei = 100 Then ' 出荷人
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "'"
ElseIf hantei = 101 Then ' 出荷人+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 111 Then ' 出荷人+集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & "And delivery_date Between #" & Me!delivery_date_start & "# AND #" & Me!delivery_date_end & "#"
ElseIf hantei = 10101 Then ' 出荷人+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "'And delivery_name = '" & Me!delivery_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 11 Then ' 集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & "And delivery_date Between #" & Me!delivery_date_start & "# AND #" & Me!delivery_date_end & "#"
ElseIf hantei = 1000 Then ' 業者
.Source = "SELECT * FROM orderdata_sorting WHERE " & naiyou
ElseIf hantei = 11000 Then ' 業者+配達先
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '" & Me!delivery_mado & "' and " & naiyou
ElseIf hantei = 11001 Then ' 業者+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '" & Me!delivery_mado & "' and pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
ElseIf hantei = 1001 Then ' 業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
ElseIf hantei = 1101 Then ' 出荷人+業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
' Debug.Print .Source
Else
MsgBox "設定外の抽出項目です。設定し直して再抽出してください。"
Exit Sub
End If
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open
End With
Set Me.Recordset = rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
ExitErr_Handler:
Exit Sub
Err_Handler:
MsgBox "エラー: " & Err.description
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
Public Sub tyushutsu_btn_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim hantei As Integer
Dim naiyou As String
' hanteiの数値により、抽出項目に値があるのかを判定している。
haitei = 0
If Nz(Me.pu_date_start, "") <> "" And Nz(Me.pu_date_end, "") <> "" Then
hantei = hantei + 1
ElseIf Nz(Me.pu_date_start, "") <> "" Then
If Nz(Me.pu_date_end, "") = "" Then
MsgBox "集荷日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.pu_date_end, "") <> "" Then
If Nz(Me.pu_date_start, "") = "" Then
MsgBox "集荷日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.delivery_date_start, "") <> "" And Nz(Me.delivery_date_end, "") <> "" Then
hantei = hantei + 10
ElseIf Nz(Me.delivery_date_start, "") <> "" Then
If Nz(Me.delivery_date_end, "") = "" Then
MsgBox "配達日終了が入力されていません"
Exit Sub
End If
ElseIf Nz(Me.delivery_date_end, "") <> "" Then
If Nz(Me.delivery_date_start, "") = "" Then
MsgBox "配達日開始が入力されていません"
Exit Sub
End If
End If
If Nz(Me.search_mado, "") <> "" Then ' 出荷人
hantei = hantei + 100
End If
If Nz(Me.trader_search, "") <> "" Then ' 業者
hantei = hantei + 1000
End If
If Nz(Me.delivery_mado, "") <> "" Then ' 配達先
hantei = hantei + 10000
End If
' 長くなってしまった抽出項目を変数にしました。
naiyou = "(trader1 ='" & Me!trader_search & "'or trader2 = '" & Me!trader_search & "'or trader3 = '" & Me!trader_search & "'or trader4 = '" & Me!trader_search & "'or trader5 = '" & Me!trader_search & "')"
On Error GoTo Err_Handler
Set cn = CurrentProject.AccessConnection
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = cn
If hantei = 100 Then ' 出荷人
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "'"
ElseIf hantei = 101 Then ' 出荷人+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 111 Then ' 出荷人+集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & "And delivery_date Between #" & Me!delivery_date_start & "# AND #" & Me!delivery_date_end & "#"
ElseIf hantei = 10101 Then ' 出荷人+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "'And delivery_name = '" & Me!delivery_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#"
ElseIf hantei = 11 Then ' 集荷日+配達日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & "And delivery_date Between #" & Me!delivery_date_start & "# AND #" & Me!delivery_date_end & "#"
ElseIf hantei = 1000 Then ' 業者
.Source = "SELECT * FROM orderdata_sorting WHERE " & naiyou
ElseIf hantei = 11000 Then ' 業者+配達先
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '" & Me!delivery_mado & "' and " & naiyou
ElseIf hantei = 11001 Then ' 業者+配達先+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE delivery_name = '" & Me!delivery_mado & "' and pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
ElseIf hantei = 1001 Then ' 業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
ElseIf hantei = 1101 Then ' 出荷人+業者+集荷日
.Source = "SELECT * FROM orderdata_sorting WHERE shipper ='" & Me!search_mado & "' And pu_date Between #" & Me!pu_date_start & "# AND #" & Me!pu_date_end & "#" & " and " & naiyou
' Debug.Print .Source
Else
MsgBox "設定外の抽出項目です。設定し直して再抽出してください。"
Exit Sub
End If
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open
End With
Set Me.Recordset = rs
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
ExitErr_Handler:
Exit Sub
Err_Handler:
MsgBox "エラー: " & Err.description
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub