HELP!

I am building a help desk for an assignment and am trying to add a new record
to the database through VB. The AddNew statement works OK that I've assigned
to a command button, but the MoveNext, Edit and Update statements that are
assigned to another command button don't work. It comes up with runtime error
#3246 'Action cancelled by associated object'.

I'm going crazy trying to work out what I am doing wrong!

Please help.

xxx

This is the code for my form so far (if its any help):

Option Explicit
Dim blnAdded As Boolean
Dim varPreviousRecord As Variant
Dim Location(0 To 10)
Dim Priority(0 To 2)
Dim FaultType(0 To 8)
Dim Engineer(0 To 9)
Dim ID(0 To 9)
Dim Mobile(0 To 9)

Private Sub Form_Load()
Dim I As Integer

Engineer(0) = "Spencer Buck"
Engineer(1) = "Roger Duckworth"
Engineer(2) = "Freddie Jackson"
Engineer(3) = "Laura Lawler"
Engineer(4) = "Agatha MacDermott"
Engineer(5) = "Pedro Manito"
Engineer(6) = "Shamus O'Toole"
Engineer(7) = "Teddy Prendergast"
Engineer(8) = "Nelly Smelly"
Engineer(9) = "John Thomas"

ID(0) = "BUC006"
ID(1) = "DUC010"
ID(2) = "JAC003"
ID(3) = "LAW008"
ID(4) = "MAC005"
ID(5) = "MAN004"
ID(6) = "OTO002"
ID(7) = "PRE001"
ID(8) = "SME009"
ID(9) = "THO007"

Mobile(0) = "07714888006"
Mobile(1) = "07714888010"
Mobile(2) = "07714888003"
Mobile(3) = "07714888008"
Mobile(4) = "07714888005"
Mobile(5) = "07714888004"
Mobile(6) = "07714888002"
Mobile(7) = "07714888001"
Mobile(8) = "07714888009"
Mobile(9) = "07714888007"

For I = 0 To 9
cboEngineerName.AddItem Engineer(I)
Next I

Location(0) = "Accounts"
Location(1) = "Administration"
Location(2) = "Conference Room"
Location(3) = "Human Resources"
Location(4) = "Management 1"
Location(5) = "Management 2"
Location(6) = "Management 3"
Location(7) = "Marketing"
Location(8) = "Sales"
Location(9) = "Warehouse"
Location(10) = "Workshop"

For I = 0 To 10
cboFaultLocation.AddItem Location(I)
Next I

FaultType(0) = "Network Connection"
FaultType(1) = "Fax"
FaultType(2) = "PC - Hardware"
FaultType(3) = "PC - Sofware"
FaultType(4) = "Photocopier"
FaultType(5) = "Printer"
FaultType(6) = "Scanner"
FaultType(7) = "Teleconferencing Equipment"
FaultType(8) = "User Error"

For I = 0 To 8
cboFaultType.AddItem FaultType(I)
Next I

Priority(0) = "Low"
Priority(1) = "Medium"
Priority(2) = "High"

For I = 0 To 2
cboPriorityLevel.AddItem Priority(I)
Next I

End Sub

Private Sub cboEngineerName_Click()

txtEngineerID.Text = ID(cboEngineerName.ListIndex)
txtMobileNo.Text = Mobile(cboEngineerName.ListIndex)

End Sub

Private Sub cmdMoveNext_Click()

With datFaultLog.Recordset
If .RecordCount > 0 Then
If Not .EOF Then
.MoveNext
End If
End If
End With

End Sub

Private Sub cmdMovePrevious_Click()

With datFaultLog.Recordset
If .RecordCount > 0 Then
If Not .BOF Then
If blnAdded = False Then
.MovePrevious
End If
End If
End If
End With

End Sub

Private Sub Form_Initialize()

With datFaultLog.Recordset
.MoveLast
End With

End Sub

Private Sub cmdAddRecord_Click()

cmdAddRecord.Visible = False
cmdMovePrevious.Visible = False
cmdMoveNext.Visible = False

With datFaultLog.Recordset
If .RecordCount > 0 Then
varPreviousRecord = .Bookmark
Else
varPreviousRecord = ""
End If
.AddNew
End With

With txtFaultNo
.Locked = False
.Text = ""
End With

With txtDateTimeLogged
.Locked = False
.Text = Date & " " & Time
.Locked = True
End With

With txtStatus
.Locked = False
.Text = "Open"
.Locked = True
End With

With txtDateTimeCompleted
.Locked = False
.Text = ""
.Locked = True
End With

With txtEmployeeName
.Locked = False
.Text = ""
.SetFocus
End With

With txtContactNo
.Locked = False
.Text = ""
End With

With txtEngineerID
.Locked = False
.Text = ""
.Locked = True
End With

With txtMobileNo
.Locked = False
.Text = ""
.Locked = True
End With

With txtDescription
.Locked = False
.Text = ""
End With

With txtDiagnosis
.Locked = False
.Text = ""
End With

With txtWorkUndertaken
.Locked = False
.Text = ""
End With

With cboEngineerName
.Locked = False
.Text = ""
End With

With cboFaultLocation
.Locked = False
.Text = ""
End With

With cboFaultType
.Locked = False
.Text = ""
End With

With cboPriorityLevel
.Locked = False
.Text = ""
End With

End Sub

Private Sub mnuHelpDeskMenu_Click()

Load frmHelpDeskMenu
frmHelpDeskMenu.Show
Unload Me

End Sub

Private Sub cmdHelpDeskMenu_Click()

Load frmHelpDeskMenu
frmHelpDeskMenu.Show
Unload Me

End Sub

Private Sub mnuExit_Click()

End

End Sub

Private Sub cmdExit_Click()

End

End Sub

Private Sub txtDescription_Change()

If txtDescription.Locked = False Then
cmdSaveRecord.Visible = True
End If

End Sub

Private Sub cmdSaveRecord_Click()

datFaultLog.Recordset.Update

cmdSaveRecord.Visible = False
cmdAddRecord.Visible = True
cmdMovePrevious.Visible = True
cmdMoveNext.Visible = True

txtFaultNo.Locked = True
txtEmployeeName.Locked = True
txtContactNo.Locked = True
txtDescription.Locked = True
txtDiagnosis.Locked = True
txtWorkUndertaken.Locked = True

cboEngineerName.Locked = True
cboFaultLocation.Locked = True
cboFaultType.Locked = True
cboPriorityLevel.Locked = True

blnAdded = True

End Sub