⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmfilter.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
       If lngTemp > 0 Then
              strRootRath = Left(strRootRath, lngTemp - 1)
       End If
       blnSpec = False
       Select Case Trim(strRootRath)
              Case "科目"
                   If blnAccount = True Then
                     If mstrTagCond(1) <> "" Then
                        mstrTagCond(1) = mstrTagCond(1) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(1) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "单位"
                   If blnCustomer = True Then
                     If mstrTagCond(2) <> "" Then
                        mstrTagCond(2) = mstrTagCond(2) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(2) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "部门"
                   If blnDepartment = True Then
                     If mstrTagCond(3) <> "" Then
                        mstrTagCond(3) = mstrTagCond(3) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(3) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "员工"
                   If blnEmployee = True Then
                     If mstrTagCond(4) <> "" Then
                        mstrTagCond(4) = mstrTagCond(4) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(4) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "工程"
                   If blnJob = True Then
                     If mstrTagCond(5) <> "" Then
                        mstrTagCond(5) = mstrTagCond(5) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(5) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "统计"
                   If blnClass1 = True Then
                     If mstrTagCond(6) <> "" Then
                        mstrTagCond(6) = mstrTagCond(6) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(6) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "项目"
                   If blnClass2 = True Then
                     If mstrTagCond(9) <> "" Then
                        mstrTagCond(9) = mstrTagCond(9) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(9) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "商品"
                   If blnItem = True Then
                     If mstrTagCond(8) <> "" Then
                        mstrTagCond(8) = mstrTagCond(8) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(8) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case "货位"
                   If blnPosition = True Then
                     If mstrTagCond(10) <> "" Then
                        mstrTagCond(10) = mstrTagCond(10) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(10) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
              Case mstrPeriodName
                   If blnPeriod = True And mstrSelected(Index, 11) = mstrPeriodName Then
                     If mstrTagCond(7) <> "" Then
                        mstrTagCond(7) = mstrTagCond(7) & " and " & mstrSelected(Index, 8)
                     Else
                        mstrTagCond(7) = mstrSelected(Index, 8)
                     End If
                     blnSpec = True
                   End If
       End Select
    End If
       '生成strWhere子句
    If blnSpec = False Then
         If Trim(mstrWhere) = "" And Trim(mstrSelected(Index, 8)) <> "" Then
             mstrWhere = Trim(mstrSelected(Index, 8))
         ElseIf Trim(mstrWhere) <> "" And Trim(mstrSelected(Index, 8)) <> "" Then
           mstrWhere = mstrWhere & " and " & Trim(mstrSelected(Index, 8))
         End If
    
         '1999-12-02
            If Trim(mstrSelected(Index, 8)) <> "" Then
                If InStr(UCase(Trim(mstrSelected(Index, 8))), "SUM(") > 0 Or InStr(UCase(Trim(mstrSelected(Index, 8))), "MIN(") > 0 Or _
                    InStr(UCase(Trim(mstrSelected(Index, 8))), "AVG(") > 0 Or InStr(UCase(Trim(mstrSelected(Index, 8))), "MAX(") > 0 Or _
                    InStr(UCase(Trim(mstrSelected(Index, 8))), "FIRST(") > 0 Or InStr(UCase(Trim(mstrSelected(Index, 8))), "LAST(") > 0 Or _
                    InStr(UCase(Trim(mstrSelected(Index, 8))), "COUNT(") > 0 Then
                    If mstrHaving = "" Then
                       mstrHaving = Trim(mstrSelected(Index, 8))
                    Else
                       mstrHaving = mstrHaving & " And " & Trim(mstrSelected(Index, 8))
                    End If
                Else
                    If mstrWhereing = "" Then
                       mstrWhereing = Trim(mstrSelected(Index, 8))
                    Else
                       mstrWhereing = mstrWhereing & " And " & Trim(mstrSelected(Index, 8))
                    End If
                End If
            End If
        '1999-12-02
    End If

    Index = Index + 1
  Loop
  rs.Close
  gclsBase.BaseWorkSpace.CommitTrans
  
  '生成特殊条件
  mstrCond = ""
  If mIntTag <> 0 Then
     mstrCond = mstrTagCond(1)
     mstrCond = mstrCond & "`" & mstrTagCond(2)
     mstrCond = mstrCond & "`" & mstrTagCond(3)
     mstrCond = mstrCond & "`" & mstrTagCond(4)
     mstrCond = mstrCond & "`" & mstrTagCond(5)
     mstrCond = mstrCond & "`" & mstrTagCond(6)
     mstrCond = mstrCond & "`" & mstrTagCond(7)
     mstrCond = mstrCond & "`" & mstrTagCond(8)
     mstrCond = mstrCond & "`" & mstrTagCond(9)
     mstrCond = mstrCond & "`" & mstrTagCond(10)
  End If
  Exit Sub
ErrHandle:
  gclsBase.BaseWorkSpace.RollBacktrans
End Sub

Private Sub CmdNo_Click()
  Unload Me
End Sub

