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

📄 spaceedit.frm

📁 vb写的试题库生成系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    txtContent = ""
    picName = ""
    Picture1.Picture = LoadPicture()
    txtAnswer(0) = True
    optLevel(1) = True
    For i = 0 To 1
            txtAnswer(i) = ""
    Next
    txtNews = "增加新题……"
End Sub

Private Sub cmdAddChapter_Click()
    Dim i%, strName As String
    On Error GoTo DealError
    strName = Trim(InputBox("请输入章节名称:", , ""))
    If strName <> "" Then
        '检查章名是否重复
        For i = 0 To cmbChapter.ListCount - 1
            If cmbChapter.List(i) = strName Then Exit For
        Next
        If i <> cmbChapter.ListCount Then
            MsgBox "章名<" & strName & ">已被使用,请使用其他名称!", vbCritical
        Else
            objRsChapter.AddNew
            objRsChapter!名称 = strName
            objRsChapter.Update
            cmbChapter.AddItem strName
            cmbChapter.ItemData(cmbChapter.NewIndex) = objRsChapter!编号
            MsgBox "成功添加新的章名!"
        End If
    End If
    Exit Sub
DealError:
    ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub

Private Sub cmdAddPic_Click()
    '添加或替换图片
    CommonDialog1.DialogTitle = "选择图片文件"
    CommonDialog1.Filter = "图片(*.bmp)|*.bmp"
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName Like "*.bmp" Then
        picName = CommonDialog1.FileName
        Picture1.Picture = LoadPicture(picName)
    Else
        picName = ""
        Picture1.Picture = LoadPicture()
    End If
End Sub

Private Sub cmdDelete_Click()
    Dim n%
    On Error GoTo DealError
    If cmbChapter = "" Or objRs.RecordCount <= 0 Then Exit Sub
    n = MsgBox("确认删除当前试题吗?", vbQuestion + vbYesNo)
    If n = vbYes Then
        objRs.Delete
        objRs.Update
        objRs.MoveNext
        If objRs.EOF And objRs.RecordCount > 0 Then objRs.MoveLast
        Show_Data
    End If
    Exit Sub
DealError:
    'ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub


Private Sub cmdDeleteChapter_Click()
    Dim n%, strSQL$
    On Error GoTo DealError
    If cmbChapter = "" Then Exit Sub
    n = MsgBox("确定要删除本章填空题吗?", vbQuestion + vbYesNo)
    If n = vbYes Then
        strSQL = "delete from 填空题 where 章节=" & cmbChapter.ItemData(cmbChapter.ListIndex)
        conn.Execute strSQL
        MsgBox cmbChapter & "的填空题已被成功删除!", vbInformation
        strSQL = "select 章节 from 判断题 where 章节=" _
                 & cmbChapter.ItemData(cmbChapter.ListIndex) _
                 & "union  select 章节 from 多选题 where 章节=" _
                 & cmbChapter.ItemData(cmbChapter.ListIndex) _
                 & "select 章节 from 单选题 where 章节=" _
                 & cmbChapter.ItemData(cmbChapter.ListIndex) _
                 & "select 章节 from 简答题 where 章节=" _
                 & cmbChapter.ItemData(cmbChapter.ListIndex)
        n = 0
        conn.Execute strSQL, n
        If n = 0 Then
            n = MsgBox(cmbChapter & "已无其他类型试题,是否删除章节名称?", vbQuestion + vbYesNo)
            If n = vbYes Then
                strSQL = "delete from 章节 where 编号=" & cmbChapter.ItemData(cmbChapter.ListIndex)
                conn.Execute strSQL
                cmbChapter.RemoveItem cmbChapter.ListIndex
            End If
        End If
    End If
    Exit Sub
DealError:
    'ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub

Private Sub cmdDeletePic_Click()
    picName = ""
    Picture1.Picture = LoadPicture()
End Sub

Private Sub cmdEdit_Click()
    If cmbChapter = "" Or objRs.RecordCount <= 0 Then Exit Sub
    fraChangeRecord.Enabled = False
    fraEditPic.Enabled = True
    cmdEdit.Enabled = False
    cmdDelete.Enabled = False
    cmdAdd.Enabled = False
    cmdSave.Enabled = True
    cmbChapter.Enabled = False
    cmdAddChapter.Enabled = False
    cmdEditChapter.Enabled = False
    cmdDeleteChapter.Enabled = False
    fraAnswer.Enabled = True
    fraLevel.Enabled = True
    txtContent.Locked = False
    If IsNull(objRs!图片) Then
        picName = ""
    Else
        picName = objRs!图片
    End If
    txtNews = "修改本题……"
End Sub

Private Sub cmdEditChapter_Click()
    Dim i%, strName As String
    On Error GoTo DealError
    If cmbChapter = "" Then Exit Sub
    strName = Trim(InputBox("请输入<" & cmbChapter & ">章节的新名称:", , ""))
    If strName <> "" Then
        '检查章名是否重复
        For i = 0 To cmbChapter.ListCount - 1
            If cmbChapter.List(i) = strName And i <> cmbChapter.ListIndex Then Exit For
        Next
        If i <> cmbChapter.ListCount Then
            MsgBox "章名<" & strName & ">已被使用,请使用其他名称!", vbCritical
        Else
            objRsChapter.MoveFirst
            objRsChapter.Find "名称='" & cmbChapter & "'"
            objRsChapter!名称 = strName
            objRsChapter.Update
            cmbChapter.List(cmbChapter.ListIndex) = strName
            MsgBox "成功修改章名!"
        End If
    End If
    Exit Sub
DealError:
    'ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub

Private Sub cmdExit_Click()
    Unload Me               '关闭窗体
End Sub




Private Sub cmdMoveFirst_Click()
    If objRs.RecordCount > 0 Then
        objRs.MoveFirst
        Show_Data
    End If
End Sub

Private Sub cmdMoveLast_Click()
    If objRs.RecordCount > 0 Then
        objRs.MoveLast
        Show_Data
    End If
End Sub

Private Sub cmdMoveNaext_Click()
    If objRs.RecordCount > 0 Then
        objRs.MoveNext
        If objRs.EOF Then objRs.MoveLast
        Show_Data
    End If
End Sub

Private Sub cmdMovePre_Click()
    If objRs.RecordCount > 0 Then
        objRs.MovePrevious
        If objRs.BOF Then objRs.MoveFirst
        Show_Data
    End If
End Sub

Private Sub cmdSave_Click()
On Error GoTo DealError
    Dim i%
    isAdding = True
    
    If Trim(txtContent) = "" Then
        MsgBox "请输入题干!", vbCritical
        txtContent.SetFocus
    ElseIf Trim(txtAnswer(0)) = "" Then
        MsgBox "请输入答案1内容!", vbCritical
        txtAnswer(0).SetFocus
    'ElseIf Trim(txtAnswer(1)) = "" Then
       ' MsgBox "请输入答案2内容!", vbCritical
        'txtAnswer(1).SetFocus
        
    Else
   'isAdding = True
        If isAdding Then objRs.AddNew
        '保存试题
        objRs!章节 = cmbChapter.ItemData(cmbChapter.ListIndex)
        
        objRs!题干 = Trim(txtContent)
        objRs!答案1 = txtAnswer(0)
        objRs!答案2 = txtAnswer(1)
        
        If picName <> "" Then
            objRs!图片 = picName
        Else
            objRs!图片 = Null
        End If
             'For i = 0 To 1
            'If txtAnswer(i) Then objRs!答案 = i
       'Next
        
        If optLevel(0) Then
        objRs!难度 = 0
        ElseIf optLevel(1) Then
            objRs!难度 = 1
        Else
            objRs!难度 = 2
        End If

        
        objRs.Update
        
        MsgBox "试题保存成功!"
        '恢复按钮状态
        isAdding = False
        
        fraChangeRecord.Enabled = True
        fraEditPic.Enabled = False
        cmdEdit.Enabled = True
        cmdDelete.Enabled = True
        cmdAdd.Enabled = True
        cmdSave.Enabled = False
        cmbChapter.Enabled = True
        cmdAddChapter.Enabled = True
        cmdEditChapter.Enabled = True
        cmdDeleteChapter.Enabled = True
        fraAnswer.Enabled = False
        txtContent.Locked = True
        picName = ""
        Show_Data
    End If
    Exit Sub
DealError:
    ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub

Private Sub Form_Load()
    On Error GoTo DealError
    Dim strSQL As String
    '创建数据库连接
    Set conn = New Connection
    With conn                                      '建立服务器连接
       ' .Provider = "SQLOLEDB"
       ' .ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False" & ThisDBName
       ' .ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=:" & ThisDBName
       
        .Provider = "SQLOLEDB"
        .ConnectionString = "User ID=sa;PWD=;Server=(local);database=" & ThisDBName
        .Open                                          '打开连接
    End With

    '执行查询获得“填空题”数据
    Set objRs = New Recordset
    Set objRs.ActiveConnection = conn
    objRs.CursorLocation = adUseClient
    objRs.CursorType = adOpenKeyset
    objRs.LockType = adLockOptimistic
    strSQL = "select * from 填空题"
    objRs.Open strSQL
    
    '执行查询,获得章节信息
    Set objRsChapter = New Recordset
    Set objRsChapter.ActiveConnection = conn
    objRsChapter.CursorLocation = adUseClient
    objRsChapter.CursorType = adOpenKeyset
    objRsChapter.LockType = adLockOptimistic
    strSQL = "select * from 章节"
    objRsChapter.Open strSQL

    '创建“章节”下拉列表
    If objRsChapter.RecordCount > 0 Then
        objRsChapter.MoveFirst
        While Not objRsChapter.EOF
            cmbChapter.AddItem objRsChapter!名称
            cmbChapter.ItemData(cmbChapter.NewIndex) = objRsChapter!编号
            objRsChapter.MoveNext
        Wend
        cmbChapter.ListIndex = 0
    End If
    

    '按章节筛选记录集数据
    objRs.Filter = "章节=" & cmbChapter.ItemData(cmbChapter.ListIndex)
    '显示第一条记录
    If objRs.RecordCount > 0 Then objRs.MoveFirst
    Show_Data
    Exit Sub
DealError:
    'ShowError "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
End Sub
Private Sub Show_Data()
    Dim i%
    '显示当前记录
    If objRs.RecordCount > 0 Then
        txtContent = objRs!题干
        txtAnswer(0) = objRs!答案1
        txtAnswer(1) = objRs!答案2
        Picture1.Picture = LoadPicture()
        Picture1.Cls
        If IsNull(objRs!图片) Then
            Picture1.Print vbCrLf; vbCrLf; vbCrLf; vbCrLf; Tab(10); "本题无图片!"
        Else
            Picture1.Picture = LoadPicture(objRs!图片)
        End If
        optLevel(objRs!难度) = True
        txtNews = "第" & objRs.AbsolutePosition & "题 共" & objRs.RecordCount & "题"
    Else
        txtNews = "当前章节中无试题!"
        txtContent = ""
        Picture1.Picture = LoadPicture()
        Picture1.Cls
        For i = 0 To 1
            txtAnswer(i) = ""
        Next
    End If
End Sub
Private Sub Text1_Change()

End Sub

⌨️ 快捷键说明

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