Results 1 to 2 of 2
  1. #1
    Join Date
    Dec 2003
    Posts
    268

    Unanswered: Error:Invalid procedure call or argument

    I keep getting this error Error number 5 and and Error Number 0 everytiime I execute this code:

    Private Sub Update()
    On Error GoTo ErrHand
    SQL = "UPDATE tblMemo SET subject = " & AddQuotes(mSubject) & "," & _
    "dateReceived =#" & mDateRcvd & "#, " & _
    "URL = " & AddQuotes(mQNetURL) & ", " & _
    "DateEntered = #" & mDateEntered & "#, " & _
    "ServerLocation =" & AddQuotes(mServerLocation) & _
    " WHERE MemoID = " & AddQuotes(MemoID)

    Set DB = CurrentDb
    DB.Execute SQL, dbFailOnError
    'Set DB = Nothing
    ErrHand:
    'If Err.Number = 5 Or Err.Number = 0 Then Exit Sub
    'Stop
    Err.Raise Err.Number, Err.Source, Err.Description
    MsgBox "Error: Class: Memo" & vbCrLf & "Method: Private-Insert" & vbCrLf & Err.Number & ":" & Err.Description


    End Sub

    I can't seem to figure out why this keeps occuring. Following is an example of the completed SQL string. Which when pasted into the SQL designer executes with no errors, and the code is updating the source table eventhough this is returning an error.

    UPDATE tblMemo SET subject = "This is the subject",dateReceived =#6/16/2004#, URL = "fff", DateEntered = #6/16/2004 6:29:35 PM#, ServerLocation ="C:\Work\Training Document.doc" WHERE MemoID = "04-125-CA"

    I am getting this error with all Insert and Update SQL commands.

    Any assistance anyone can provide on this will be greatly appreciated.

    MW

  2. #2
    Join Date
    Dec 2003
    Posts
    268

    Solution

    Posted the same problem on MS Newsgroups and got this solution. I saw that some people had viewed this problem and thougt some might find the solution useful.

    **********Beginning of response*****************************
    Because you have no Exit Sub statement before your error-handling code,
    the sequence of execution "falls through" to that error handler even
    when no error has occured. Then your error-handling code tries to raise
    error 0, which is not valid and causes error 5 (invalid procedure call
    or argument), and then your own message is displayed showing error 0.

    Change it like this:

    '----- start of revised part of code -----
    Set DB = CurrentDb
    DB.Execute SQL, dbFailOnError

    Exit_Point:
    Set DB = Nothing
    Exit Sub

    ErrHand:
    MsgBox _
    "Error: Class: Memo" & vbCrLf & "Method: Private-Insert" & _
    vbCrLf & Err.Number & ":" & Err.Description

    Err.Raise Err.Number, Err.Source, Err.Description
    Resume Exit_Point

    End Sub

    '----- end of revised part of code -----


    --

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •