Access 2013 VBA: Complie-Fehler: Methode oder Datenelement nicht gefunden

Ich habe ein Problem mit einer Schaltfläche in einem 2013 Access-Formular.

High Level: Ich mache einige behördliche Formulare, eines ist eine Serviceanforderung, das andere ist eine Beschwerdeanforderung. Bei jedem Serviceabruf wird eine Serviceanforderung geöffnet. Wenn es sich nicht um einen Ersatzteilabruf handelt, wird auch eine allgemeine Beschwerdeanforderung generiert.

Ich habe ein Formular "service_request_form", in dem die Techniker die Informationen ausfüllen. Auf diesem Formular befindet sich eine Schaltfläche, mit der ich alle Daten aus diesem Serviceformular kopieren und einen Reklamationsanforderungsdatensatz generieren möchte. Von dort aus werden alle Fenster geschlossen und zwei benutzerdefinierte Berichte auf Grundlage unserer Papierunterlagen ausgedruckt.

Issue: Ich erhalte die Meldung "Kompilierungsfehler: Methode oder Datenelement nicht gefunden" in Zeile

Private Sub GenerateComplaint_Click()

Dies ist mein erster Versuch bei VBA, also bitte ertrage es mit mir, ich bin kein Entwickler.

Below ist VBA für die Schaltfläche:

Private Sub GenerateComplaint_Click()
If IsNull([txtAddress]) Or IsNull([txtCity]) Or IsNull([txtCompany]) Or IsNull([txtContact]) Or IsNull([txtDescription]) Or IsNull([txtEmail]) Or IsNull([txtPhoneNumber]) Or IsNull([txtPartNumberOrModel]) Or IsNull([txtSerialNumber]) Or IsNull([txtService Request Date]) Or IsNull([txtState]) Or IsNull([txtZip]) Then
MsgBox "Somethings not right"

Else
 DoCmd.Save
 Dim Prompt As Integer
 Prompt = InputBox("Are you Sure you would like to create a Complaint Record? Type 1 for yes, 0 for No")
    If Prompt = 1 Then
        DoCmd.OpenForm "Complaint Request Form", , , , acFormAdd
         Forms![Complaint Request Form].Form.Company = Me.txtCompany
         Forms![Complaint Request Form].Form.Address = Me.txtAddress
         Forms![Complaint Request Form].Form.Contact = Me.txtContact
         Forms![Complaint Request Form].Form.Phone = Me.txtPhone
         Forms![Complaint Request Form].Form.Email = Me.txtEmail
         Forms![Complaint Request Form].Form.ProductNumber = Me.txtPartNumberOrModel
         Forms![Complaint Request Form].Form.SerialNumber = Me.txtSerialNumber
         Forms![Complaint Request Form].Form.City = Me.txtCity
         Forms![Complaint Request Form].Form.State = Me.txtState
         Forms![Complaint Request Form].Form.Zip = Me.txtZip
         Forms![Complaint Request Form].Form.Description = Me.txtDescription
         Forms![Complaint Request Form].Form.CusDescription = Me.txtCusDescription
         Forms![Complaint Request Form].Form.ServiceRequestNumber = Me.ServiceRequestDate
         Forms![Complaint Request Form].Form.ComplaintRequestDate = Me.txtService_Request_Date

        Dim SN As Long
        SN = Me.ServiceRequestNumber
        DoCmd.Close acForm, "Complaint Request Form", acSaveYes
        DoCmd.Close acForm, "Service_Request_sub", acSaveYes
        'DoCmd.OpenTable "Complaint_Request", , acReadOnly
        'DoCmd.Close acTable, "Complaint_Request", acSaveYes
        DoCmd.OpenReport "ComplaintRequestReport", acViewPreview, , "[Complaint_Request]![ServiceRequestNum]=" & SN
        'DoCmd.OpenReport "ServiceRequestReport", acViewPreview, , "[Service_Request]![ServiceRequestNumber]=" & SN
        'Below line works, I think there is a data type issue, ServiceRequest!ServiceRequestNumber is an autonumber, Where complaintRequest!ServiceRequestNum is autonumber
        DoCmd.OpenReport "ServiceRequestReport", acViewPreview, , "[Service_Request]![ServiceRequestNumber]=" & SN
        'DoCmd.Close acForm, "Service_Request_sub"
    ElseIf Promp = 0 Then
    'do nothing'
    Else
    Prompt = InputBox("Are you Sure you would like to create a Complaint     Record? Type 1 for yes, 0 for No")
    End If




End If

End Sub

Laufe

Private Sub GenerateComplaint_Click()
If IsNull([txtAddress]) Or IsNull([txtCity]) Or IsNull([txtCompany]) Or IsNull([txtContact]) Or IsNull([txtDescription]) Or IsNull([txtEmail]) Or IsNull([txtPhoneNumber]) Or IsNull([txtPartNumberOrModel]) Or IsNull([txtSerialNumber]) Or IsNull([txtService Request Date]) Or IsNull([txtState]) Or IsNull([txtZip]) Then
MsgBox "Somethings not right"
End if

Works ganz gut.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage