#対話表引き(<ファイル名>, <条件式>, <値式>[, <ガイド式>, <索引名>, <失敗値式>, <フラグ>, <タイトル>, <値書式>, <ガイド書式>, <ガイド幅>, <ウィンドウ幅>, <ウィンドウ高さ>])

対話形式で表引きを行ないます。この関数は,集計式,ビュー結合条件式で使うことはできません。


構文

#対話表引き(<ファイル名>, <条件式>, <値式>[, <ガイド式>, <索引名>, <失敗値式>, <フラグ>, <タイトル>, <値書式>, <ガイド書式>, <ガイド幅>, <ウィンドウ幅>, <ウィンドウ高さ>])
#DLGLOOKUP(<ファイル名>, <条件式>, <値式>[, <ガイド式>, <索引名>, <失敗値式>, <フラグ>, <タイトル>, <値書式>, <ガイド書式>, <ガイド幅>, <ウィンドウ幅>, <ウィンドウ高さ>])

引数

<ファイル名>
表引きをしたい表のファイル名を指定します。ビューファイル,カードファイルは指定できません。ファイル名に拡張子が指定されても無視され,常に .dpt とみなされます。
単一式中では文字列定数のみが指定できます。DPL 中では任意の文字列式またはカーソルを指定できます。カーソルのとき,それが選択表や集計表ならばその表から表引きされます。
<ファイル名> を省略すると自表とみなされます。DPL 中では省略できません。
<条件式>
レコードを探すための条件式を指定します。式中では <ファイル名> に含まれる項目を参照することができます。
<値式>
<条件式> が真のとき,そのレコードから結果を求めるための式を指定します。この値はウィンドウ中に表示されます。式中では <ファイル名> に含まれる項目を参照することができます。
<ガイド式>
<値式> の値と対でウィンドウ中に表示される任意の式を指定します。式中では <ファイル名> に含まれる項目を参照することができます。
<索引名>
表引きのときに使用する索引名を指定します。<ファイル名> にすでに定義されている索引でなければなりません。省略したときは,<条件式> から適当に使用できそうな索引を探して使用しますが,適当な索引が見つからなければ索引を使用しないで表引きをします。
<失敗値式>
<条件式> を満たすレコードが一つもないときに採用する結果を求めるための式を指定します。<ファイル名> に含まれる項目を参照することはできません。
<フラグ>
以下の値の和を指定し,さまざまな制御を行ないます。省略された場合は,DBPro32.iniLookupDlg に指定されている値が採用されます。
1ウィンドウを表示せずに常に最初に見つかったレコードの値を返します。これは,通常の表引きと常に同じ動作になります。
2見つかったレコードが一つだけのときはウィンドウを表示せず,ただちにその値を返します。
4表引きウィンドウを Esc で取り消したとき,<失敗値式> の値を採用せずに常にナルを返します。
8DPL 以外では,ウィンドウは編集中のウィンドウのセルカーソルの位置に表示されますが,これを無視してウィンドウを固定位置に表示します。DPL 中では常に固定位置となります。
16ウィンドウ中の値とガイドの間に分割線を引きません。
32通常は,同一の値をもつレコードは複数表示されませんが,これを指定することによって同一の値をもつレコードでも区別なく表示します。
64索引の逆順にレコードを探します。索引が使われないときは表の並び順の逆順に探します。
128対象表を常に実表とします。
256選択可能数を DBPro32.ini の LookupDlg の第3パラメータの値以上増やさないようにします。
512候補の先頭に常にナルを追加します。
<タイトル>
ウィンドウのタイトルとなる文字列を指定します。省略されたときは,表引き対象となっているファイル名と,索引を使っていればその索引名が表示されます。
<値書式>
<値式> をウィンドウに表示するための表示書式を文字列式で指定します。省略したときは標準書式となります。
<ガイド書式>
<ガイド式> をウィンドウに表示するための表示書式を文字列式で指定します。省略したときは標準書式となります。
<ガイド幅>
ウィンドウ中に占めるウィンドウの幅に対するガイドの表示幅の割合を % で指定します。正の値のときは,<ガイド式> の値を右側に表示し,負の値のときは左側に表示します。50 なら値とガイドがちょうど半分ずつウィンドウ中に表示されます。0 ならガイドは表示されません。絶対値 100 以上は 100 とみなされ,ウィンドウ中にはガイドだけが表示されます。値は表示されません。省略された場合は,DBPro32.iniLookupDlg に指定されている値が採用されます。<ガイド式> が省略されているときは常に 0 とみなされます。
<ウィンドウ幅>
ウィンドウの幅をダイアログ単位の数値で指定します。省略された場合は適当な大きさで表示されます。
<ウィンドウ高さ>
ウィンドウの高さをダイアログ単位で指定します。省略された場合は適当な大きさで表示されます。

商品のコードから商品名を引くための対話型表引きは,次のように指定します。この例では,商品名とコードが対になって一覧表示されます。
#対話表引き('SCODE', SCODE.[コード]=[コード], SCODE.[商品名], SCODE.[コード], 'コード順', '該当商品なし')
DPL 中に直接 #対話表引き を書くときは,
#対話表引き(@SCODE, .[コード]=[コード], .[商品名], .[コード], 'コード順', '該当商品なし')
のようにしてください。

解説

戻り値

関連項目

→#表引き
→#直前値
DBProヘルプ目次へ