2 つのテーブルがあり、それらから「Query_Dates」というクエリを実行します。そこで、前述の 2 つのテーブルのフィールドを比較する 4 つの計算フィールドを作成しました。私がやろうとしているのは、計算されたフィールドが "Diff" に等しいたびに、2 番目のテーブル (ADHOC) から値を取得し、それを最初のテーブル (Master_Table) に入れることです。合計で、他の 4 つのフィールド (CheckRR、CheckQual、CheckProd、CheckCap) に応じて変更する 4 つのフィールドがあります。
問題は、エラー 3027, object is read-only in line where it is shown "rsd.edit" が表示されることです。誰かが私を助けたり、フィードバックをくれませんか?. 前もって感謝します。
以下に、コードを示します。
enter code here
Private Sub Comando27_Click()
Dim rsd As DAO.Recordset
Dim supplierName As String
Set rsd = Application.CurrentDb.OpenRecordset("Query_Dates", dbOpenDynaset)
retry: supplierName = InputBox("Please enter the Supplier Name", _
"Information Required")
'MsgBox "Supplier requested: " & supplierName
valid = MsgBox("Supplier Requested = " & supplierName & "??", vbYesNoCancel, "Validation")
If valid = 7 Then
GoTo retry
ElseIf valid = 2 Then
GoTo salir
End If
rsd.MoveFirst
Do While Not rsd.EOF
If rsd![Supplier Name] = supplierName Then
If rsd![CheckRR] = "Diff" And rsd![ADHOC_Run at Rate Dt] <> Empty Then
rsd.Edit
rsd![Run at Rate Dt] = rsd![ADHOC_Run at Rate Dt]
rsd.Update
End If
If rsd![CheckQual] = "Diff" And rsd![ADHOC_Qual Verif Dt] <> Empty Then
rsd.Edit
rsd![Master_Table_Qual Verif Dt] = rsd![ADHOC_Qual Verif Dt]
rsd.Update
End If
If rsd![CheckProd] = "Diff" And rsd![ADHOC_Prod Verif Dt] <> Empty Then
rst.Edit
rsd![Master_Table_Prod Verif Dt] = rsd![ADHOC_Prod Verif Dt]
rsd.Update
End If
If rsd![CheckCap] = "Diff" And rsd![ADHOC_Prod Verif Dt] <> Empty Then
rsd.Edit
rsd![Master_Table_Cap Verif Dt] = rsd![ADHOC_Cap Verif Dt]
rsd.Update
End If
End If
rsd.MoveNext
Loop
salir: rsd.Close
Set rsd = Nothing
End Sub