プロが教える店舗&オフィスのセキュリティ対策術

フォームに配置した連結コントローの更新後処理に
Msgbox DLookup(”都道府県”,”T_住所”,”名称='" & このコントロール & ”’”)
帰ってきません
ちなみに DLookup(”都道府県”,”T_住所”,”名称='ABC'")
帰ってきます
DLookup(”都道府県”,”T_住所”,”名称='" & このコントロール.Value & ”’”)
帰ってきません

例えば変数を宣言し
Let 変数 =このコントロール.Value
Msgbox 変数にすると
ABC
ABC
ABS
になります

20年ぶりにACCESSを扱います何か勘違いか忘れてることがあればお教えください
ACCESSは現バージョンです

ずいぶん変わったのは驚きです

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます

    debug.print このコントロール.Value

    イミディエイトウィンドウには

    ABC
    ABC
    ABC

    と3行になります

    掛からなかった分はNullが変えるからとラップを掛けれますが
    これでは、永遠にかかりません
    3回参照してるような

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/10/29 16:00
  • うーん・・・

    説明不足ですね
    失礼しました
    テキストボックス
    だからわからいのです
    参照するテキストボックスの値はABC
    イミディエイトに
    ABC
    ABC
    ABC
    と出力されるのが?

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/10/29 17:15
  • へこむわー

    思い出しました

    コントロールソース名と
    コントロール名が一緒でした

    すみません

      補足日時:2020/10/29 18:40

A 回答 (4件)

debug.print ”名称='" & このコントロール.Value & ”’”


などで、スペース等余分なものがないことを確認されたらいかがでしょうか? (msgboxでも買いまいません。)
この回答への補足あり
    • good
    • 0

コントロールの種類は何ですか?


リストボックスなら、
ListBox1.Value
コンボボックスでは、
ComboBox1.List(ComboBox1.ListIndex)
などとして、選んだ行の値を選択できます。
この回答への補足あり
    • good
    • 0

テキストボックスの場合は、


text1.textをいつも使っていましたが、
複数行ある場合は、めんどくさいですけど、vbcrlfなどで、splitしないといけないかもしれません。
    • good
    • 0

実際にテキストボックスに


改行込みの3行分のデータが入っているんじゃありませんか?

テキストボックスにカーソルを置いて
Shift+F2 でズームボックスを表示して
内容を確認してください。

テーブルでのフィールドサイズが充分大きいと
ウィザードが、気を利かせて
「Enterキー入力時動作」を「フィールドに行を追加」に変えてくれる場合があります。

ユーザーは気づかず、Enter を 入力後
データ未入力と思って再入力、
その後 タブキーで移動、あるいは直接コマンドボタンクリックなどで確定。
結果、テキストボックスの中身は
ABC<改行>ABC
になってしまう、
ということだと思いますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!