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

📄 frmbarscreen.frm

📁 排队分诊管理系统源代码!该代码使用VB6开发环境
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmBarScreen 
   Caption         =   "窗口条屏系统设置"
   ClientHeight    =   6015
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8415
   Icon            =   "frmBarScreen.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MDIChild        =   -1  'True
   ScaleHeight     =   6015
   ScaleWidth      =   8415
   WindowState     =   2  'Maximized
   Begin VB.CommandButton cmdQuit 
      Caption         =   "关闭(&C)"
      Height          =   375
      Left            =   7200
      TabIndex        =   2
      Top             =   5520
      Width           =   1095
   End
   Begin VB.CommandButton cmdRefresh 
      Caption         =   "刷新(&R)"
      Height          =   375
      Left            =   6120
      TabIndex        =   6
      Top             =   5520
      Width           =   1095
   End
   Begin VB.CommandButton cmdDelete 
      Caption         =   "删除(&D)"
      Enabled         =   0   'False
      Height          =   375
      Left            =   2040
      TabIndex        =   5
      Top             =   5520
      Width           =   975
   End
   Begin VB.CommandButton cmdChange 
      Caption         =   "修改(&M)"
      Enabled         =   0   'False
      Height          =   375
      Left            =   1080
      TabIndex        =   4
      Top             =   5520
      Width           =   975
   End
   Begin VB.CommandButton cmdAddNew 
      Caption         =   "添加(&A)"
      Height          =   375
      Left            =   120
      TabIndex        =   3
      Top             =   5520
      Width           =   975
   End
   Begin VB.TextBox txtScreen 
      Height          =   270
      Left            =   1320
      TabIndex        =   0
      Top             =   160
      Width           =   6495
   End
   Begin VB.Frame fra1 
      Caption         =   "窗口条屏参数列表"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   4815
      Left            =   120
      TabIndex        =   8
      Top             =   600
      Width           =   8175
      Begin MSComctlLib.ListView lsvScreen 
         Height          =   4455
         Left            =   120
         TabIndex        =   1
         Top             =   240
         Width           =   7935
         _ExtentX        =   13996
         _ExtentY        =   7858
         View            =   3
         LabelEdit       =   1
         Sorted          =   -1  'True
         LabelWrap       =   -1  'True
         HideSelection   =   0   'False
         FullRowSelect   =   -1  'True
         GridLines       =   -1  'True
         _Version        =   393217
         ForeColor       =   -2147483640
         BackColor       =   -2147483643
         Appearance      =   1
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "宋体"
            Size            =   9.75
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         NumItems        =   5
         BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Text            =   "条屏编号"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   1
            Text            =   "条屏说明"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   2
            Text            =   "服务类型"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   3
            Text            =   "服务名称"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   4
            Text            =   "条屏型号"
            Object.Width           =   3528
         EndProperty
      End
   End
   Begin MSComctlLib.StatusBar stbInfo 
      Height          =   300
      Index           =   0
      Left            =   120
      TabIndex        =   7
      Top             =   120
      Width           =   1095
      _ExtentX        =   1931
      _ExtentY        =   529
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   1
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Bevel           =   2
            Object.Width           =   3316
            MinWidth        =   3316
            Text            =   "条屏数量:"
            TextSave        =   "条屏数量:"
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.StatusBar stbInfo 
      Height          =   300
      Index           =   1
      Left            =   7920
      TabIndex        =   9
      Top             =   120
      Width           =   375
      _ExtentX        =   661
      _ExtentY        =   529
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   1
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Bevel           =   2
            Object.Width           =   3316
            MinWidth        =   3316
            Text            =   "个"
            TextSave        =   "个"
         EndProperty
      EndProperty
   End
End
Attribute VB_Name = "frmBarScreen"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim m_tagErrInfo    As TYPE_ERRORINFO

Dim m_bChoice       As Boolean                          '是否选择了 ListView 的选项
Dim m_iChoice       As Integer                          '选择的 ListView 的选项的 Key

Private Sub cmdAddNew_Click()
    On Error Resume Next
    Dim dlg As dlgBarScreen
    
    Set dlg = New dlgBarScreen
    Load dlg
    If dlg.InitSet = True Then dlg.Show vbModal
    Set dlg = Nothing
    cmdRefresh_Click
