1

A -> B -> C などの一連の形式があります。

A では、B に示されているテーブル サブセットの where 条件として機能するパラメーターがユーザーから要求されます (DoCmd.OpenForm および "Detail" メソッドを使用)。

また、A のパラメーターを使用して、B で適切なキャプションを作成します。

問題 1: B にまったくヒットがない場合 (0 件のレコードが表示されている)、キャプションに使用されているパラメーター (つまり、B のテーブル コンテンツの検索キーワード) が失われているため、エラーが発生します。パラメーターを「オープン引数」としても送信することで、これを回避しようとしました。これにより、正しいキャプションが返され、検索結果は表示されません (つまり、ヒットがない場合は正しい結果になります)。ただし、Access のフォーム メニューなど、他の場所からフォームを開くと、エラーが発生します。

問題 2: 「戻る」ボタン (A ← B、B ← C など) が欲しい。最初はギリギリでやったのですが、思わぬところに出くわすこともありました。上記の解決策を逆方向に使用するには、まず、前方にさえ機能しません。

私は自分の見解と経験から問題を説明しましたが、それによって「ロック」されているとは感じません。まったく別のアプローチを知っている場合は、教えてください。

4

1 に答える 1

1

値が渡された場合OpenArgsにのみ使用するようにコードを修正すると、アプローチのエラーを解消できる可能性があります。OpenArgs

If Not IsNull(Me.OpenArgs) Then
    ' do something with OpenArgs
End If
于 2012-04-20T17:58:25.453 に答える