1

マルチフィールド フォームがあり、それを使用してテーブルのレコードを取得します。フィールドにユーザー入力がない場合、対応する列に「*」と Null 値を許可したいのですが、それ以外の場合はユーザー入力を許可します。

私は試した

Like IIf([Forms]![frm_searchForm]![Titel]="" Or IsNull([Forms]![frm_searchForm]![Titel]);Like "*" Or Is Null;[Forms]![frm_searchForm]![Titel])

としても

Like IIf(IsEmpty([Forms]![frm_searchForm]![Titel]);Like "*" Or Is Null;[Forms]![frm_searchForm]![Titel])

ただし、どちらの場合も、IIf 関数は常に else 式をトリガーします。フォームのフィールドが空かどうかを確認するにはどうすればよいですか? これはVBなしでも可能ですか?

ありがとう

4

1 に答える 1

1

AFAICT、[Forms]![frm_searchForm]![Titel]値が含まれている場合、一部のフィールドにその値が含まれている行のみが必要です。

ただし、[Forms]![frm_searchForm]![Titel]が Null または空の文字列の場合は、すべての行を取得する必要があります。

それが正しければ、次のWHEREような節を試してください。

WHERE
       Len([Forms]![frm_searchForm]![Titel] & '') = 0
    OR some_field Like '*' & [Forms]![frm_searchForm]![Titel] & '*'

PARAMETERSまた、SQL ステートメントの先頭に句を追加します。

PARAMETERS [Forms]![frm_searchForm]![Titel] Text ( 255 );
于 2012-10-10T13:49:38.167 に答える