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

📄 frmreadermessage.frm

📁 实现某班级的图书信息管理
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form FrmReaderMessage 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "读者资料登记"
   ClientHeight    =   4680
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6720
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   4680
   ScaleWidth      =   6720
   Begin VB.ComboBox CmbDuty 
      Height          =   315
      ItemData        =   "FrmReaderMessage.frx":0000
      Left            =   1440
      List            =   "FrmReaderMessage.frx":0002
      TabIndex        =   19
      Top             =   2280
      Width           =   3855
   End
   Begin VB.Data DatRMessage 
      Caption         =   "Data2"
      Connect         =   "Access"
      DatabaseName    =   ""
      DefaultCursorType=   0  '缺省游标
      DefaultType     =   2  '使用 ODBC
      Exclusive       =   0   'False
      Height          =   375
      Left            =   4800
      Options         =   0
      ReadOnly        =   0   'False
      RecordsetType   =   1  'Dynaset
      RecordSource    =   ""
      Top             =   1680
      Visible         =   0   'False
      Width           =   1695
   End
   Begin VB.Data DatRTCount 
      Caption         =   "Data1"
      Connect         =   "Access"
      DatabaseName    =   ""
      DefaultCursorType=   0  '缺省游标
      DefaultType     =   2  '使用 ODBC
      Exclusive       =   0   'False
      Height          =   375
      Left            =   4920
      Options         =   0
      ReadOnly        =   0   'False
      RecordsetType   =   1  'Dynaset
      RecordSource    =   ""
      Top             =   3000
      Visible         =   0   'False
      Width           =   1695
   End
   Begin VB.TextBox TxtAge 
      Height          =   375
      Left            =   1440
      MaxLength       =   3
      TabIndex        =   18
      Top             =   1605
      Width           =   855
   End
   Begin VB.TextBox TxtReaderName 
      Height          =   375
      Left            =   1440
      MaxLength       =   10
      TabIndex        =   17
      Top             =   840
      Width           =   1575
   End
   Begin VB.TextBox TxtRTimes 
      Height          =   375
      Left            =   1440
      MaxLength       =   10
      TabIndex        =   16
      Top             =   2880
      Width           =   855
   End
   Begin VB.TextBox TxtReaderIndex 
      Height          =   375
      Left            =   1440
      MaxLength       =   10
      TabIndex        =   15
      Top             =   240
      Width           =   1575
   End
   Begin VB.ComboBox CmbSex 
      Height          =   300
      ItemData        =   "FrmReaderMessage.frx":0004
      Left            =   3360
      List            =   "FrmReaderMessage.frx":000E
      Style           =   2  'Dropdown List
      TabIndex        =   14
      Top             =   1680
      Width           =   1095
   End
   Begin VB.CommandButton CmdPrevious 
      Caption         =   "上一个"
      Height          =   375
      Left            =   240
      TabIndex        =   8
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdSave 
      Caption         =   "保存"
      Height          =   375
      Left            =   4740
      TabIndex        =   7
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdNext 
      Caption         =   "下一个"
      Height          =   375
      Left            =   1140
      TabIndex        =   6
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdDelete 
      Caption         =   "删除"
      Height          =   375
      Left            =   2040
      TabIndex        =   5
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdExit 
      Caption         =   "关闭"
      Height          =   375
      Left            =   5640
      TabIndex        =   4
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdRegister 
      Caption         =   "登记"
      Height          =   375
      Left            =   3840
      TabIndex        =   3
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdCancel 
      Caption         =   "取消"
      Height          =   375
      Left            =   3840
      TabIndex        =   2
      Top             =   3720
      Width           =   855
   End
   Begin VB.CommandButton CmdEdit 
      Caption         =   "修改"
      Height          =   375
      Left            =   2940
      TabIndex        =   1
      Top             =   3720
      Width           =   855
   End
   Begin MSComctlLib.StatusBar StatusBar1 
      Align           =   2  'Align Bottom
      Height          =   375
      Left            =   0
      TabIndex        =   20
      Top             =   4305
      Width           =   6720
      _ExtentX        =   11853
      _ExtentY        =   661
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   4
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Style           =   6
            Object.Width           =   1764
            MinWidth        =   1764
            TextSave        =   "04-3-30"
         EndProperty
         BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Object.Width           =   3881
            MinWidth        =   3881
         EndProperty
         BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Object.Width           =   3528
            MinWidth        =   3528
         EndProperty
         BeginProperty Panel4 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Object.Width           =   2822
            MinWidth        =   2822
            Text            =   "帮助请按F1"
            TextSave        =   "帮助请按F1"
         EndProperty
      EndProperty
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
   Begin VB.Label Label2 
      Caption         =   "性别"
      Height          =   255
      Index           =   5
      Left            =   2640
      TabIndex        =   13
      Top             =   1680
      Width           =   615
   End
   Begin VB.Label Label2 
      Caption         =   "职务"
      Height          =   375
      Index           =   4
      Left            =   480
      TabIndex        =   12
      Top             =   2280
      Width           =   855
   End
   Begin VB.Label Label2 
      Caption         =   "借书次数"
      Height          =   255
      Index           =   3
      Left            =   480
      TabIndex        =   11
      Top             =   3000
      Width           =   855
   End
   Begin VB.Label Label2 
      Caption         =   "读者姓名"
      Height          =   375
      Index           =   0
      Left            =   480
      TabIndex        =   10
      Top             =   840
      Width           =   855
   End
   Begin VB.Label Label1 
      Caption         =   "读者编号"
      Height          =   375
      Left            =   480
      TabIndex        =   9
      Top             =   360
      Width           =   855
   End
   Begin VB.Line Line1 
      BorderColor     =   &H80000006&
      X1              =   0
      X2              =   6720
      Y1              =   3480
      Y2              =   3480
   End
   Begin VB.Line Line2 
      BorderColor     =   &H80000005&
      X1              =   0
      X2              =   6720
      Y1              =   3540
      Y2              =   3540
   End
   Begin VB.Label Label2 
      Caption         =   "年龄"
      Height          =   375
      Index           =   2
      Left            =   480
      TabIndex        =   0
      Top             =   1680
      Width           =   615
   End
