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

📄 frmquota.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
         Caption         =   "已选表头(&Y)"
         Height          =   255
         Left            =   5310
         TabIndex        =   46
         Top             =   600
         Width           =   1455
      End
      Begin VB.Label LblHead 
         Caption         =   "可选表头(&K)"
         Height          =   255
         Left            =   2820
         TabIndex        =   44
         Top             =   600
         Width           =   1695
      End
      Begin VB.Label LblName 
         Alignment       =   2  'Center
         Appearance      =   0  'Flat
         AutoSize        =   -1  'True
         Caption         =   "报表名称(&R)"
         ForeColor       =   &H00000000&
         Height          =   180
         Left            =   -72360
         TabIndex        =   2
         Top             =   600
         Width           =   1245
      End
      Begin VB.Label LblData 
         Caption         =   "数据项目(&K)"
         Height          =   225
         Left            =   -72180
         TabIndex        =   13
         Top             =   600
         Width           =   1035
      End
      Begin VB.Label LblReport 
         Caption         =   "报表项目(&Y)"
         Height          =   225
         Index           =   0
         Left            =   -69690
         TabIndex        =   15
         Top             =   600
         Width           =   1575
      End
      Begin VB.Label LblList 
         Caption         =   "列名(&L)"
         Height          =   255
         Left            =   -70335
         TabIndex        =   17
         Top             =   3660
         Width           =   675
      End
   End
   Begin VB.Line linSep 
      BorderColor     =   &H00FFFFFF&
      Index           =   1
      X1              =   0
      X2              =   9032.129
      Y1              =   4572.785
      Y2              =   4572.785
   End
   Begin VB.Line linSep 
      BorderColor     =   &H00808080&
      Index           =   0
      X1              =   0
      X2              =   9032.129
      Y1              =   4572.785
      Y2              =   4572.785
   End
End
Attribute VB_Name = "frmQuota"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  配款表向导窗体
'  作者:邓强
'  日期:1998.12.26
'
'  引导用户选择列表项目
'  SetQuota          初始化向导(设置钩子), 返回是否选中"完成"按钮(QuotaSet类模块调用)
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'                      查询条件变量
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private WithEvents mclsHook As Hook
Attribute mclsHook.VB_VarHelpID = -1
Private mclsFilter As FormCond           '查询条件类
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'                      向导变量
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private mclsQuota As QuotaSet                 '列表类
Private mblnMeOK As Boolean                   '是否选中"完成"按钮
Private mblnIsInited(3) As Boolean            'Tab是否已初始化
Private marrFields() As Variant               '字段数组
Private mblnChanged As Boolean                '工资表变化
Private mblnHeadChanged As Boolean            '是否重选表头项目
Private mintDeductList As Integer             '表扣零标准
Private mintDeductField As Integer            '扣零项目扣零标准
Private mlngDeductFieldID As Long             '扣零项目ID
Private mstrSalaryList As String              '工资表
Private mstrQuotaField As String              '配款字段
Private mstrQuotaStandard As String           '配款标准
Private mblnDeductItem As Boolean             '是否为扣零项目配款
Private mblnInited As Boolean                 '是否已初始化窗体
Private mblnFirstOpen As Boolean              '是否第一次打开向导
Private mblnFormShow As Boolean               '窗体是否已显示
Private mbytOldCondShow As Byte               '条件最先显示方式

Private Sub cboCode_Click()
Dim intLoc As Integer
    If mblnFormShow Then
        MeFind LstHeaded.list(LstHeaded.ListIndex), intLoc
        marrFields(intLoc, 12) = cboCode.ListIndex + 1
    End If
End Sub

Private Sub cboQuota_Click()
Dim strTemp As String
    If Not mblnInited Then Exit Sub
    strTemp = cboQuota.Text
    If CLng(GetNoXString(strTemp, 2, Space(100))) = mlngDeductFieldID Then
        mblnDeductItem = True
    Else
        mblnDeductItem = False
    End If
    mblnChanged = True
End Sub

