1

私はこのようなコードを持っています:

Dim strResponses As String
strResponses = Forms!frmResponses.QstnID.OpenArgs
If Len(strResponses) > 0 Then
     Me![QstnID].DefaultValue = Me.OpenArgs
  End If

実行すると、エラー 438 が表示されます。エラーの場所を教えてもらえますか?

4

3 に答える 3

1

確かにそれはあるべきです:

 strResponses = Forms!frmResponses.OpenArgs

または

 strResponses = Me.OpenArgs

フォームのみ、および最近のバージョンではレポートに OpenArgs プロパティがあるため、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーが発生すると思います。

于 2010-05-17T09:56:11.457 に答える
0

次の行でエラー 438 が発生していますか?

Me![QstnID].DefaultValue = Me.OpenArgs

テストとして、別のMe![QstnID].DefaultValueものに設定しようとするとどうなりますか? 例えば

Me![QstnID].DefaultValue=42

では、問題は確実に OpenArgs に関連しているのでしょうか?

于 2010-05-17T10:06:42.747 に答える
0

エラーがどの行にあるかを知るには、次のことができます

  1. myError ラベルを作成する
  2. 「on error goto myError」句を追加します
  3. コード行に番号を付ける
  4. 「erl」値を使用してエラー行番号を表示します

MZ-Tools for VBA アドインを使用することもできます。これは、正しくパラメーターを指定すると、数回のクリックでこれを行うことができます。このより完全な回答を確認することもできます: ms-access-vba-and-error-handling

于 2010-05-17T19:20:47.053 に答える