Microsoft Access 掲示板

フォーム上でdlookup / 6

6 コメント
views
4 フォロー
6
hiroton 2021/02/24 (水) 08:50:38 83be0@f966d

分かりにくかったようですみません。実際に修正すべき部分だけを示すならば

[Me]![商品コード]
↓
[商品コード]

です。前後の変更しない部分を表記したほうが分かりやすいかなと思ったんですが余計でした


'"&の使い方

解決してそうですがせっかくなので技術的な話を
DLookUpの第三引数にはWHERE句に相当する文字列を指定します。「文字列」なので実際に処理されるSQL構文を「"(ダブルクオーテーション)」で囲みます

SQL構文(一部)
[商品コード]='A10'

ACCESS上(VBA)での該当する部分の表記(前後を「"」で囲む)
"[商品コード]='A10'"

今回の目的は「A10」を変数(フォーム上のテキストボックスの値)にしたいということなので、文字列の途中を抜き取るような形になります。元の文字列でそっくり残したい部分は前後に分割されて、それぞれで独立した文字列として「"」で囲みなおすことになります

SQLの文字
(文字列の前半)        => [商品コード]='
(変数化したい文字部分)=> (任意の文字)
(文字列の後半)        => '

ACCESS上(VBA)での表記
(文字列の前半)        => "[商品コード]='"
(変数化したい文字部分)=> [商品コード]
(文字列の後半)        => "'"

そうして最後にそれぞれに分割した内容を文字列として連結するために「&」でつなぎます

結果
"[商品コード]='" & [商品コード] & "'"

通報 ...