Error # 0 was generated by

smbarney

Registered User.
Local time
Yesterday, 21:56
Joined
Jun 7, 2006
Messages
60
I've inherited a db with a function that imports information from a Word form, permits the user to check the data and then submit it into the database. After it has submitted into the database, it generates an email with a Word file attachment to send back to the person who submitted the form.

After you click the button to submit the data to the db, the system generates the email and word document but I also get a message box that says "Error # 0 was generated by". If you click okay, it continues on as if nothing has happened. The email and Word document are okay and the data is added to the database just fine.

What is causing the error 0 and how do I fix it? Here is the code--please be kind, I inherited this from someone else and I haven't had time to make it better:


Code:
Private Sub btnCreate_Click()

    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim DPath As String
    Dim FileNam As String
    Dim FileEx As String
    Dim MyDocs As String
    Dim tSIRsID As Integer
    Dim varTo As String
    Dim strSubject As String
    Dim strBody As String
    Dim bolAutoSend As Boolean
    Dim bolSaveInOutbox As Boolean
    Dim bolAddSignature As Boolean
    Dim varCC As Variant
    Dim varBCC As Variant
    Dim varReplyTo As String
    Dim varAttachmentPath As Variant
    Dim varImagePath As String
    Dim varHtmlFooter As Variant

Dim PathDocu As String 'path to Word Templete file
Dim strDocument As String '
Dim MyWord As Word.Application


             
             
If IsNull(Me.unbOffice) Then
MsgBox "Office Location is a Required Field", vbOKOnly, "SIR Field Requirement Error"
GoTo btnEnd
ElseIf IsNull(Me.sirIncidentDate) Then
MsgBox "Incident Date is a Required Field", vbOKOnly, "SIR Field Requirement Error"
GoTo btnEnd
ElseIf IsNull(Me.sirIncidentTime) Then
MsgBox "Incident Time is a Required Field", vbOKOnly, "SIR Field Requirement Error"
GoTo btnEnd
End If


             
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("SIRs", dbOpenDynaset)
    
        With rst
            .AddNew
            ![sirSubmitterFirstName] = Me.sirSubmitterFirstName
            ![sirSubmitterLastName] = Me.sirSubmitterLastName
            ![sirSubmitterTelephone] = Me.sirSubmitterTelephone
            ![sirSubmitterEmail] = Me.sirSubmitterEmail
            ![sirIncidentDate] = Me.sirIncidentDate
            ![sirIncidentTime] = Me.sirIncidentTime
            ![sirIncidentDetails] = Me.sirIncidentDetails
            ![sirOffSite] = Me.sirOffSite
            ![sirSubmitterFullName] = Me.sirSubmitterFirstName & " " & Me.sirSubmitterLastName
            ![sirIncidentType] = Me.unbSIRType
            ![sirIncidentOffice] = Me.unbOffice
            ![sirDateTimeStamp] = Now()
            ![sirAddedby] = mUserName()
            ![sirSubmitterReportName] = Me.sirSubmitterLastName & ", " & Me.sirSubmitterFirstName
            .Update
        
        End With

    
    DoCmd.OpenForm "SIRsMain"
    DoCmd.GoToRecord acDataForm, "SIRsMain", acLast
    
        FileEx = ParseFileName(Forms![sirNewFileImport]![unbFileLocation], 3)
        tSIRsID = Forms![SIRsMain]![SIRsID]
        FileNam = "SIR_" & tSIRsID & "_" & "001" & FileEx
        DPath = "C:\Hub\Documents\" & FileNam
        FileCopy Forms![sirNewFileImport]![unbFileLocation], DPath

        Set dbs = CurrentDb
        Set rst = dbs.OpenRecordset("sirAttachments", dbOpenDynaset)

    With rst
        .AddNew
            ![Addedby] = mUserName()
            ![AddDate] = Now
            ![SIRsID] = tSIRsID
            ![Path] = DPath
            ![orgPath] = Forms![sirNewFileImport]![unbFileLocation]
            ![FileDescr] = "SIR Form submitted by " & Forms![sirNewFileImport]![sirSubmitterLastName] & ", " & Forms![SIRsMain]![sirSubmitterFirstName] & "."
            ![FileEx] = FileEx
       .Update
    End With

If Me.unbSIRGroups = 1 Then  'Is it an arrest SIR, if so go to arrest information form
    DoCmd.OpenForm "sirNewFileImport2"
    DoCmd.Close acForm, "sirNewFileImport"
    GoTo Cleanup
Else


'Create Email

varTo = Forms![SIRsMain]!sirSubmitterEmail

strSubject = "SIR Receipt Notification, " & Forms![SIRsMain]![sirSIRNumber]

strBody = "message body here..."

'Create Word Attachment

