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

📄 frmprize.frm

📁 适用一般于毕业设计! VB代码源加SQL 数据库 ··
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX"
Begin VB.Form FrmPrize 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "学生奖励管理"
   ClientHeight    =   6255
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   10275
   Icon            =   "FrmPrize.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   6255
   ScaleWidth      =   10275
   ShowInTaskbar   =   0   'False
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   2760
      Top             =   1260
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483628
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   16777215
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   5
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "FrmPrize.frx":06EA
            Key             =   "imgGlobalFolder"
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "FrmPrize.frx":307C
            Key             =   "imgClosedFolder"
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "FrmPrize.frx":3416
            Key             =   "imgOpenedFolder"
         EndProperty
         BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "FrmPrize.frx":37B0
            Key             =   "imgDeselectedFile"
         EndProperty
         BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "FrmPrize.frx":3B4A
            Key             =   "imgSelectedFile"
         EndProperty
      EndProperty
   End
   Begin VB.CommandButton cmdClose 
      Cancel          =   -1  'True
      Caption         =   "关闭"
      Height          =   400
      Left            =   8460
      TabIndex        =   4
      Top             =   5580
      Width           =   1275
   End
   Begin VB.CommandButton cmdDel 
      Caption         =   "删除"
      Height          =   400
      Left            =   6840
      TabIndex        =   3
      Top             =   5580
      Width           =   1275
   End
   Begin VB.CommandButton cmdEdit 
      Caption         =   "修改"
      Height          =   400
      Left            =   5220
      TabIndex        =   2
      Top             =   5580
      Width           =   1275
   End
   Begin VB.CommandButton cmdAdd 
      Caption         =   "添加"
      Height          =   400
      Left            =   3600
      TabIndex        =   1
      Top             =   5580
      Width           =   1275
   End
   Begin MSComctlLib.TreeView TreeView1 
      Height          =   2355
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   2895
      _ExtentX        =   5106
      _ExtentY        =   4154
      _Version        =   393217
      HideSelection   =   0   'False
      LabelEdit       =   1
      Style           =   7
      ImageList       =   "ImageList1"
      Appearance      =   1
   End
   Begin MSDataGridLib.DataGrid DataGrid1 
      Height          =   5295
      Left            =   3180
      TabIndex        =   5
      Top             =   120
      Width           =   6975
      _ExtentX        =   12303
      _ExtentY        =   9340
      _Version        =   393216
      AllowUpdate     =   0   'False
      HeadLines       =   1
      RowHeight       =   15
      FormatLocked    =   -1  'True
      BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      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
      ColumnCount     =   4
      BeginProperty Column00 
         DataField       =   "StuName"
         Caption         =   "学生姓名"
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column01 
         DataField       =   "PDate"
         Caption         =   "奖励日期"
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column02 
         DataField       =   "PReason"
         Caption         =   "奖励原因"
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column03 
         DataField       =   "PDetail"
         Caption         =   "详细说明"
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      SplitCount      =   1
      BeginProperty Split0 
         BeginProperty Column00 
            ColumnWidth     =   959.811
         EndProperty
         BeginProperty Column01 
            ColumnWidth     =   1049.953
         EndProperty
         BeginProperty Column02 
            ColumnWidth     =   1560.189
         EndProperty
         BeginProperty Column03 
            ColumnWidth     =   2819.906
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.ListView ListView1 
      Height          =   3435
      Left            =   120
      TabIndex        =   6
      Top             =   2640
      Width           =   2895
      _ExtentX        =   5106
      _ExtentY        =   6059
      View            =   3
      LabelEdit       =   1
      LabelWrap       =   -1  'True
      HideSelection   =   0   'False
      FullRowSelect   =   -1  'True
      _Version        =   393217
      ForeColor       =   -2147483640
      BackColor       =   -2147483643
      BorderStyle     =   1
      Appearance      =   1
      NumItems        =   0
   End