Private Sub cboSalary_Click()
Dim strSql As String
Dim rstData As rdoResultset
    If Not mblnInited Then Exit Sub
    mstrSalaryList = cboSalary.Text
    strSql = "Select ViewField.strViewFieldDesc,ViewField.lngViewFieldID,ViewField.strFieldName  FROM SalaryField,ViewField" _
             & " Where SalaryField.lngViewFieldID = ViewField.lngViewFieldID  " _
             & " And ViewField.lngViewid=63 And SalaryField.lngSalaryListID=" & Val(GetNoXString(mstrSalaryList, 2, Space(100))) _
             & " And Upper(ViewField.strFieldType)='DOUBLE' And ViewField.lngViewFieldID NOT IN (13219,13221,18660)"
    Set rstData = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    cboQuota.Clear
    Do Until rstData.EOF
        cboQuota.AddItem rstData!strViewFieldDesc & Space(100) & rstData!lngViewFieldID & Space(100) & rstData!strFieldName
        rstData.MoveNext
    Loop
    GetDeduct
    mstrQuotaField = cboQuota.list(0)
    cboQuota.Text = mstrQuotaField
    Set rstData = Nothing
    mblnChanged = True
End Sub

Private Sub cboStandard_Click()
    If Not mblnInited Then Exit Sub
'    mstrQuotaStandard = cboStandard.Text
    mblnChanged = True
End Sub

Private Sub cmdArrow_Click(Index As Integer)  '查询项目
    Dim intCount As Integer
    Dim intLoc As Integer
    Dim strSel As String
    Select Case Index
    Case 0
        SendField LstDataField, lstReport, False
        CmdEnabled LstDataField, cmdArrow(0), cmdArrow(1)
        CmdEnabled lstReport, cmdArrow(2), cmdArrow(3)
    Case 1
        SendField LstDataField, lstReport, True
        CmdEnabled LstDataField, cmdArrow(0), cmdArrow(1)
        CmdEnabled lstReport, cmdArrow(2), cmdArrow(3)
    Case 2
        For intCount = 0 To lstReport.ListCount - 1
            If lstReport.Selected(intCount) = True Then
                strSel = lstReport.list(intCount)
                MeFind strSel, intLoc
                If mblnDeductItem Then
                    If marrFields(intLoc, 8) = mintDeductField Or marrFields(intLoc, 10) Then
                        lstReport.Selected(intCount) = False
                    End If
                Else
                    If marrFields(intLoc, 8) = mintDeductList Or marrFields(intLoc, 10) Then
                        lstReport.Selected(intCount) = False
                    End If
                End If
            End If
        Next intCount
        SendField lstReport, LstDataField, False
        CmdEnabled LstDataField, cmdArrow(0), cmdArrow(1)
        CmdEnabled lstReport, cmdArrow(2), cmdArrow(3)
        If lstReport.ListCount = 0 Then
            txtList.Text = ""
            txtList.Enabled = False
            LblList.Enabled = False
        End If
    Case 3
        For intCount = 0 To lstReport.ListCount - 1
            strSel = lstReport.list(intCount)
            MeFind strSel, intLoc
            If mblnDeductItem Then
                If marrFields(intLoc, 8) = mintDeductField Or marrFields(intLoc, 10) Then
                    lstReport.Selected(intCount) = False
                Else
                    lstReport.Selected(intCount) = True
                End If
            Else
                If marrFields(intLoc, 8) = mintDeductList Or marrFields(intLoc, 10) Then
                    lstReport.Selected(intCount) = False
                Else
                    lstReport.Selected(intCount) = True
                End If
            End If
        Next intCount
        SendField lstReport, LstDataField, False
        CmdEnabled LstDataField, cmdArrow(0), cmdArrow(1)
        CmdEnabled lstReport, cmdArrow(2), cmdArrow(3)
        txtList.Text = ""
        txtList.Enabled = False
        LblList.Enabled = False
    End Select
    LstClick lstReport, cmdUpDown(0), cmdUpDown(1)
    IsComplete
End Sub


Private Sub CmdCancel_Click()
    mblnMeOK = False
    Unload Me
End Sub

Private Sub cmdComplete_Click()
Dim blnIsSave As Boolean
    mblnMeOK = True
'    If Not mblnIsInited(2) Then InitQuota 2
    GetQuotaWizard
    Unload Me
End Sub

