2013年アクセスフォームのボタンに問題があります。アクセス2013年VBA:対応エラー:メソッドまたはデータメンバーが見つかりません
上位レベル:私はいくつかの規制フォームを作成しています.1つはサービスリクエスト、もう1つは申し立てリクエストです。 サービス要求がサービスコールごとに開かれます。コールが部品交換用でない場合は、一般的なクレーム要求も生成されます。
私は、techsが情報を記入する場所である "service_request_form"のフォームを持っています。このフォームには、このサービスフォームからすべてのデータをコピーしてクレームリクエストレコードを生成するボタンがあります。そこからすべてのウィンドウが閉じられ、当社の紙記録に基づいて2つのカスタムレポートが印刷されます。
問題:私は「コンパイルエラー:メソッドまたはデータメンバが見つかりません」recieving午前ライン上
Private Sub GenerateComplaint_Click()
これは、VBAでの私の最初の試みですので、私と一緒に負担してください、私は開発者ではありませんよ。以下は
ボタンにVBAです:
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
はうまく動作し
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
を実行します。
が見える...私は意味、それは*右* [コンパイラ]苦情を生成しますか? '' ...ハイライトされた行がメソッドの*シグネチャ*ですか?最初に私はそれが起こっていると聞きました... –
これらの 'Set'キーワードはすべて、コンパイルして実行するとランタイムエラーが発生すると言われています。 'Set'はオブジェクト参照*を割り当てるためのもので、あなたは* values *を割り当てています。そこに 'Set'を削除してください。 –
@ Mat's Mug私はGenerateComplaintという新しい "空白"ボタンを作成しました。 最初のIfステートメントを貼り付け、ボタンが期待どおりに機能しました。ボタンはVBAによって作成されました –