+ All Categories
Home > Documents > Frm Instructor

Frm Instructor

Date post: 30-May-2018
Category:
Upload: ellainetot
View: 224 times
Download: 0 times
Share this document with a friend

of 21

Transcript
  • 8/9/2019 Frm Instructor

    1/21

    frmInstructor

    Dim testHasChanged As BooleanDim createCancel As Boolean

    Dim questNum As Integer

    Private Sub cmdAddToBank_Click()

    'bring up the form to add a new question to question bank

    Load frmAddToBank

    End Sub

    Private Sub cmdAddToTest_Click()'check for more than 100 questions

    If questNum > 100 Then

    MsgBox "You have already reached the maximum limit of 100. " & _

    "Remove an existing question if you want to add a new one." , , "Warning!"Exit Sub

    End If

    'check template for blank values

    If (optMultiple.Value = False And optTrueFalse = False) Or _

    (opt1template.Value = False And opt2Template.Value = False _

    And opt3Template = False And opt4Template.Value = False) Or _(txtQuestTemplate.Text = "") Then

    MsgBox "One of your fields is blank!", , "Warning!"Exit Sub

    End If

    'check to see if a current test is already in use, if not create a new one

    If currentTest = "" Then

    Call createTestquestNum = 0

    lblCurTest.Caption = "Current Test: " & currentTest

    End If

    testHasChanged = True

    'add question to list box and question test array

    lisTestQuests.AddItem txtQuestTemplate

    With questTest(lisTestQuests.ListCount)

    .quest = txtQuestTemplate

    .answerA = txtOption1

    .answerB = txtOption2

    .answerC = txtOption3

    .answerD = txtOption4

  • 8/9/2019 Frm Instructor

    2/21

    If optMultiple Then.theType = "M"

    Else

    .theType = "T"End If

    If opt1template Then.correctAns = "A"

    Else

    If opt2Template Then

    .correctAns = "B"Else

    If opt3Template Then

    .correctAns = "C"Else

    .correctAns = "D"

    End IfEnd If

    End If

    End With

    End SubPrivate Sub SaveTest()

    Dim recordNum As Integer'make sure all files are closed

    Close

    'double check to see if there is at least 1 question

    If lisTestQuests.ListCount > 0 Then'select file for output

    Open currentTest For Output As #1'write array to file

    For recordNum = 1 To lisTestQuests.ListCountWrite #1, questTest(recordNum).quest

    Write #1, questTest(recordNum).answerA

    Write #1, questTest(recordNum).answerBWrite #1, questTest(recordNum).answerC

    Write #1, questTest(recordNum).answerD

    Write #1, questTest(recordNum).correctAnsWrite #1, questTest(recordNum).theType

    Next recordNum

    Close #1

    'open file for test layout

    Open Left(currentTest, Len(currentTest) - 3) & "lyt" For Output As #1

    'write the layout options

    Close #1

  • 8/9/2019 Frm Instructor

    3/21

    'reset test has changed to false

    testHasChanged = False

    End If

    End Sub

    Private Sub createTest()

    Dim foundTest As Boolean

    Dim i As Integer

    Dim userResponse As Integer

    On Error GoTo dlgError

    'if test had changed then ask to save current test before creating a new one

    If testHasChanged Then

    userResponse = MsgBox("The current test has changed since you last saved it. " & _

    "Do you want to save it before you create a new one?", _vbYesNoCancel, "Warning!")

    If userResponse = vbYes Then

    Call SaveTest

    ElseIf userResponse = vbCancel Then

    Exit Sub

    End IfEnd If

    End If

    'get name for new test

    With dlgFile

    .CancelError = True

    .FileName = ""

    .DialogTitle = "Choose A Name For The Test"

    .Flags = 2

    .Filter = "Test Files| *.tst"

    .ShowSave

    If Dir(.FileName) "" ThenKill .FileName

    End If

    currentTest = .FileName

    lblCurTest.Caption = "Current Test: " & currentTest

    mnuSave.Enabled = TruemnuSaveAs.Enabled = TruecmdReviewQuestion.Enabled = True

    cmdRemoveTestQuest.Enabled = True

    cmdUp.Enabled = TruecmdDown.Enabled = True

    cmdSaveTest.Enabled = True

  • 8/9/2019 Frm Instructor

    4/21

    testHasChanged = False

    End With

    'add test name to test table in login database

    foundTest = False

    datLogin.RecordSource = "Test"datLogin.Refresh

    With datLogin.Recordset

    .MoveFirst

    Do Until .EOF Or foundTestIf currentTest = RTrim(.Fields("TestName").Value) Then

    foundTest = True

    End If.MoveNext

    Loop

    If Not foundTest Then.AddNew

    .Fields("TestName").Value = currentTest

    .Update

    End IfEnd With

    'clear the list box and question test array

    lisTestQuests.Clear

    For i = 1 To 100

    questTest(i).answerA = ""questTest(i).answerB = ""

    questTest(i).answerC = ""

    questTest(i).answerD = ""questTest(i).correctAns = ""

    questTest(i).quest = ""questTest(i).theType = ""

    Next i

    'set defaults for new test

    chkTimed.Value = FalsetxtMinutes.Text = ""

    chkAllowGoBack.Value = False

    optGrey = True

    dlgError:

    On Error GoTo 0Exit Sub

    End Sub

  • 8/9/2019 Frm Instructor

    5/21

    Private Sub cmdClearTemplate_Click()'clear all controls in template

    optMultiple.Value = False

    optTrueFalse.Value = Falseopt1template.Value = False

    opt2Template.Value = False

    opt3Template.Value = Falseopt4Template.Value = False

    txtQuestTemplate.Text = ""

    txtOption1.Text = ""

    txtOption2.Text = ""txtOption3.Text = ""

    txtOption4.Text = ""

    End Sub

    Private Sub cmdDown_Click()

    Dim questTemp As questionSetDim i As Integer

    Dim listEntries As Integer

    Dim curListSpot As Integer

    'make sure question is selected

    If lisTestQuests.Text = "" Then

    MsgBox "Click on a question first.", , "Attention"Else

    'make sure selection is not already in the lowest position

    If lisTestQuests.ListIndex = lisTestQuests.ListCount - 1 ThenExit Sub

    End If

    'testhaschanged needs to be set to true

    testHasChanged = True

    'switch question in array with the one below it

    questTemp = questTest(lisTestQuests.ListIndex + 1)

    questTest(lisTestQuests.ListIndex + 1) = questTest(lisTestQuests.ListIndex + 2)

    questTest(lisTestQuests.ListIndex + 2) = questTemp

    'clear listbox and reload it

    listEntries = lisTestQuests.ListCountcurListSpot = lisTestQuests.ListIndex

    lisTestQuests.Clear

    For i = 1 To listEntrieslisTestQuests.AddItem questTest(i).quest

    Next i'select the question that was moved

    lisTestQuests.ListIndex = curListSpot + 1End If

    End Sub

  • 8/9/2019 Frm Instructor

    6/21

    Private Sub cmdEditBank_Click()

    Dim i As Integer'make sure question is selected

    If lisTestBank.Text "" Then

    With datBank.Recordset.MoveFirst

    'move to current question in database

    If lisTestBank.ListIndex > 0 Then

    For i = 1 To lisTestBank.ListIndex.MoveNext

    Next i

    End If'load question to be edited into edit form

    frmEdit.txtQuestion = RTrim(.Fields("question").Value)

    If .Fields("type").Value = "M" ThenfrmEdit.optMultiple = True

    Else

    frmEdit.optTrueFalse = True

    End IffrmEdit.txtOptA.Text = RTrim(.Fields("opt1"))

    frmEdit.txtOptB.Text = RTrim(.Fields("opt2"))

    frmEdit.txtOptC.Text = RTrim(.Fields("opt3"))frmEdit.txtOptD.Text = RTrim(.Fields("opt4"))

    If RTrim(.Fields("answer").Value) = "A" Then

    frmEdit.optA = TrueElse

    If RTrim(.Fields("answer")) = "B" Then

    frmEdit.optB = TrueElse

    If RTrim(.Fields("answer")) = "C" ThenfrmEdit.optC = True

    ElsefrmEdit.optD = True

    End If

    End IfEnd If

    End With

    Load frmEdit

    Else

    MsgBox "Select a question to edit", , "Warning!"

    End If

    End Sub

  • 8/9/2019 Frm Instructor

    7/21

    Private Sub cmdMoveQuestion_Click()

    'check to see if a question from bank is clicked on, if so move question, question type, options,and correct answer to template

    If lisTestBank.Text = "" Then

    MsgBox "Click on a question first.", , "Attention"Else

    With questHold(lisTestBank.ListIndex + 1)

    txtQuestTemplate.Text = .quest

    txtOption1.Text = .answerAtxtOption2.Text = .answerB

    txtOption3.Text = .answerC

    txtOption4.Text = .answerDIf .correctAns = "A" Then

    opt1template.Value = True

    opt2Template.Value = Falseopt3Template.Value = False

    opt4Template.Value = False

    Else

    If .correctAns = "B" Thenopt2Template.Value = True

    opt1template.Value = False

    opt3Template.Value = Falseopt4Template.Value = False

    Else

    If .correctAns = "C" Thenopt3Template.Value = True

    opt1template.Value = False

    opt2Template.Value = Falseopt4Template.Value = False

    Elseopt4Template.Value = True

    opt1template.Value = Falseopt2Template.Value = False

    opt3Template.Value = False

    End IfEnd If

    End If

    If .theType = "M" ThenoptMultiple.Value = True

    Else

    optTrueFalse.Value = TruetxtOption3.Text = ""txtOption4.Text = ""

    opt3Template.Value = False

    opt4Template.Value = FalseEnd If

    End With

  • 8/9/2019 Frm Instructor

    8/21

    End If

    End Sub

    Private Sub cmdRemoveFromBank_Click()

    Dim questRem As String

    'check to see if the question to be removed from the bank has been clicked on

    If lisTestBank.Text = "" Then

    MsgBox "You have not selected a question to remove.", , "Warning!"

    Else

    'remove question from database

    questRem = questHold(lisTestBank.ListIndex + 1).questWith datBank.Recordset

    .MoveFirst

    .FindFirst ("question = '" & questRem & "'")

    .Delete

    .MoveFirst

    End With

    'remove question from bank list

    lisTestBank.RemoveItem lisTestBank.ListIndex

    End If

    End Sub

    Private Sub cmdRemoveTestQuest_Click()

    Dim i As Integer

    'make sure question is selected

    If lisTestQuests.Text = "" ThenMsgBox "Click on a question first.", , "Attention"

    Else'delete current question from array

    testHasChanged = True

    For i = lisTestQuests.ListIndex + 1 To lisTestQuests.ListCount - 1

    questTest(i) = questTest(i + 1)Next i

    'remove question from listbox

    lisTestQuests.RemoveItem lisTestQuests.ListIndexEnd If

    End Sub

  • 8/9/2019 Frm Instructor

    9/21

    Private Sub cmdReviewQuestion_Click()

    'make sure a question is selected

    If lisTestQuests.Text = "" ThenMsgBox "Click on a question first.", , "Attention"

    Else

    'load question into template section

    With questTest(lisTestQuests.ListIndex + 1)

    txtQuestTemplate.Text = .quest

    txtOption1.Text = .answerA

    txtOption2.Text = .answerBtxtOption3.Text = .answerC

    txtOption4.Text = .answerD

    If .correctAns = "A" Thenopt1template.Value = True

    opt2Template.Value = False

    opt3Template.Value = Falseopt4Template.Value = False

    Else

    If .correctAns = "B" Then

    opt2Template.Value = Trueopt1template.Value = False

    opt3Template.Value = False

    opt4Template.Value = FalseElse

    If .correctAns = "C" Then

    opt3Template.Value = Trueopt1template.Value = False

    opt2Template.Value = False

    opt4Template.Value = FalseElse

    opt4Template.Value = Trueopt1template.Value = False

    opt2Template.Value = Falseopt3Template.Value = False

    End If

    End IfEnd If

    If .theType = "M" Then

    optMultiple.Value = TrueElse

    optTrueFalse.Value = True

    txtOption3.Text = ""txtOption4.Text = ""opt3Template.Value = False

    opt4Template.Value = False

    End IfEnd With

    End If

  • 8/9/2019 Frm Instructor

    10/21

    End Sub

    Private Sub cmdSaveTest_Click()

    'make sure test has changed and there is at least 1 question

    If testHasChanged And lisTestQuests.ListCount > 0 ThenCall SaveTest

    End If

    End Sub

    Private Sub cmdUp_Click()

    Dim questTemp As questionSet

    Dim i As Integer

    Dim listEntries As IntegerDim curListSpot As Integer

    'make sure a question has been selected

    If lisTestQuests.Text = "" ThenMsgBox "Click on a question first.", , "Attention"

    Else

    'don't perform sub if the selected question is already at the top position

    If lisTestQuests.ListIndex = 0 Then

    Exit Sub

    End If

    'set testHasChanged to true since it has changed

    testHasChanged = True

    'switch question position in arrray with the 1 above itquestTemp = questTest(lisTestQuests.ListIndex)

    questTest(lisTestQuests.ListIndex) = questTest(lisTestQuests.ListIndex + 1)questTest(lisTestQuests.ListIndex + 1) = questTemp

    'clear and reload list box

    listEntries = lisTestQuests.ListCount

    curListSpot = lisTestQuests.ListIndex

    lisTestQuests.ClearFor i = 1 To listEntries

    lisTestQuests.AddItem questTest(i).quest

    Next i'highlight the moved question

    lisTestQuests.ListIndex = curListSpot - 1

    End If

    End Sub

  • 8/9/2019 Frm Instructor

    11/21

    Private Sub Form_Load()

    'make form visible and unload login form

    ShowUnload frmLogin

    With datLogin.DatabaseName = App.Path & "\login.mdb"

    .RecordSource = "Login"

    .Refresh

    End With

    'set caption of form to include user ID

    Caption = Caption & " - User ID : " & userCode

    'if logged in with default system password disable menu option to edit password

    If UCase(userCode) = "SYSTEM999" ThenmnuEditPassword.Enabled = False

    End If

    mnuSave.Enabled = FalsemnuSaveAs.Enabled = False

    'disable Add to bank, remove from bank, and edit from bank command buttons

    cmdAddToBank.Enabled = False

    cmdRemoveFromBank.Enabled = False

    cmdEditBank.Enabled = False

    'reset newDb to false

    newDB = False

    'reset test has changed to falsetestHasChanged = False

    End Sub

    Private Sub lisTestBank_Click()

    'load question from bank list to large question display

    txtQuestDisp.Text = lisTestBank.Text

    'set the label to display correct question type

    Select Case questHold(lisTestBank.ListIndex + 1).theTypeCase "M"

    lblQuestType.Caption = "Question Type: " & "Multiple Choice"

    Case "T"

    lblQuestType.Caption = "Question Type: " & "True/False"End Select

    End Sub

  • 8/9/2019 Frm Instructor

    12/21

    Private Sub mnuCreate_Click()

    Call createTest

    End Sub

    Private Sub mnuCreateBank_Click()

    Dim NewBank As Database, MyWS As WorkspaceDim T1 As TableDef

    Dim T1Flds(1 To 7) As Field

    Dim T1Idx As IndexDim myRec As Recordset

    Dim checkDIR As String

    On Error GoTo DialogError

    'open save dialog

    With dlgFile.CancelError = True

    .DialogTitle = "Choose A Name For The Test Bank"

    .Flags = cdlOFNOverwritePrompt

    .Filter = "Question Bank Files|*.mdb"

    .ShowSave

    datBank.Database.Close

    'delete the file chosen if it exists

    If Dir(.FileName) "" Then

    Kill .FileNameEnd If

    'set currentBank with file name

    currentBank = .FileName

    'set test bank label with file name

    lblTestBank.Caption = "Test Bank: '" & .FileName & "'"

    'set Add to bank, remove from bank, and edit from bank command buttons

    cmdAddToBank.Enabled = True

    cmdRemoveFromBank.Enabled = TruecmdEditBank.Enabled = True

    'create new question bank database

    Set MyWS = DBEngine.Workspaces(0)Set NewBank = MyWS.CreateDatabase(.FileName, dbLangGeneral)

    Set T1 = NewBank.CreateTableDef("bank")

  • 8/9/2019 Frm Instructor

    13/21

    Set T1Flds(1) = T1.CreateField("question", dbText, 250)

    Set T1Flds(2) = T1.CreateField("type", dbText, 1)

    Set T1Flds(3) = T1.CreateField("opt1", dbText, 50)Set T1Flds(4) = T1.CreateField("opt2", dbText, 50)

    Set T1Flds(5) = T1.CreateField("opt3", dbText, 50)

    Set T1Flds(6) = T1.CreateField("opt4", dbText, 50)Set T1Flds(7) = T1.CreateField("answer", dbText, 50)

    T1.Fields.Append T1Flds(1)

    T1.Fields.Append T1Flds(2)T1.Fields.Append T1Flds(3)

    T1.Fields.Append T1Flds(4)

    T1.Fields.Append T1Flds(5)T1.Fields.Append T1Flds(6)

    T1.Fields.Append T1Flds(7)

    Set T1Idx = T1.CreateIndex("question")

    T1Idx.Primary = True

    T1Idx.Unique = True

    T1Idx.Required = TrueSet T1Flds(1) = T1Idx.CreateField("question")

    T1Idx.Fields.Append T1Flds(1)

    T1.Indexes.Append T1IdxNewBank.TableDefs.Append T1

    'add a dummy record to prevent any db errors

    Set myRec = T1.OpenRecordset

    myRec.AddNew

    myRec("question") = "dummy"myRec("type") = "D"

    myRec("opt1") = "dummy"myRec("opt2") = "dummy"

    myRec("opt3") = "dummy"myRec("opt4") = "dummy"

    myRec("answer") = "d"

    myRec.UpdatemyRec.Close

    'close new database

    NewBank.Close

    'open new database with data controldatBank.DatabaseName = .FileNamedatBank.RecordSource = "bank"

    datBank.Refresh

    'reset questHold array to null

    For x = 1 To 200

    questHold(x).answerA = ""

  • 8/9/2019 Frm Instructor

    14/21

    questHold(x).answerB = ""questHold(x).answerC = ""

    questHold(x).answerD = ""

    questHold(x).correctAns = ""questHold(x).quest = ""

    questHold(x).theType = ""

    Next x

    'set newDB flag to true

    newDB = True

    'clear test bank list box

    lisTestBank.Clear

    'clear large question display

    txtQuestDisp.Text = ""

    'load form to add questions to bank

    Load frmAddToBank

    End With

    DialogError:

    On Error GoTo 0Exit Sub

    End Sub

    Private Sub mnuCreateStudent_Click()

    'load form and set caption to student

    Load frmAccountfrmAccount.Caption = "Student"

    End Sub

    Private Sub mnuCreateTeacher_Click()

    'load form and set caption to teacher

    Load frmAccountfrmAccount.Caption = "Teacher"

    End Sub

    Private Sub mnuEditPassword_Click()

    'edit currently logged on user's password

    Load frmTeachPass

    'search for user in database and display current(old) password

    With frmInstructor.datLogin.Recordset

  • 8/9/2019 Frm Instructor

    15/21

    .MoveFirstDo Until .EOF

    If loggedUser = .Fields("UserID").Value Then

    frmTeachPass.picOutput.ClsfrmTeachPass.picOutput.Print "Old Password: "; .Fields("Password").Value

    Exit Do

    End If.MoveNext

    Loop

    End With

    End Sub

    Private Sub mnuEditStudent_Click()

    Load frmStudPass

    End Sub

    Private Sub mnuExit_Click()

    Dim response As Integer

    'before exiting check to see if test has changed and give user option to save or not or cancel exit

    If testHasChanged Then

    response = MsgBox("Test has changed, do you want to save before exiting program?",

    vbYesNoCancel _, "Warning!")

    If response = vbYes Then

    Call SaveTestElse

    If response = vbCancel ThenExit Sub

    End IfEnd If

    End If

    'stop application

    End

    End Sub

    Private Sub mnuOpen_Click()

    Dim i As Integer

    Dim userResponse As IntegerDim timed As String

    Dim minutes As Integer

    Dim goBack As String

  • 8/9/2019 Frm Instructor

    16/21

    Dim theColor As String

    On Error GoTo dlgError

    'if test has changed check to see if user wants to save current test before opening new one

    If testHasChanged Then

    userResponse = MsgBox("The current test has changed since you last saved it. " & _"Do you want to save it before you open another one?", _

    vbYesNoCancel, "Warning!")

    If userResponse = vbYes Then

    Call SaveTestElse

    If userResponse = vbCancel Then

    Exit SubEnd If

    End If

    End If

    'select filename to open

    With dlgFile

    .CancelError = True

    .DialogTitle = "Choose Test To Open"

    .Filter = "Test Files|*.tst"

    .Flags = 2

    .ShowOpen

    Open .FileName For Input As #1currentTest = .FileName

    lblCurTest.Caption = "Current Test: " & currentTest

    mnuSave.Enabled = TruemnuSaveAs.Enabled = True

    cmdReviewQuestion.Enabled = TruecmdRemoveTestQuest.Enabled = True

    cmdUp.Enabled = TruecmdDown.Enabled = True

    cmdSaveTest.Enabled = True

    lisTestQuests.Clear

    'load test question array from test file

    Do Until EOF(1)

    i = i + 1

    Input #1, questTest(i).questInput #1, questTest(i).answerAInput #1, questTest(i).answerB

    Input #1, questTest(i).answerC

    Input #1, questTest(i).answerDInput #1, questTest(i).correctAns

    Input #1, questTest(i).theType

    lisTestQuests.AddItem questTest(i).quest

  • 8/9/2019 Frm Instructor

    17/21

    LoopClose #1

    'load test options

    Open Left(.FileName, Len(.FileName) - 3) & "lyt" For Input As #1

    Close

    End With

    'reset test has changed to false

    testHasChanged = False

    dlgError:On Error GoTo 0

    Exit Sub

    End Sub

    Private Sub mnuOpenBank_Click()

    Dim i As Integer

    Dim x As Integer

    On Error GoTo DialogError

    'open the open dialog

    With dlgFile

    .CancelError = True

    .DialogTitle = "Choose The Name Of The Test Bank"

    .Flags = 2

    .Filter = "Database Files|*.mdb"

    .ShowOpen

    'set database,label, and currentBank with file name

    datBank.DatabaseName = .FileName

    lblTestBank.Caption = "Test Bank: '" & .FileName & "'"currentBank = .FileName

    End With

    'enable add to bank, romove from bank, and edit bank command buttons

    cmdAddToBank.Enabled = True

    cmdRemoveFromBank.Enabled = TruecmdEditBank.Enabled = True

    'clear big question display and test bank list box

    txtQuestDisp.Text = ""lisTestBank.Clear

  • 8/9/2019 Frm Instructor

    18/21

    'open database

    datBank.RecordSource = "bank"

    datBank.Refresh

    datBank.Recordset.MoveFirst

    'clear questHold array with null

    For x = 1 To 200questHold(x).answerA = ""

    questHold(x).answerB = ""

    questHold(x).answerC = ""

    questHold(x).answerD = ""questHold(x).correctAns = ""

    questHold(x).quest = ""

    questHold(x).theType = ""Next x

    'load questHold array with test bank database data

    Do Until datBank.Recordset.EOF

    i = i + 1

    With questHold(i)

    .quest = datBank.Recordset.Fields("question").Value

    .theType = datBank.Recordset.Fields("type").Value

    .answerA = datBank.Recordset.Fields("opt1").Value

    .answerB = datBank.Recordset.Fields("opt2").Value

    .answerC = datBank.Recordset.Fields("opt3").Value

    .answerD = datBank.Recordset.Fields("opt4").Value

    .correctAns = datBank.Recordset.Fields("answer").ValuelisTestBank.AddItem (.quest)

    End With

    datBank.Recordset.MoveNextLoop

    If i = 1 And RTrim(datBank.Recordset.Fields("question").Value) = "dummy" Then

    newDB = TrueEnd If

    'set question type label

    lblQuestType.Caption = "Question Type:"

    DialogError:On Error GoTo 0

    Exit Sub

    End Sub

    Private Sub mnuPrint_Click()

    Dim i As Integer

    Dim linecount As Integer

  • 8/9/2019 Frm Instructor

    19/21

    'print the current test with font size 12

    Printer.FontSize = 12

    For i = 1 To 5

    Printer.PrintNext i

    Printer.Print Space(80 - (Len(currentTest) / 2)); currentTest

    Printer.Print

    'print questions

    For i = 1 To lisTestQuests.ListCount

    Printer.FontSize = 10Printer.Print i & "." & questTest(i).quest

    Printer.Print

    linecount = linecount + 2If questTest(i).theType = "T" Then

    Printer.Print "A. " & questTest(i).answerA

    Printer.Print "B. " & questTest(i).answerBlinecount = linecount + 3

    Else

    Printer.Print "A. " & questTest(i).answerA

    Printer.Print "B. " & questTest(i).answerBPrinter.Print "C. " & questTest(i).answerC

    Printer.Print "D. " & questTest(i).answerD

    linecount = linecount + 5End If

    Printer.Print

    If linecount > 55 ThenPrinter.NewPage

    Printer.FontSize = 12

    Printer.Print: Printer.Print: Printer.Print: Printer.PrintPrinter.Print: Printer.Print: Printer.Print

    Printer.FontSize = 10linecount = 0

    End IfNext i

    'print test key

    Printer.NewPage

    Printer.Print: Printer.Print

    Printer.Print currentTest & " - Test Key"For i = 1 To lisTestQuests.ListCount

    Printer.Print

    Printer.Print i & ": " & questTest(i).correctAnsNext i

    Printer.EndDoc

    End Sub

    Private Sub mnuPrintScores_Click()

  • 8/9/2019 Frm Instructor

    20/21

    Load frmTestScores

    End Sub

    Private Sub mnuSave_Click()

    'make sure test has changed and that there is at least 1 question in the test

    If testHasChanged And lisTestQuests.ListCount > 0 Then

    Call SaveTest

    End If

    End Sub

    Private Sub mnuSaveAs_Click()

    'make sure there are questions in the test

    If lisTestQuests.ListCount > 0 Then

    'select filename to save as

    With dlgFile.CancelError = True

    .FileName = ""

    .DialogTitle = "Choose A Name For The Test"

    .Flags = 2

    .Filter = "Test Files| *.tst"

    .ShowSave

    'if file did exist, delete it

    If Dir(.FileName) "" ThenKill .FileName

    End If

    'set currentTest to the filename selected enable save and saves menu selections

    currentTest = .FileName

    mnuSave.Enabled = True

    mnuSaveAs.Enabled = True

    End With

    'call sub to actually save the test

    Call SaveTest

    End IfdlgError:

    On Error GoTo 0

    Exit Sub

  • 8/9/2019 Frm Instructor

    21/21

    End Sub

    Private Sub optMultiple_Click()'enable options 3 and 4 if option multiple choice is choosen

    opt3Template.Enabled = True

    opt4Template.Enabled = True

    End Sub

    Private Sub optTrueFalse_Click()

    'disable and clear options 3 and 4 if true/false choice is choosen

    txtOption1.Text = "True"txtOption2.Text = "False"

    txtOption3.Text = ""

    txtOption4.Text = ""opt3Template.Value = False

    opt4Template.Value = False

    opt3Template.Enabled = False

    opt4Template.Enabled = False

    End Sub


Recommended