Access 2013 VBA: error de cumplimiento: método o miembro de datos no encontrado
Tengo un problema con un botón en un formulario de acceso de 2013.
Alto nivel: estoy haciendo algunos formularios reglamentarios, 1 es una Solicitud de servicio, el otro es una solicitud de queja. Se abre una solicitud de servicio en cada llamada de servicio, si la llamada no es para un reemplazo de parte, también genera una solicitud de queja general.
Tengo un formulario "service_request_form" que es donde los técnicos completan la información. Hay un botón en este formulario que me gustaría copiar todos los datos de este formulario de servicio y generar un registro de solicitud de queja. A partir de ahí, cierra todas las ventanas e imprime 2 informes personalizados basados en nuestros registros en papel.
Problema: estoy recibiendo "Error de compilación: método o miembro de datos no encontrado" en línea
Private Sub GenerateComplaint_Click()
Este es mi primer intento de vba, así que tengan paciencia conmigo, no soy desarrollador.
A continuación se muestra VBA para el botón:
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
Corriendo
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
Funciona bien