Private Sub cmdHeadArrow_Click(Index As Integer)
Dim intLoc As Integer
Dim strSel As String
    If Index = 0 Then        '右移表头项目
      If LstHeaded.ListCount >= 9 Then
         Utility.ShowMsg Me.hwnd, "不能再加表头项目了!", vbOKOnly + vbInformation, App.title
         Exit Sub
      End If
      SendField lstHead, LstHeaded, False
      CmdEnabled LstHeaded, cmdHeadArrow(1)
      CmdEnabled lstHead, cmdHeadArrow(0)
    ElseIf Index = 1 Then     '左移表头项目
      If LstHeaded.SelCount = 1 Then
         MeFind LstHeaded.list(LstHeaded.ListIndex), intLoc
         marrFields(intLoc, 12) = 2
      End If
      SendField LstHeaded, lstHead, False
      CmdEnabled LstHeaded, cmdHeadArrow(1)
      CmdEnabled lstHead, cmdHeadArrow(0)
      If LstHeaded.SelCount = 1 Then
            cboCode.Enabled = True
            LblCode.Enabled = True
      Else
            cboCode.Enabled = False
            LblCode.Enabled = False
      End If
    End If
    mblnHeadChanged = True
End Sub

Private Sub cmdHeadUpDown_Click(Index As Integer)
    '上下移动表头项目
    StandardReport.FieldUpdown LstHeaded, Index
End Sub



Private Sub cmdNext_Click()
    sstQuota.Tab = sstQuota.Tab + 1
End Sub

Private Sub cmdPrevious_Click()
    sstQuota.Tab = sstQuota.Tab - 1
End Sub

Private Sub cmdUpDown_Click(Index As Integer)
    StandardReport.FieldUpdown lstReport, Index
    picWizard.SetFocus
End Sub

Private Sub Form_Activate()
    Utility.SetHelpID Me.HelpContextID
End Sub

Private Sub Form_Load()
    Me.HelpContextID = 70017
    tvwFilter.ImageList = frmMain.ImageListFilter
    Set mclsHook = New Hook
    mclsHook.SetHook MsgFilter.hwnd
    Set Me.Icon = Utility.GetFormResPicture(139, vbResIcon)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set mclsQuota = Nothing
    Set mclsFilter = Nothing
    Set mclsHook = Nothing
    Set Me.Icon = Nothing
    UnloadResPic
End Sub


Private Sub LstDataField_Click()
   CmdEnabled LstDataField, cmdArrow(0), cmdArrow(1)
   If LstDataField.ListIndex <> -1 Then LstDataField.ToolTipText = GetNoXString(LstDataField.list(LstDataField.ListIndex), 1, Space(100))
End Sub

Private Sub LstDataField_DblClick()
    If LstDataField.SelCount <> 1 Then Exit Sub
    cmdArrow_Click 0
End Sub


Private Sub LstDataField_KeyPress(KeyAscii As Integer)
    If KeyAscii <> vbKeySpace Then Exit Sub
    If LstDataField.SelCount <> 1 Then Exit Sub
    cmdArrow_Click 0
End Sub

Private Sub LstHead_Click()
    CmdEnabled lstHead, cmdHeadArrow(0)
End Sub

Private Sub LstHead_DblClick()
    If lstHead.SelCount <> 1 Then Exit Sub
    cmdHeadArrow_Click 0
End Sub

Private Sub LstHead_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeySpace Then Exit Sub
    If lstHead.SelCount <> 1 Then Exit Sub
    cmdHeadArrow_Click 0
End Sub

Private Sub LstHeaded_Click()
Dim intLoc As Integer
    If LstHeaded.SelCount = 1 Then
        MeFind LstHeaded.list(LstHeaded.ListIndex), intLoc
        cboCode.Text = cboCode.list(marrFields(intLoc, 12) - 1)
        cboCode.Enabled = True
        LblCode.Enabled = True
    Else
        cboCode.Enabled = False
        LblCode.Enabled = False
    End If
    CmdEnabled LstHeaded, cmdHeadArrow(1)
    LstClick LstHeaded, cmdHeadUpDown(0), cmdHeadUpDown(1)
End Sub

Private Sub LstHeaded_DblClick()
    If LstHeaded.SelCount <> 1 Then Exit Sub
    cmdHeadArrow_Click 1
End Sub

⌨️ 快捷键说明

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