私はこのようなコードを持っています:
Dim strResponses As String
strResponses = Forms!frmResponses.QstnID.OpenArgs
If Len(strResponses) > 0 Then
Me![QstnID].DefaultValue = Me.OpenArgs
End If
実行すると、エラー 438 が表示されます。エラーの場所を教えてもらえますか?
確かにそれはあるべきです:
strResponses = Forms!frmResponses.OpenArgs
または
strResponses = Me.OpenArgs
フォームのみ、および最近のバージョンではレポートに OpenArgs プロパティがあるため、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーが発生すると思います。
次の行でエラー 438 が発生していますか?
Me![QstnID].DefaultValue = Me.OpenArgs
テストとして、別のMe![QstnID].DefaultValue
ものに設定しようとするとどうなりますか? 例えば
Me![QstnID].DefaultValue=42
では、問題は確実に OpenArgs に関連しているのでしょうか?
エラーがどの行にあるかを知るには、次のことができます
MZ-Tools for VBA アドインを使用することもできます。これは、正しくパラメーターを指定すると、数回のクリックでこれを行うことができます。このより完全な回答を確認することもできます: ms-access-vba-and-error-handling