End Sub

Private Sub cmdChange_Click()
    On Error Resume Next
    Dim dlg As dlgBarScreen
    
    Set dlg = New dlgBarScreen
    Load dlg
    dlg.ScreenCode = lsvScreen.ListItems(m_iChoice).Text
    If dlg.InitSet = True Then dlg.Show vbModal
    Set dlg = Nothing
    cmdRefresh_Click
End Sub

Private Sub cmdDelete_Click()
    On Error GoTo ERROR_EXIT
    Dim iTrans As Integer
    
    If MsgBox("是否删除选择的窗口条屏信息(Y/N)?", vbYesNo Or vbQuestion, "系统提示") = vbNo Then Exit Sub
    If CheckDelete = False Then
        MsgBox "该窗口条屏有关联的坐席服务信息,无法删除!", vbOKOnly, "系统提示"
        Exit Sub
    End If
    iTrans = dbMyDB.BeginTrans
    
    dbMyDB.Execute "DELETE FROM Style WHERE st_code = '" & lsvScreen.ListItems(m_iChoice).Text & _
                   "' AND st_type = 3"
    dbMyDB.Execute "DELETE FROM StyleRelation WHERE sr_type = 2 AND st_code = '" & _
                   lsvScreen.ListItems(m_iChoice).Text & "' AND st_type = 3"
    
    If iTrans > 0 Then
        dbMyDB.CommitTrans
        iTrans = 0
    End If
        
    cmdRefresh_Click
    
    Exit Sub
ERROR_EXIT:
    If iTrans > 0 Then dbMyDB.RollbackTrans
    m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
    m_tagErrInfo.strErrFile = "frmBarScreen"
    m_tagErrInfo.strErrFunc = "cmdDelete_Click"
    m_tagErrInfo.nErrNum = Err.Number
    m_tagErrInfo.strErrDesc = Error(Err.Number)
    If Err.Number <> 0 Then Err.Clear
    modErrorInfo.WriteErrLog m_tagErrInfo
End Sub

Private Sub cmdQuit_Click()
    On Error Resume Next
    Unload Me
End Sub

Private Sub cmdRefresh_Click()
    On Error Resume Next
    m_bChoice = False
    m_iChoice = 0
    txtScreen.Enabled = False
    cmdChange.Enabled = False
    cmdDelete.Enabled = False
    InitListInfo
End Sub

Private Sub Form_Load()
    On Error Resume Next
    m_bChoice = False
    m_iChoice = 0
    txtScreen.Enabled = False
    cmdChange.Enabled = False
    cmdDelete.Enabled = False
    InitListInfo
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    Dim i As Integer, j As Integer

    If Me.WindowState = 1 Then Exit Sub
    
    If Me.Width < 8535 Then Me.Width = 8535
    If Me.Height < 6420 Then Me.Height = 6420
    
    i = Me.Width - 8535
    j = Me.Height - 6420

    '修改宽度
    txtScreen.Width = i + 6495
    fra1.Width = i + 8175
    lsvScreen.Width = i + 7935
    cmdRefresh.Left = i + 6120
    cmdQuit.Left = i + 7200
    stbInfo(1).Left = i + 7920
    
    '修改高度位置
    fra1.Height = j + 4815
    lsvScreen.Height = j + 4455
    
    cmdAddNew.Top = j + 5520
    cmdChange.Top = j + 5520
    cmdDelete.Top = j + 5520
    cmdRefresh.Top = j + 5520
    cmdQuit.Top = j + 5520
End Sub

Private Sub Form_Terminate()
    On Error Resume Next
    Set frmBarScreen = Nothing
End Sub

Private Sub lsvScreen_ItemClick(ByVal Item As MSComctlLib.ListItem)
    On Error Resume Next
    m_bChoice = True
    m_iChoice = Item.Index
    cmdChange.Enabled = True
    cmdDelete.Enabled = True
End Sub

Private Sub txtScreen_GotFocus()
    On Error Resume Next
    txtScreen.BackColor = &H80000018
End Sub