Private Sub CmdReset_Click()
 Dim Index As Long
  For Index = 1 To MsgFilter.Rows - 2
    mCurLineOfSelect = MsgFilter.RowData(Index)
    If mCurLineOfSelect > 0 Then
        tvwFilter.Nodes(mCurLineOfSelect).Tag = Right(tvwFilter.Nodes(mCurLineOfSelect).Tag, Len(tvwFilter.Nodes(mCurLineOfSelect).Tag) - 1)
    End If
  Next
  MsgFilter.Rows = 2
  MsgFilter.RowHeight(1) = 0
  Erase mstrSelected
  mCurentline = 1
  If tvwFilter.Nodes.Count = 0 Then Exit Sub
  tvwFilter_nodeClick tvwFilter.Nodes(1)
  tvwFilter.Nodes(1).Selected = True
End Sub

Private Sub dateone_lostfocus()
 Dim Index As Long
 Dim index2 As Long
  If Trim(DateOne.Text) = "" Then
        '删出当前行
    If Left(tvwFilter.Nodes(mCurLineOfSelect).Tag, 1) = "*" Then
       DelCurentline
    End If
          
  Else
  'Add One line of dateclass.
    Modifyrefertext1
    mstrSelected(mCurentline, 5) = DateOne.Text
    mstrSelected(mCurentline, 6) = ""
    mstrSelected(mCurentline, 7) = ""
    mstrSelected(mCurentline, 8) = "Decode(isdate(" & Trim(mstrSelected(mCurentline, 2)) & "),1,To_date(" & Trim(mstrSelected(mCurentline, 2)) & ",'" & "yyyy-mm-dd" & "'" & ") = to_date(" & Trim(mstrSelected(mCurentline, 5)) & ",'" & "yyyy-mm-dd" & "'" & ",0)"
    AddSelectedTag
    MsgFilter.TextMatrix(mCurentline, 1) = Trim(mstrSelected(mCurentline, 5))
    AddMsgFilter
   End If
End Sub


'初始化已选条件表表头
Private Sub InitChooseGrd()
  Dim Count As Integer
    With MsgFilter
         .Rows = 2
         .Cols = 2
         For Count = 0 To .Cols - 1
             .FixedAlignment(Count) = 4
         Next Count
         .TextMatrix(0, 0) = "过滤项目"
         .TextMatrix(0, 1) = "过滤条件"
         .ColWidth(0) = 1250
         .ColWidth(1) = 2600
         .RowHeight(1) = 0
         .ColAlignment(1) = 1
    End With
End Sub

Private Sub Form_Activate()
    SetHelpID 10007
    tvwFilter.SetFocus
End Sub

Private Sub Form_Load()
On Error GoTo ErrHandle
  Utility.LoadFormResPicture Me
  tvwFilter.ImageList = frmMain.ImageListFilter
  Me.Left = 300
  Me.top = 900
  ReferText2.SeekCol = "-1,1"
'  ReferText1.Locked = True
  ReferText2.Locked = False
  ReferText1.SelStart = 0
   #If conVersionType = 1 Then
        strCondVersionField = " And (ViewField.bytVersion IN (1,3,7,5,9,11,13,15,17,19,21,23,25,27,29,31))"
        strCondVersionEnum = " And (EnumTable.bytVersion IN (1,3,7,5,9,11,13,15,17,19,21,23,25,27,29,31))"
        strCondVersion = "(1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31)"
   #Else
      #If conVersionType = 2 Then
      #Else
        #If conVersionType = 4 Then
            strCondVersionField = " And (ViewField.bytVersion IN (4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31))"
            strCondVersionEnum = " And (EnumTable.bytVersion IN (4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31))"
            strCondVersion = "(4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31)"
        #ElseIf conVersionType = 8 Then
            strCondVersionField = " And (ViewField.bytVersion IN (8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31))"
            strCondVersionEnum = " And (EnumTable.bytVersion IN (8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31))"
            strCondVersion = "(8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31)"
        #Else
            strCondVersionField = " And (ViewField.bytVersion IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31))"
            strCondVersionEnum = " And (EnumTable.bytVersion IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31))"
            strCondVersion = "(16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)"
        #End If
      #End If
   #End If
   If gclsBase.AccountSys = 3 Or gclsBase.AccountSys = 4 Then
        strCondHospital = " And (viewField.blnNotHospital=0) "
   Else
        strCondHospital = ""
   End If
   Exit Sub
ErrHandle:
   Unload Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Set mclsHook = Nothing
  Utility.UnLoadFormResPicture Me
End Sub

'钩子:处理msgFilter 的键盘事件
Private Sub mclsHook_OnMessage(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long, bCancel As Long)
  If Msg = WM_KEYUP Then
      If wParam = vbKeyUp Or wParam = vbKeyDown Then
          MsgFilter_click
      End If
  End If
End Sub


Private Sub ReferText1_ItemNotExist()
  mItemNotExit = True
End Sub


Private Sub ReferText1_KeyPress(KeyAscii As Integer)
    mblnRefertext1 = True
End Sub

'触发ReferText1_Click 事件标志
Private Sub ReferText1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  mblnRefertext1 = True
End Sub



Private Sub ReferText2_KeyPress(KeyAscii As Integer)
    mblnRefertext2 = True
End Sub

'触发ReferText2_Click 事件标志
Private Sub ReferText2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    mblnRefertext2 = True
End Sub

Private Sub tvwFilter_Collapse(ByVal Node As msComctlLib.Node)
    Node.iMage = "closed"
    If tvwFilter.SelectedItem = Node Then
        tvwFilter_nodeClick tvwFilter.SelectedItem
    End If
End Sub

'加子接点

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -