📄 xtquery.frm
字号:
s = s & Mid(DestRst![DisValue], i, 1)
End If
Next
' Me.DateBegin.Value = Left(DestRst![DisValue], 8)
' Me.DateEnd.Value = Mid(DestRst![DisValue], 10, 8)
End If
Case 5
Me.WriteValueLabel.Caption = SourceRst![DoSource]
Me.WriteValue.Left = Me.WriteValueLabel.Left + Me.WriteValueLabel.Width + 100
Me.WriteValue.Visible = True
Me.WriteValueLabel.Visible = True
If a > 0 Then
DestRst.MoveFirst
Me.WriteValue.Text = DestRst![DisValue]
End If
End Select
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
SourceRst.Close
DestRst.Close
Set SourceRst = Nothing
Set DestRst = Nothing
End Sub
Private Sub OptionSellAssay_Click()
Me.TotalType.Visible = False
Me.AssayType.Visible = True
Me.LineType.Visible = False
Me.LineTypeCP.Visible = False
PrintFilter "销售分析"
End Sub
Private Sub OptionSellLine_Click()
Me.TotalType.Visible = False
Me.AssayType.Visible = False
Me.LineType.Visible = True
Me.LineTypeCP.Visible = False
PrintFilter "销售排行(地)"
End Sub
Private Sub OptionSellLineCP_Click()
Me.TotalType.Visible = False
Me.AssayType.Visible = False
Me.LineType.Visible = False
Me.LineTypeCP.Visible = True
PrintFilter "销售排行(产)"
End Sub
Private Sub OptionSellTotal_Click()
Me.TotalType.Visible = True
Me.AssayType.Visible = False
Me.LineType.Visible = False
Me.LineTypeCP.Visible = False
PrintFilter "销售统计"
End Sub
Private Sub SourceList_Click()
Dim i As Long, j As Long
'Debug.Print CurrentSource
If CurrentSource >= 0 And CurrentSource <> SourceList.ListIndex Then
DestRst.Filter = "DoClass='" & SourceList.List(CurrentSource) & "'"
i = DestRst.RecordCount
If i > 0 Then
DestRst.MoveFirst
For j = 1 To i
DestRst.delete
DestRst.MoveNext
Next
End If
If SourceList.Selected(CurrentSource) Then
SourceRst.Filter = "Class='" & SourceList.List(CurrentSource) & "'"
Select Case SourceRst![dotype]
Case 0
If SourceRst![DisplayType] = "0" Then
j = 0
For i = 0 To SqlList.ListCount - 1
If SqlList.Selected(i) Then
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = SourceRst![DoWhy]
DestRst![DisValue] = SqlList.List(i)
DestRst![dovalue] = DestArray(1, i + 1)
DestRst.Update
j = j + 1
End If
Next
If j = 0 Then
SourceList.Selected(CurrentSource) = False
End If
Else
j = 0
For i = 0 To DoubleList.ListCount - 1
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = SourceRst![DoWhy]
DestRst![DisValue] = DoubleList.List(i)
DestRst![dovalue] = DestArray(1, i + 1)
DestRst.Update
j = j + 1
Next
If j = 0 Then
SourceList.Selected(CurrentSource) = False
End If
End If
Case 1, 2
j = 0
For i = 0 To SqlList.ListCount - 1
If SqlList.Selected(i) Then
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = SourceRst![DoWhy]
DestRst![DisValue] = SqlList.List(i)
DestRst![dovalue] = DestArray(1, i + 1)
DestRst.Update
j = j + 1
End If
Next
If j = 0 Then
SourceList.Selected(CurrentSource) = False
End If
Case 3
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = "="
DestRst![DisValue] = Me.DateBegin.Value
DestRst![dovalue] = Me.DateBegin.Value
DestRst.Update
Case 4
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = "Between"
DestRst![DisValue] = Me.DateBegin.Value & "|" & Me.DateEnd.Value & "|"
DestRst![dovalue] = Me.DateBegin.Value & "|" & Me.DateEnd.Value & "|"
DestRst.Update
Case 5
DestRst.AddNew
DestRst![doclass] = SourceRst![Class]
DestRst![dotype] = "="
DestRst![DisValue] = Me.WriteValue.Text
DestRst![dovalue] = Me.WriteValue.Text
DestRst.Update
End Select
End If
End If
CurrentSource = SourceList.ListIndex
PrintDestBox
PrintSqlBox
End Sub
Private Sub PrintDestBox()
Dim i As Long, j As Long, k As Long, s As String, l As String
DestList.Clear
DestRst.Filter = ""
i = DestRst.RecordCount
If i > 0 Then
DestRst.MoveFirst
s = ""
For j = 1 To i
Select Case DestRst![dotype]
Case "="
If s = DestRst![doclass] Then
l = l & " 及 " & "<" & DestRst![DisValue] & ">"
' l = l & " 及 " & "<" & DestRst![DisValue] & "|" & DestRst![DoValue] & ">"
Else
If l = "" Then
Else
DestList.AddItem l
End If
l = DestRst![doclass] & " 等于 " & "<" & DestRst![DisValue] & ">"
' l = DestRst![DoClass] & " 等于 " & "<" & DestRst![DisValue] & "|" & DestRst![DoValue] & ">"
s = DestRst![doclass]
End If
If j = i Then
DestList.AddItem l
End If
Case "Between"
For k = 1 To Len(DestRst![DisValue])
If Mid(DestRst![DisValue], k, 1) = "|" Then
DestList.AddItem DestRst![doclass] & " 在 " & "<" & Left(DestRst![DisValue], k - 1) & "> 与 <" & Mid(DestRst![DisValue], k + 1, Len(DestRst![DisValue]) - k - 1) & "> 之间"
Exit For
End If
Next
Case Else
If s = DestRst![doclass] Then
l = l & " 及 " & "<" & DestRst![DisValue] & ">"
' l = l & " 及 " & "<" & DestRst![DisValue] & "|" & DestRst![DoValue] & ">"
Else
If l = "" Then
Else
DestList.AddItem l
End If
l = DestRst![doclass] & " 等于 " & "<" & DestRst![DisValue] & ">"
'l = DestRst![DoClass] & " 等于 " & "<" & DestRst![DisValue] & "|" & DestRst![DoValue] & ">"
s = DestRst![doclass]
End If
If j = i Then
DestList.AddItem l
End If
End Select
DestRst.MoveNext
Next
End If
End Sub
Private Sub SourceList_ItemCheck(Item As Integer)
Dim i As Long, j As Long, k As Long, s As String
If SourceList.Selected(Item) Then
SourceRst.Filter = "Class='" & SourceList.List(Item) & "'"
s = Trim(SourceRst![groupid])
SourceRst.Filter = "Class<>'" & SourceList.List(Item) & "' and GroupId=" & s
i = SourceRst.RecordCount
If i > 0 Then
SourceRst.MoveFirst
For j = 1 To i
' Debug.Print SourceRst![Class]
For k = 0 To SourceList.ListCount - 1
'MsgBox SourceList.Selected(k)
If SourceList.List(k) = SourceRst![Class] And SourceList.Selected(k) Then
SourceList.Selected(Item) = False
MsgBox "{" & SourceList.List(k) & "}与{" & SourceList.List(Item) & "}只能选择一种!!!"
End If
Next
Next
End If
End If
End Sub
Public Sub PrintFilter(vType As String)
Dim i As Long, j As Long
If SourceRst Is Nothing Then
Else
SourceRst.Close
Set SourceRst = Nothing
End If
Set SourceRst = New ADODB.Recordset
SourceRst.Open "select * from XtQueryClass where Type='" & vType & "' Order By GroupID", GetConnect, adOpenStatic, adLockReadOnly
i = SourceRst.RecordCount
SourceList.Clear
If i > 0 Then
SourceRst.MoveFirst
For j = 1 To i
SourceList.AddItem SourceRst![Class]
SourceRst.MoveNext
Next
End If
i = DestRst.RecordCount
If i > 0 Then
DestRst.MoveFirst
For j = 1 To i
DestRst.delete
DestRst.MoveNext
Next
End If
CurrentSource = -1
'DestList.Clear
PrintSqlBox
PrintDestBox
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -