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

📄 frmaddexam.frm

📁 这是我们公司的题库管理系统,用VB实现,可以进行试题制作,编辑、试卷制作、试卷生成和试卷打印(A3/和A4)
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Height          =   375
      Left            =   1440
      Top             =   0
      Visible         =   0   'False
      Width           =   2295
      _ExtentX        =   4048
      _ExtentY        =   661
      ConnectMode     =   0
      CursorLocation  =   3
      IsolationLevel  =   -1
      ConnectionTimeout=   15
      CommandTimeout  =   30
      CursorType      =   3
      LockType        =   3
      CommandType     =   8
      CursorOptions   =   0
      CacheSize       =   50
      MaxRecords      =   0
      BOFAction       =   0
      EOFAction       =   0
      ConnectStringType=   3
      Appearance      =   1
      BackColor       =   -2147483643
      ForeColor       =   -2147483640
      Orientation     =   0
      Enabled         =   -1
      Connect         =   "DSN=TikuSys"
      OLEDBString     =   ""
      OLEDBFile       =   ""
      DataSourceName  =   "TikuSys"
      OtherAttributes =   ""
      UserName        =   ""
      Password        =   "8263958"
      RecordSource    =   "SELECT * FROM Exams"
      Caption         =   "AdcExams"
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      _Version        =   393216
   End
   Begin VB.Frame Frame1 
      Caption         =   "章节信息"
      Height          =   2535
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   2775
      Begin VB.ListBox List1 
         BackColor       =   &H80000016&
         Columns         =   1
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   10.5
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000006&
         Height          =   2160
         Left            =   240
         TabIndex        =   3
         Top             =   240
         Width           =   2295
      End
   End
   Begin VB.Line Line2 
      BorderColor     =   &H00FF00FF&
      Index           =   1
      X1              =   1560
      X2              =   1560
      Y1              =   2880
      Y2              =   3600
   End
   Begin VB.Line Line2 
      BorderColor     =   &H00C000C0&
      Index           =   0
      X1              =   1440
      X2              =   1440
      Y1              =   2880
      Y2              =   3600
   End
   Begin VB.Line Line1 
      BorderColor     =   &H00FF0000&
      BorderStyle     =   5  'Dash-Dot-Dot
      X1              =   240
      X2              =   2760
      Y1              =   3240
      Y2              =   3240
   End
   Begin VB.Shape Shape1 
      BackColor       =   &H000000FF&
      BorderColor     =   &H000000FF&
      FillColor       =   &H000000FF&
      Height          =   975
      Left            =   120
      Top             =   2760
      Width           =   2775
   End
   Begin VB.Menu mn_Add 
      Caption         =   "插入( &C )"
   End
   Begin VB.Menu mn_Edit 
      Caption         =   "编辑( &E )"
   End
End
Attribute VB_Name = "FrmAddExam"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim j As Integer

Private Sub Cmd_Add_Click()
  If Cmd_Add.Caption = "添加试题" Then
    ComClassName.Enabled = True
    ComTitleName.Enabled = True
    '可修改
    RichTitleName.Locked = False
    'RichTitleName.TextRTF = ""
    RichAnswer.Locked = False
    'RichAnswer.TextRTF = ""
    
    TxtDes.Enabled = True
    TxtDes.Text = ""
    Cmd_Add.Caption = "确  定"
    Cmd_Cancel.Caption = "取  消"
    
    AdcExams.Recordset.AddNew
    Cmd_Modi.Enabled = False
    Cmd_Del.Enabled = False
  Else
    Cmd_Cancel.Caption = "返  回"
    Cmd_Modi.Enabled = True
    Cmd_Del.Enabled = True
    
    If Verdict = True Then
      '开始添加一道题目
      Cmd_Add.Caption = "添加试题"
      '不可修改
      With AdcExams.Recordset
       .Fields(0) = MyExam.GetNewId()
       MyClass.GetInfo (MakeStr(ComClassName.Text))
       .Fields(1) = MyClass.ClassId '得到章节号
       .Fields(2) = MakeStr(ComTitleName.Text) '得到题型名
       .Fields(5) = CurUser.UserName '得到录入员
       .Fields(6) = MakeStr(TxtDes.Text) '得以备注
       .Update
       .MoveLast
        'MsgBox "题目添加成功"
        AdcExams.Refresh
        List1_Click
        ComClassName.Enabled = False
        ComTitleName.Enabled = False
        RichTitleName.Locked = True
        RichAnswer.Locked = True
        TxtDes.Enabled = False
      End With
    End If
  End If
End Sub

Private Sub Cmd_Cancel_Click()
  If Cmd_Cancel.Caption = "返  回" Then
    Unload Me
    Else
      Form_Load
      Cmd_Cancel.Caption = "返  回"
      Cmd_Add.Caption = "添加试题"
      Cmd_Modi.Caption = "修改试题"
      Cmd_Del.Caption = "删除试题"
      Cmd_Modi.Enabled = True
      Cmd_Del.Enabled = True
      Cmd_Add.Enabled = True
      ComClassName.Enabled = False
      ComTitleName.Enabled = False
      TxtDes.Enabled = False
  End If
  End Sub

Private Sub Cmd_Del_Click()
  If AdcExams.Recordset.EOF = True Or AdcExams.Recordset.BOF = True Then
    MsgBox "请选择要删除的题目"
    DataGrid1_Click
    Exit Sub
  End If
  
  '如果在某份试卷中已经有了这道题目,则不能删除
  If MyQuestionP.In_DBT(MyExam.ExamId) = True Then
    MsgBox "在某份试卷中已经有了这道题目,不能删除", vbOKOnly + 48, "警告"
    Exit Sub
  End If
  
  If MsgBox("请确定要删除此题!", vbOKCancel + 32, "确认") = vbOK Then
    MyExam.Delete (MyExam.ExamId)
    AdcExams.Refresh
    List1_Click
  End If
  
End Sub

Private Sub Cmd_Modi_Click()
  If Cmd_Modi.Caption = "修改试题" Then
     If AdcExams.Recordset.EOF = True Or AdcExams.Recordset.BOF = True Then
        MsgBox "请选择要修改的题目"
        DataGrid1_Click
        Exit Sub
     End If
     
     RichAnswer.Locked = False
     RichTitleName.Locked = False
     ComClassName.Enabled = True
     ComTitleName.Enabled = True
     TxtDes.Enabled = True
     Cmd_Modi.Caption = "确  定"
     Cmd_Cancel.Caption = "取  消"
     
     Cmd_Add.Enabled = False
     Cmd_Del.Enabled = False
  Else
     Cmd_Cancel.Caption = "返  回"
     Cmd_Add.Enabled = True
     Cmd_Del.Enabled = True
     
     If Verdict = True Then
       Cmd_Modi.Caption = "修改试题"
       
       RichTitleName.Locked = True
       RichAnswer.Locked = True
       
       With AdcExams.Recordset
       MyClass.GetInfo (MakeStr(ComClassName.Text))
         .Fields(1) = MyClass.ClassId '得到章节号
         .Fields(2) = MakeStr(ComTitleName.Text) '得到题型名
         .Fields(5) = CurUser.UserName '得到录入员
         .Fields(6) = MakeStr(TxtDes.Text) '得以备注
         .Update
       End With
       MsgBox "题目修改成功"
       AdcExams.Refresh
       List1_Click
       ComClassName.Enabled = False
       ComTitleName.Enabled = False
       TxtDes.Enabled = False
     End If
  End If
End Sub

Private Sub DataGrid1_Click()
  If AdcExams.Recordset.EOF = False And AdcExams.Recordset.BOF = False Then
    MyExam.GetInfo (AdcExams.Recordset.Fields(0))
  Else
    Exit Sub
  End If
  '显示章节名
  ComClassName.Text = MyClass.GetName(Trim(MyExam.ClassId))
  '显示题型名
  ComTitleName.Text = MyExam.TitleName
End Sub

Private Sub Form_Load()
  Me.Top = 0 '设置窗体上边界位置
  Me.Left = 0 '设置窗体左边界位置
  Me.Width = Screen.Width '设置窗体宽度为屏幕宽度
  Me.Height = Screen.Height '设置窗体高度为屏幕高度
  List1.Clear
  DataGrid1.AllowRowSizing = False '不能修改行高
  lblClassName.Caption = CurClass.Classname '显示课程名
  lblUserName.Caption = CurUser.UserName '显示用户名
  '将课程中所有的章节显示到LIST1列表中和 ComClassName 中
  j = 0
  MyClass.Load_Class_ByUpper (CurClass.ClassId)
  Do While j <= FrmclassMan.num
    List1.AddItem Arr_ClassName(j), j
    ComClassName.AddItem Arr_ClassName(j), j
    j = j + 1
  Loop
  '如果没有章节,则提示添加章节
  If j = 0 Then
    MsgBox "为了管理的方便:" & Chr(10) & Chr(13) & _
           "请为你的这门课程添加一个章节!", vbOKOnly + 48, "警告"
    With FrmClassedit
      .UpperName = CurClass.Classname
      .Caption = "添 加 章 节"
      .Label3 = "章节名:"
      .Modify = 6
      .Show 1
    End With
    MyClass.Load_Class_ByUpper (CurClass.ClassId)
    'Arr_ClassId存放了所有的子课程号
    'Arr_ClassName存放了所有的子课程名
    Do While j <= FrmclassMan.num
        List1.AddItem Arr_ClassName(j), j
        ComClassName.AddItem Arr_ClassName(j), j
        j = j + 1
    Loop
  End If
  '将课程中所有的题型添加到ComTitleName列表中
  j = 0
  MyTitle.Get_ArrTitleName (CurClass.ClassId)
  Do While j <= FrmTitleMan.num
    ComTitleName.AddItem Arr_TitleName(j), j
    j = j + 1
  Loop
  If j = 0 Then
    MsgBox "请先进行题型设置!", vbOKOnly + 48, "警告"
    Unload Me
    FrmTitleMan.Show 1
  End If
  List1.Selected(0) = True
  '将课程中所选章节的题目全部显示到DataGrid1列表中
  MyClass.GetInfo (Trim(List1.List(0)))
  AdcExams.RecordSource = "select * from Exams Where ClassId=" + Trim(MyClass.ClassId)
  AdcExams.Refresh
  Frame2.Caption = "总共有 " & AdcExams.Recordset.RecordCount & " 道题目"
End Sub

'当章击 List1 时,将所选章节的全部题目显示到 DataGrid 列表中.
Private Sub List1_Click()
  ComClassName.Text = Trim(List1.Text)
  MyClass.GetInfo (Trim(List1.Text))
  AdcExams.RecordSource = "select * from Exams Where ClassId=" + Trim(MyClass.ClassId)
  AdcExams.Refresh
  Frame2.Caption = "共有 " & AdcExams.Recordset.RecordCount & " 道题"
End Sub

Private Function Verdict() As Boolean
  '1  判断是否选择了正确的章节
    j = 0
    Do While j <= FrmclassMan.num
      If ComClassName.Text = Arr_ClassName(j) Then
        Exit Do
      Else
        j = j + 1
      End If
    Loop
    If j > FrmclassMan.num Then
      MsgBox "请选择正确的章节"
      ComClassName.SetFocus
      Verdict = False
      Exit Function
    End If
    '2  判断是否选择了正确的题型
    j = 0
    Do While j <= FrmTitleMan.num
      If ComTitleName.Text = Arr_TitleName(j) Then
        Exit Do
      Else
        j = j + 1
      End If
    Loop
    If j > FrmTitleMan.num Then
      MsgBox "请选择正确的题型"
      ComTitleName.SetFocus
      Verdict = False
      Exit Function
    End If
    '3 判断题目是不是为空
    If RichTitleName.Text = "" Then
      MsgBox "题目不能为空"
      RichTitleName.SetFocus
      Verdict = False
      Exit Function
    End If
    '4 判断答案是不是为空
    If RichAnswer.Text = "" Then
      MsgBox "答案不能为空"
      RichAnswer.SetFocus
      Verdict = False
      Exit Function
    End If
    Verdict = True
End Function

⌨️ 快捷键说明

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