1

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 
4

1 に答える 1