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

📄 frmlog.frm

📁 一个用VB写的财务软件源码
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form frmLog 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "上机日志"
   ClientHeight    =   6870
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   10815
   Icon            =   "frmLog.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6870
   ScaleWidth      =   10815
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  '屏幕中心
   WhatsThisButton =   -1  'True
   WhatsThisHelp   =   -1  'True
   Begin VB.CommandButton cmdDelete 
      Caption         =   "清除日志(&L)"
      Enabled         =   0   'False
      Height          =   345
      Left            =   9240
      TabIndex        =   6
      Top             =   40
      Width           =   1545
   End
   Begin VB.CommandButton cmdClear 
      Caption         =   "清除显示(&C)"
      Enabled         =   0   'False
      Height          =   345
      Left            =   7440
      TabIndex        =   4
      Top             =   40
      Width           =   1545
   End
   Begin VB.CommandButton cmdFilter 
      Caption         =   "范围筛选(&F)"
      Height          =   345
      Left            =   5640
      TabIndex        =   3
      Top             =   40
      Width           =   1545
   End
   Begin MSComctlLib.ProgressBar pBr 
      Height          =   270
      Left            =   20
      TabIndex        =   1
      Top             =   6550
      Width           =   7950
      _ExtentX        =   14023
      _ExtentY        =   476
      _Version        =   393216
      Appearance      =   0
   End
   Begin MSComctlLib.StatusBar sBr 
      Align           =   2  'Align Bottom
      Height          =   375
      Left            =   0
      TabIndex        =   0
      Top             =   6495
      Width           =   10815
      _ExtentX        =   19076
      _ExtentY        =   661
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   2
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Object.Width           =   14041
            MinWidth        =   14041
         EndProperty
         BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.ListView lvwLog 
      Height          =   6070
      Left            =   0
      TabIndex        =   5
      Top             =   425
      WhatsThisHelpID =   52
      Width           =   10815
      _ExtentX        =   19076
      _ExtentY        =   10716
      LabelEdit       =   1
      LabelWrap       =   -1  'True
      HideSelection   =   0   'False
      FullRowSelect   =   -1  'True
      _Version        =   393217
      ForeColor       =   -2147483640
      BackColor       =   -2147483643
      BorderStyle     =   1
      Appearance      =   1
      NumItems        =   0
   End
   Begin VB.Label lblRange 
      AutoSize        =   -1  'True
      Height          =   180
      Left            =   45
      TabIndex        =   2
      Top             =   120
      Width           =   90
   End
End
Attribute VB_Name = "frmLog"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim frmF As frmLogFilter
Dim bLoadfrmF As Boolean
Dim m_sDelete As String


Private Sub cmdClear_Click()
    lvwLog.ListItems.Clear
    sBr.Panels(2).text = ""
    cmdClear.Enabled = False
    cmdDelete.Enabled = False
End Sub

Private Sub cmdDelete_Click()
    Dim adoCmd As ADODB.Command
    
    If MsgBox("确实要删除所选范围的日志吗?", vbQuestion + vbYesNo) = vbYes Then
        If m_sDelete = "" Then
            If MsgBox("当前选择的范围是所有日志,是否全部删除?", _
                    vbQuestion + vbYesNo) = vbNo Then
                Exit Sub
            End If
        End If
        Set adoCmd = New ADODB.Command
        With adoCmd
            .ActiveConnection = gloSys.cnnSys
            .CommandType = adCmdText
            .CommandText = "DELETE FROM tSYS_Manage" & _
                IIf(m_sDelete = "", "", " WHERE " & m_sDelete)
            .Execute
            Call cmdClear_Click
        End With
    End If
                    
End Sub

Private Sub cmdFilter_Click()
    Dim sCondition As String
    Dim sTemp As String
    
    If Not bLoadfrmF Then
        Set frmF = New frmLogFilter
        Me.MousePointer = vbHourglass
        Load frmF
        Me.MousePointer = vbDefault
        bLoadfrmF = True
    End If
    
    frmF.Show 1, Me
    
    If frmF.OK Then
        sCondition = frmF.usQuery
        m_sDelete = frmF.usDelete
        '如果 m_sCondition 不为空,则它不带前后空格及可能的"WHERE"与"AND"
        lvwLog.ListItems.Clear
        sTemp = "select A.ComputerName as COMPU,B.SubSysName as SUBSY," & _
                "C.UserName as USERN,D.AccountName as ACCOU,A.AccountYear as AYEAR," & _
                "A.LoginDateTime as LOGDT,A.AccountID as AAID," & _
                "A.UserID as AUID" & _
                " from tSYS_Manage A,tSYS_SubSys B,tSYS_User C,tSYS_Account D" & _
                " where A.SubSysID=B.SubSysID and A.UserID=C.UserID and" & _
                " A.AccountID=D.AccountID" & _
                IIf(sCondition = "", "", " and " & sCondition) & _
                " order by 1,2,3,4,5,6"
        Me.MousePointer = vbHourglass
        Call FillLog(sTemp)
        Me.MousePointer = vbDefault
        cmdClear.Enabled = True
        cmdDelete.Enabled = True
    Else
        m_sDelete = ""
    End If
    
'    If m_sCondition <> "" Then
'    End If
    
End Sub




Private Sub Form_Load()
    
    With lvwLog
        .View = lvwReport
        With .ColumnHeaders
            .Add , , "流水号", 800
            .Add , , "运行机器", 1400
            .Add , , "子系统", 1500
            .Add , , "操作员", 1300
            .Add , , "账套", 1800
            .Add , , "会计年度", 1200
            .Add , , "进入时间", 2000
        End With
    End With
            
End Sub

Private Sub Form_Unload(Cancel As Integer)
    bLoadfrmF = False
End Sub




Private Sub FillLog(ByVal sSql As String)
    Dim ItmX As ListItem
    Dim rstTemp As ADODB.Recordset
    Dim i As Long, k As Long
    
    Set rstTemp = New ADODB.Recordset
    With rstTemp
        .CursorLocation = adUseClient
        .Open sSql, gloSys.cnnSys, adOpenStatic, adLockReadOnly
        If .RecordCount <> 0 Then
            pbr.Value = 0
            pbr.Visible = True
            i = 0
            k = 0
            Do Until .EOF
                k = k + 1
                Set ItmX = lvwLog.ListItems.Add(, , k)
                ItmX.SubItems(1) = .Fields("COMPU").Value
                ItmX.SubItems(2) = .Fields("SUBSY").Value
                ItmX.SubItems(3) = .Fields("USERN").Value & "(" & .Fields("AUID").Value & ")"
                ItmX.SubItems(4) = .Fields("ACCOU").Value & "(" & .Fields("AAID").Value & ")"
                ItmX.SubItems(5) = .Fields("AYEAR").Value
                ItmX.SubItems(6) = Format(.Fields("LOGDT").Value, "yyyy-MM-dd hh:mm:ss")
                pbr.Value = .AbsolutePosition / .RecordCount * 100
                sBr.Panels(2).text = .AbsolutePosition & " / " & .RecordCount
                i = i + 1
                If i = 100 Then
                    lvwLog.Refresh
                    i = 0
                End If
                .MoveNext
            Loop
            pbr.Visible = False
        Else
            sBr.Panels(2).text = "0 / 0"
        End If
        .Close
    End With
    
End Sub

⌨️ 快捷键说明

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