End
Attribute VB_Name = "FrmPrize"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public rsPrize As New ADODB.Recordset    '声明学生奖励信息记录集

Private Sub Form_Load()
  Dim TmpNode As Node

  '加入根结点(学校)
  Set TmpNode = TreeView1.Nodes.Add(, , "a0", "长沙环境保护职业技术学院", "imgGlobalFolder")
  TmpNode.Selected = True
  TmpNode.Expanded = True
  TreeView1.LabelEdit = tvwManual
  TreeView1.HideSelection = False

  '设置ListView控件列(增加列标题,显示格式等)
  ListView1.ColumnHeaders.Add , , "学号", ListView1.Width / 2
  ListView1.ColumnHeaders.Add , , "姓名", ListView1.Width / 2
  ListView1.View = lvwReport              '设置外观为报表样式
  ListView1.LabelEdit = lvwManual
  ListView1.FullRowSelect = True
  ListView1.HideSelection = False

  '调用通用函数将所有班级或院系添加到TreeView1中
  Call Add_ClassToTree(TreeView1, "a0")
  Call TreeView1_Click

  DataGrid1.AllowUpdate = False   '初始化DataGrid控件
  Left = 0
  Top = 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
  If rsPrize.State = adStateOpen Then rsPrize.Close
  Set rsPrize = Nothing
  
  Set FrmPrize = Nothing
End Sub

Private Sub TreeView1_Click()
  Dim sClassID As String
  Dim strSql As String
  Dim Rs As New ADODB.Recordset
  Dim itmX As ListItem
  Dim Tmp_Key As String

  ListView1.ListItems.Clear
  sClassID = Right(TreeView1.SelectedItem.Key, Len(TreeView1.SelectedItem.Key) - 1)
  strSql = "SELECT StuID, StuNo, StuName FROM students " & _
           "WHERE ClassId='" & sClassID & "' order by StuNo"
  Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly
  If Rs.RecordCount > 0 Then
    '添加默认<全部>项(关键字为"b0"),可用来显示该班所有学生的奖励信息
    Set itmX = ListView1.ListItems.Add(, "b0", "<全部>")
    '遍历该班级所有学生,将学生数据加入ListView1中
    Do Until Rs.EOF
      Tmp_Key = "b" & Rs!StuID
      Set itmX = ListView1.ListItems.Add(, Tmp_Key, Rs!StuNo)
      itmX.SubItems(1) = Rs!StuName
      
      Rs.MoveNext
    Loop
  End If
  Rs.Close
  Set Rs = Nothing
  
  '如果该班级存在学生,选中ListView中第1项,并显示相应的奖励记录;
  '如果不存在学生,采用top 0获得空的记录集,使奖励记录显示为空
  If ListView1.ListItems.Count > 0 Then
    ListView1.SelectedItem.Selected = True
    Call ListView1_Click
  Else
    '如果rsPrize对象已打开,则先关闭
    If rsPrize.State = adStateOpen Then rsPrize.Close
    '控制DataGrid1中显示为空
    strSql = "select top 0 Prize.*,students.StuNo,StuName from Prize,students " & _
             "where Prize.StuID=students.StuID"
    rsPrize.Open strSql, Conn, adOpenStatic, adLockBatchOptimistic  '批更新模式
    '批更新模式:更新本记录集时,仅影响本记录集本身以及关联DataGrid的显示,
    '不会自动影响本记录集所涉及的数据表,除非调用记录集的UpdateBatch方法,
    '对于涉及到多表查询的记录集的更新,可采用这种模式,具体见增/删/改的操作
    Set DataGrid1.DataSource = rsPrize    '记录集与DataGrid控件进行关联
  End If
End Sub

Private Sub ListView1_Click()
  Dim sClassID As String
  Dim sStuID As String
  Dim strSql As String

  If ListView1.ListItems.Count > 0 Then
    '获取班级内码
    sClassID = Right(TreeView1.SelectedItem.Key, Len(TreeView1.SelectedItem.Key) - 1)
    '获取学生内码(如果为0,则表示选择的是<全部>项)
    sStuID = Right(ListView1.SelectedItem.Key, Len(ListView1.SelectedItem.Key) - 1)
    If sStuID = "0" Then      '选择<全部>项
      '查询该班级所有学生的奖励信息(以学号、日期排序)
      strSql = "select Prize.*,students.StuNo,StuName from Prize,students " & _
               "where Prize.StuID=students.StuID and students.ClassID='" & _
               sClassID & "' order by students.StuNo,Prize.PDate DESC"
    Else
      '查询某一个学生的奖励信息
      strSql = "select Prize.*,students.StuNo,StuName from Prize,students " & _
               "where Prize.StuID=students.StuID and students.StuID='" & _
               sStuID & "' order by students.StuNo,Prize.PDate DESC"
    End If
    '如果rsPrize对象已打开,则先关闭
    If rsPrize.State = adStateOpen Then rsPrize.Close
    '重新打开
    rsPrize.Open strSql, Conn, adOpenStatic, adLockBatchOptimistic    '批更新模式
    Set DataGrid1.DataSource = rsPrize
  End If
End Sub

Private Sub cmdAdd_Click()
  Dim sStuID As String
  
  If ListView1.ListItems.Count = 0 Then
    MsgBox "没有学生记录", vbExclamation + vbOKOnly, "操作提示"
    Exit Sub
  End If
  sStuID = Right(ListView1.SelectedItem.Key, Len(ListView1.SelectedItem.Key) - 1)
  If sStuID = "0" Then      '选择<全部>项
    MsgBox "请选择一个学生", vbExclamation + vbOKOnly, "操作提示"
    Exit Sub
  End If

  ModifyFlag = 0          '以添加记录方式,打开奖励信息编辑窗体
  FrmPrizeUpdate.Show 1
End Sub

Private Sub cmdEdit_Click()
  If rsPrize.RecordCount = 0 Then
    MsgBox "没有可修改的记录", vbExclamation + vbOKOnly, "操作提示"
    Exit Sub
  End If
  
  ModifyFlag = 1                ''以修改记录方式,打开奖励信息编辑窗体
  FrmPrizeUpdate.Show 1
End Sub

Private Sub cmdDel_Click()
  On Error GoTo ErrorHandle
  Dim blnState As Boolean   '标志变量:True-事务未全部完成,False-全部完成
  
  If rsPrize.RecordCount = 0 Then
    MsgBox "没有可删除的记录", vbExclamation + vbOKOnly, "操作提示"
    Exit Sub
  End If

  '确认删除
  If MsgBox("确实要删除当前记录吗?", _
              vbQuestion + vbYesNo, "操作提示") = vbNo Then
    Exit Sub
  End If
  
  Conn.BeginTrans   '开始事务
  blnState = True     '设置标志状态
  
  '正式删除
  '使用连接对象从Prize表中删除当前奖励记录
  Conn.Execute "delete from Prize where ID='" & rsPrize!ID & "'"
  '同时把当前记录从RsPrize记录集中删除,以便不在DataGrid控件上显示出来
  'rsPrize是批更新模式,记录集的删除不会影响到所涉及的数据表中的数据
  rsPrize.Delete
  
  Conn.CommitTrans    '提交事务
  blnState = False      '取消标志状态
  
  '如果删除后还存在记录,移动到下一条;若已经到底,则移到最后一条记录上
  If rsPrize.RecordCount > 0 Then
    rsPrize.MoveNext
    If rsPrize.EOF Then
      rsPrize.MoveLast
    End If
  End If
  
  On Error GoTo 0
  Exit Sub
  
ErrorHandle:
  If blnState = True Then Conn.RollbackTrans    '在事务中发生错误,回滚事务
  MsgBox Error(Err.Number), vbExclamation + vbOKOnly, "操作提示"
End Sub

Private Sub cmdClose_Click()
  Unload Me
End Sub


⌨️ 快捷键说明

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