End
Attribute VB_Name = "FrmReaderMessage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
 '************************************************************************
     '本窗本用于添加读者资料。与添加图书的那个窗体一样存在同样的问题,
 '*************************************************************************
Option Explicit
Public recRs As Recordset
'Private bMark As String
Private Mindex As Integer
Private mAdd As Boolean
 Private Sub CmdCancel_Click()
    
    EditEnable (True)
    Datatotext
    
End Sub

Private Sub CmdDelete_Click()
    
    Dim dbname As String
    Dim mdb As Database
    Dim rs As Recordset
    Dim i, k As Integer
    
    If Right(App.Path, 1) <> "\" Then
       dbname = App.Path & "\LibraryDB.mdb"
    Else
    
        dbname = App.Path & "librarydb.mdb"
    End If
    
    Set mdb = OpenDatabase(dbname)
    Set rs = mdb.OpenRecordset("select borrowmessage.readerindex ,borrowmessage.returntime" _
    & " from borrowmessage where borrowmessage.readerindex = " & Val(TxtReaderIndex))
    
    If rs.RecordCount > 0 Then
       rs.MoveLast
       i = rs.RecordCount
       rs.MoveFirst
       
       For k = 1 To i
            If rs.Fields("returntime") = #1/1/1111# Then
                 
                 MsgBox "读者还有书未还,记录不可删除!", vbOKOnly + vbInformation, "读者资料登记"
                 Exit Sub
            End If
            If rs.EOF = False Then    '这使得即使多循环了,也不会报错
            rs.MoveNext
            End If
       Next

    End If

    If recRs.RecordCount > 0 Then
         With recRs
             If MsgBox("确实要删除这条记录吧?", vbOKCancel + vbQuestion, "读者资料登记") = vbOK Then
                .Delete
                .MoveNext
            
                If .EOF Then
                    .MovePrevious
                End If
            Else
                Exit Sub
            End If
            Datatotext
            StatusBar1.Panels(3).Text = Position
            StatusBar1.Panels(2).Text = "当前状态:浏览"
        End With
    Else
           Exit Sub
    End If