Set MyWord = New Word.Application
PathDocu = "c:\hub\Documents\Templates\"

With MyWord
    .Documents.Open (PathDocu & "SIR.doc")


MyWord.ActiveDocument.UnProtect Password:="jennifer"
    
If Forms![SIRsMain]![sirSIRNumber] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirSIRNumber").Range.Text = Forms![SIRsMain]![sirSIRNumber]
        End If
    If Forms![SIRsMain]![sirDateTimeStamp] <> "" Then
        MyWord.ActiveDocument.Bookmarks("ReportTime").Range.Text = Format(Forms![SIRsMain]![sirDateTimeStamp], "Medium Time")
        End If
        
    If Forms![SIRsMain]![sirDateTimeStamp] <> "" Then
        MyWord.ActiveDocument.Bookmarks("ReportDate").Range.Text = Format(Forms![SIRsMain]![sirDateTimeStamp], "Short Date")
        
        End If
        
    If Forms![SIRsMain]![sirIncidentTime] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirIncidentTime").Range.Text = Forms![SIRsMain]![sirIncidentTime]
        End If
        
    If Forms![SIRsMain]![sirIncidentDate] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirIncidentDate").Range.Text = Forms![SIRsMain]![sirIncidentDate]
        End If
        
    If Forms![SIRsMain]![sirIncidentOffice] <> "" Then
        MyWord.ActiveDocument.Bookmarks("locOffice").Range.Text = Forms![SIRsMain]![sirIncidentOffice].Column(1)
         End If
        
    If Forms![SIRsMain]![sirSubmitterFirstName] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirSubmitterFullName").Range.Text = Forms![SIRsMain]![sirSubmitterFirstName] & " " & Forms![SIRsMain]![sirSubmitterLastName]
        End If
        
    If Forms![SIRsMain]![sirSubmitterEmail] <> "" Then
        MyWord.ActiveDocument.Bookmarks("pocEmail").Range.Text = Forms![SIRsMain]![sirSubmitterEmail]
        End If
        
   If Forms![SIRsMain]![sirSubmitterTelephone] <> "" Then
        MyWord.ActiveDocument.Bookmarks("pocPhone").Range.Text = Forms![SIRsMain]![sirSubmitterTelephone]
        End If
        
    If Forms![SIRsMain]![sirIncidentType] <> "" Then
        MyWord.ActiveDocument.Bookmarks("unbSubGroups").Range.Text = Forms![SIRsMain]![sirIncidentType].Column(4)
        End If
        
    If Forms![SIRsMain]![sirIncidentType] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirIncidentsubGroup").Range.Text = Forms![SIRsMain]![sirIncidentType].Column(5)
        End If
        
    If Forms![SIRsMain]![sirIncidentType] <> "" Then
        MyWord.ActiveDocument.Bookmarks("sirIncidentType").Range.Text = Forms![SIRsMain]![sirIncidentType].Column(1)
        End If
        
    If Forms![SIRsMain]![sirIncidentDetails] <> "" Then
        MyWord.ActiveDocument.Bookmarks("IncidentDetails").Range.Text = Forms![SIRsMain]![sirIncidentDetails]
        End If



.Visible = False
MyWord.ActiveDocument.Protect wdAllowOnlyFormFields, NoReset:=True, Password:="jennifer"
MyWord.ActiveDocument.SaveAs fileName:="c:\hub\Documents\TempFiles\" & Forms![SIRsMain]![sirSIRNumber], FileFormat:=wdFormatDocument, Password:=DocPW()
MyWord.ActiveDocument.Close Savechanges:=wdSaveChanges
DoEvents
End With

varCC = ""
varBCC = ""
varReplyTo = ""
varImagePath = ""
varHtmlFooter = ""
varAttachmentPath = "c:\hub\Documents\TempFiles\" & Forms![SIRsMain]![sirSIRNumber] & ".doc"


sbSendMessage varTo, varCC, varReplyTo, strSubject, strBody, varAttachmentPath

DoCmd.Close acForm, "sirNewFileImport"

Kill "c:\hub\Documents\TempFiles\" & Forms![SIRsMain]![sirSIRNumber] & ".doc"

End If

GoTo Cleanup

Cleanup:
Set rst = Nothing
Set dbs = Nothing
Set MyWord = Nothing



btnEnd:

End Sub
 
Can you place a break in the code, step through it and identify what part of the code generates the message?
 
I am idiot. I was so focused on the code that I posted that I didn't bother to look at the modules that it used. The sendemail function didn’t have an "Exit Sub" command so it was looping through the error handler and was forced to display a error message notice when there was no error--hence "error # zero" with no description.

I hope my stupidity aids someone.

Thanks
 
Quite alright. I know, I've done it before.
Just have to take a step back and clear your mind sometimes.
 

Users who are viewing this thread

Back
Top Bottom