Private Sub txtScreen_KeyPress(KeyAscii As Integer)
    On Error Resume Next
    If KeyAscii = 13 Then  '是回车键?
    KeyAscii = 0 '0取消输入
    SendKeys "{tab}"
    End If
End Sub

Private Sub txtScreen_LostFocus()
    On Error Resume Next
    txtScreen.BackColor = &H80000005
End Sub

'/////////////////////////////////////////////////////////////////////////////////////////
'/初始化 List 控件信息
Private Function InitListInfo() As Boolean
    On Error GoTo ERROR_EXIT
    Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
    Dim strSQL As String, i As Integer
    Dim itmX As ListItem
    
    lsvScreen.ListItems.Clear
    
    '连接数据库
    cmd.ActiveConnection = dbMyDB
    cmd.CommandType = adCmdText
    
    '查询数据库
    strSQL = "SELECT * FROM Style WHERE st_type = 3 AND st_code IN" & _
             "(SELECT st_code FROM StyleRelation WHERE sr_type = 2 AND st_type = 3)"
    cmd.CommandText = strSQL
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenStatic, adLockReadOnly
    If Not rs.EOF And rs.RecordCount > 0 Then
        rs.MoveFirst
        For i = 1 To rs.RecordCount
            Set itmX = lsvScreen.ListItems.Add(, , rs!st_code)
            If Not IsNull(rs!st_name) Then itmX.SubItems(1) = rs!st_name
            If Not IsNull(rs!st_mode) Then itmX.SubItems(4) = rs!st_mode
            rs.MoveNext
        Next i
    Else
        InitListInfo = False
        Exit Function
    End If
    rs.Close
    
    For i = 1 To lsvScreen.ListItems.Count
        strSQL = "SELECT * FROM Style WHERE st_type = 1 AND st_code IN" & _
                 "(SELECT rt_code FROM StyleRelation WHERE sr_type = 2 AND st_type = 3 AND st_code = '" & _
                 lsvScreen.ListItems(i).Text & "' AND rt_type = 1)"
        cmd.CommandText = strSQL
        rs.CursorLocation = adUseClient
        rs.Open cmd, , adOpenStatic, adLockReadOnly
        If Not rs.EOF And rs.RecordCount > 0 Then
            rs.MoveFirst
            lsvScreen.ListItems(i).SubItems(2) = rs!st_code
            lsvScreen.ListItems(i).SubItems(3) = rs!st_name
        Else
            lsvScreen.ListItems(i).SubItems(2) = ""
            lsvScreen.ListItems(i).SubItems(3) = ""
        End If
        rs.Close
    Next i
        
    txtScreen.Text = lsvScreen.ListItems.Count
    
    If rs.State = adStateOpen Then rs.Close
    Set rs = Nothing
    Set cmd = Nothing
    
    InitListInfo = True
    Exit Function
ERROR_EXIT:
    m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
    m_tagErrInfo.strErrFile = "frmBarScreen"
    m_tagErrInfo.strErrFunc = "InitListInfo"
    m_tagErrInfo.nErrNum = Err.Number
    m_tagErrInfo.strErrDesc = Error(Err.Number)
    If Err.Number <> 0 Then Err.Clear
    modErrorInfo.WriteErrLog m_tagErrInfo
    
    InitListInfo = False
End Function

'/////////////////////////////////////////////////////////////////////////////////////////////
'/检查能否删除相关信息
Private Function CheckDelete() As Boolean
    On Error Resume Next
    Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
    Dim strSQL As String, bResult As Boolean
    
    '连接数据库
    cmd.ActiveConnection = dbMyDB
    cmd.CommandType = adCmdText
    
    bResult = False
    
    '查询数据库
    strSQL = "SELECT * FROM StyleRelation WHERE sr_type = 1 AND rt_code = '" & _
             lsvScreen.ListItems(m_iChoice).Text & "' AND rt_type = 3"
    cmd.CommandText = strSQL
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenStatic, adLockReadOnly
    If Not rs.EOF And rs.RecordCount > 0 Then
        bResult = False
    Else
        bResult = True
    End If
    rs.Close
    
    If rs.State = adStateOpen Then rs.Close
    Set rs = Nothing
    Set cmd = Nothing
    
    CheckDelete = bResult
End Function


⌨️ 快捷键说明

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