End Sub

Private Sub CmdEdit_Click()
    
    EditEnable (False)
    With recRs
        .Edit
    End With
    TxtReaderName.SetFocus
    StatusBar1.Panels(2).Text = "当前状态:修改记录"
    
End Sub

Private Sub CmdExit_Click()
     Set recRs = Nothing
     DatRMessage.RecordSource = ""
     DatRMessage.DatabaseName = ""
     Unload Me
End Sub

Private Sub CmdNext_Click()
    CmdPrevious.Enabled = True
    If recRs.RecordCount > 0 Then
        With recRs
            .MoveNext
           If .EOF Then
                MsgBox "这已经是最后一条记录了", vbOKOnly + vbInformation, "读者资料登记"
                .MovePrevious
                CmdNext.Enabled = False
                Exit Sub
            End If
            Datatotext
            StatusBar1.Panels(3).Text = Position
            StatusBar1.Panels(2).Text = "当前状态:浏览"
        End With
    End If
End Sub

Private Sub CmdPrevious_Click()
    
    CmdNext.Enabled = True
    
    If recRs.RecordCount > 0 Then
        
        With recRs
            .MovePrevious
            If .BOF Then
                MsgBox "这已经是第一条记录了", vbOKOnly + vbInformation, "读者资料登记"
                .MoveNext
                CmdPrevious.Enabled = False
                Exit Sub
            End If
            Datatotext
            StatusBar1.Panels(3).Text = Position
            StatusBar1.Panels(2).Text = "当前状态:浏览"
        End With
        
    End If
End Sub

Private Sub CmdRegister_Click()
    On Error Resume Next
    mAdd = True
    TextClear
    StatusBar1.Panels(2).Text = "当前状态:添加记录"
   
    recRs.MoveFirst
     '通过这一变量就可以取得后面addnew的编号即最新增加的编号,而不用别外从数据库中提取了。
    If Mindex = 0 Then
        '进行第一条记录的防错处理
        If recRs.RecordCount > 0 Then
            TxtReaderIndex.Text = recRs.Fields("readerindex") + 1
        Else
             recRs.AddNew
            TxtReaderIndex.Text = recRs.Fields("readerindex")
        End If
    Else
         TxtReaderIndex.Text = Mindex + 1 '将最新的编号加一就是接着的编号了。
    End If
   
    EditEnable (False)
    
End Sub

Private Sub CmdSave_Click()
  On Error GoTo errpro:
   
  If TxtReaderIndex.Text = "" Or TxtReaderName.Text = "" Or TxtAge.Text = "" Or _
    CmbDuty = "" Or TxtRTimes.Text = "" Or CmbSex.Text = "" Then
       MsgBox "所有的资料都不能为空,请填完整!", vbOKOnly, "读者资料登记"
      Exit Sub
  End If

  If Len(TxtReaderIndex.Text) > 10 Then
        
        MsgBox "图书编号不能超过10 位!", vbOKOnly + vbExclamation, "读者资料登记"
        TxtReaderIndex.SetFocus
        TxtReaderIndex.SelStart = 0
        TxtReaderIndex.SelLength = Len(TxtReaderIndex.Text)
        Exit Sub
    End If
    If mAdd = True Then '这说明是在添加状态,所以进行添加操作,如果为修改则不要了
        With recRs
            If .RecordCount > 0 Then
                .AddNew
                TxtReaderIndex.Text = .Fields("readerindex")
                Mindex = .Fields("readerindex")
            End If
        End With
        mAdd = False
    End If
    TextToData
    
    With recRs
        .Update
        '

⌨️ 快捷键说明

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