1

Access 2013 でフォームを作成しており、レコードごとに 4 つのフィールドを出力します。

したがって、フォームが 2 つのレコードを処理して出力するとします。

Field 1   Field 2   Field 3  Field 4
Field 1   Field 2   Field 3  Field 4

今、私はそれがテーブルからその他の説明を印刷するためにその他を表示したときにそれを持ちたいと思っています。これを行うには、DefectType という名前のフィールドを非表示にしてから、Other フィールドを表示する必要があります。Other を invisible、DefectType Visible から始めて、それらを重ねて配置します。VBA は次のとおりです。

If DefectType <> "Other" Then
DefectType.Visible = True
Other.Visible = False
Else
DefectType.Visible = False
Other.Visible = True
End If

それらがすべてその他の場合は正常に機能します。これは、その他の最初のレコード値を取得し、そのフィールドの他のすべてのレコードに適用するためです。

したがって、表示される最初のレコードにフィールド 3 があり、その値が Other である場合、「other」フィールドの下にあるテーブルの値が検索され、コンテンツが表示されます。SO「その他」のコンテンツはラミネーションだったとしましょう。その他を表示する代わりに、その DefectType フィールドを非表示にし、積層を示す「その他」フィールドを表示します。
問題は、残りのレコードに対してこれを行うことです。フィールド 3 が「その他」であるかどうかを確認するテストは行わず、単に想定して、後続のレコードの「その他」フィールドの内容を入力します。これは、Corrosion のように実際にはすでに値が含まれているものもあり、「その他」フィールドには何もないため、空白のボックスが表示されることを意味します。

「その他」がフィールドにあるかどうかを判断できるように、表示される各フィールド3をテストしたい。

4

1 に答える 1