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

📄 frmreader1.frm

📁 VB所写的图书管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "frmReader1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'是否改动过记录,ture为改过
Dim mblChange As Boolean
Dim mrc As ADODB.Recordset
Public txtSQL As String


Private Sub cboItem_Change(Index As Integer)
    '有变化设置gblchange
    mblChange = True
End Sub

Private Sub cboItem_Click(Index As Integer)
    Dim sSql As String
    Dim MsgText As String
    Dim mrccc As ADODB.Recordset
    Dim intCount As Integer
    
    
    
        '初始化员工名称和ID
        If Index = 1 Then
                        
            txtSQL = "select * from readertype where typename = '" & Trim(cboItem(1)) & "'"
            Set mrccc = ExecuteSQL(txtSQL, MsgText)
                
            If Not mrccc.EOF Then
                
                cboItem(0).Clear
                cboItem(0).AddItem Trim(mrccc.Fields(0))
                cboItem(0).ListIndex = 0
                
                For intCount = 2 To 4
                    cboItem(intCount).Clear
                    cboItem(intCount).AddItem Trim(mrccc.Fields(intCount))
                    cboItem(intCount).ListIndex = 0
                Next intCount
            End If
            mrccc.Close
        
        End If
        
        
   
    
    
End Sub

Private Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
    EnterToTab KeyCode
    
End Sub

Private Sub cmdExit_Click()
    If mblChange And cmdSave.Enabled Then
        If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
            '保存
            Call cmdSave_Click
        End If
    End If
    Unload Me
End Sub

Private Sub cmdSave_Click()
    Dim intCount As Integer
    Dim sMeg As String
    Dim mrcc As ADODB.Recordset
    Dim MsgText As String
    
    For intCount = 0 To 6
        If Trim(txtItem(intCount) & " ") = "" Then
            Select Case intCount
                Case 0
                    sMeg = "读者编号"
                Case 1
                    sMeg = "读者姓名"
                Case 2
                    sMeg = "工作单位"
                Case 3
                    sMeg = "家庭住址"
                Case 4
                    sMeg = "电话号码"
                Case 5
                    sMeg = "电子邮件地址"
                Case 6
                    sMeg = "办证日期"
            End Select
            sMeg = sMeg & "不能为空!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            txtItem(intCount).SetFocus
        
            Exit Sub
        End If
    Next intCount
    
    If Not IsDate(Trim(txtItem(6))) Then
        MsgBox "请输入日期!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    Else
        txtItem(6) = Format(txtItem(6), "yyyy-mm-dd")
    End If
   
    
    If gintRmode = 1 Then
        txtSQL = "select * from readers where readerno='" & Trim(txtItem(0)) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        If mrc.EOF = False Then
            MsgBox "已经存在此读者编号的记录!", vbOKOnly + vbExclamation, "警告"
            txtItem(0).SetFocus
            Exit Sub
        End If
        mrc.Close
    End If
    
    
    If gintRmode = 2 Then
        '先删除已有记录
        txtSQL = "delete from readers where readerno='" & Trim(txtItem(0)) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
    End If
    
    '再加入新记录
    txtSQL = "select * from readers"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    mrc.AddNew
    
    For intCount = 0 To 1
        mrc.Fields(intCount) = Trim(txtItem(intCount))
    Next intCount
    
    mrc.Fields(2) = Trim(cboItem(5))
    mrc.Fields(3) = Trim(cboItem(1))
    
    For intCount = 2 To 7
        mrc.Fields(intCount + 2) = Trim(txtItem(intCount))
    Next intCount
    
    mrc.Update
    mrc.Close
   
    
        
    If gintRmode = 1 Then
        For intCount = 0 To 7
            txtItem(intCount) = ""
        Next intCount
        
        mblChange = False
        If flagRedit Then
            Unload frmReader
            frmReader.txtSQL = "select * from readers"
            frmReader.Show
        End If
    ElseIf gintRmode = 2 Then
        Unload Me
        If flagRedit Then
            Unload frmReader
        End If
        frmReader.txtSQL = "select * from readers"
        frmReader.Show
        
    End If
    
End Sub

Private Sub Form_Load()
    Dim sSql As String
    Dim intCount As Integer
    Dim MsgText As String
    Dim mrcc As ADODB.Recordset
    
    
   
    If gintRmode = 1 Then
        Me.Caption = Me.Caption & "添加"
        
        '初始化物资名称
        txtSQL = "select DISTINCT typename from readertype"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If Not mrc.EOF Then
            
                Do While Not mrc.EOF
                    cboItem(1).AddItem Trim(mrc.Fields(0))
                    mrc.MoveNext
                Loop
                cboItem(1).ListIndex = 0
            
        Else
            MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
            cmdSave.Enabled = False
            Exit Sub
        End If
        mrc.Close
        
        cboItem(5).AddItem "男"
        cboItem(5).AddItem "女"
        
        
                
    ElseIf gintRmode = 2 Then
       
        
        
        Set mrcc = ExecuteSQL(txtSQL, MsgText)
        
        If mrcc.EOF = False Then
            With mrcc
                
                
                
                                
                For intCount = 0 To 1
                    If Not IsNull(.Fields(intCount)) Then
                        txtItem(intCount) = .Fields(intCount)
                    End If
                Next intCount
                
                cboItem(1).Clear
                cboItem(1).AddItem .Fields(3)
                cboItem(1).ListIndex = 0
                
                cboItem(5).Clear
                cboItem(5).AddItem .Fields(2)
                cboItem(5).ListIndex = 0
                
                For intCount = 2 To 7
                    If Not IsNull(.Fields(intCount)) Then
                        txtItem(intCount) = .Fields(intCount + 2)
                    End If
                Next intCount
                
                
                
                txtSQL = "select * from readertype where typename = '" & Trim(cboItem(0)) & "'"
                Set mrc = ExecuteSQL(txtSQL, MsgText)
                
                If Not mrc.EOF Then
                        
                        cboItem(0).Clear
                        cboItem(0).AddItem Trim(mrc.Fields(0))
                        cboItem(0).ListIndex = 0
                    
                        For intCount = 2 To 4
                            cboItem(intCount).Clear
                            cboItem(intCount).AddItem Trim(mrc.Fields(intCount))
                            cboItem(intCount).ListIndex = 0
                        Next intCount
                End If
                mrc.Close
                
                txtSQL = "select DISTINCT typename from readertype"
                Set mrc = ExecuteSQL(txtSQL, MsgText)
        
                If Not mrc.EOF Then
            
                    Do While Not mrc.EOF
                        cboItem(1).AddItem Trim(mrc.Fields(0))
                        mrc.MoveNext
                    Loop
                    
            
                Else
                    MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
                    cmdSave.Enabled = False
                    Exit Sub
                End If
                mrc.Close
                
                
                cboItem(5).Clear
                cboItem(5).AddItem "男"
                cboItem(5).AddItem "女"
        
                
                
                
                
                                
            End With
            
        End If
        mrcc.Close
        Me.Caption = Me.Caption & "修改"
            
        
    End If
    
    mblChange = False
    
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
    gintRmode = 0
End Sub





Private Sub txtItem_Change(Index As Integer)
    '有变化设置gblchange
    mblChange = True
    
    
End Sub


Private Sub txtItem_GotFocus(Index As Integer)
    txtItem(Index).SelStart = 0
    txtItem(Index).SelLength = Len(txtItem(Index))
    
End Sub

Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
        EnterToTab KeyCode

End Sub




⌨️ 快捷键说明

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