Microsoft Access 掲示板

サブフォームでのDlookup「型が一致しません」の対処方法について / 2

7 コメント
views
4 フォロー
2
りんご 2022/04/29 (金) 01:44:26 c564b@0e907

 DLookup、正直苦手なのでしっかり回答出来ないのですが、追加情報があればいいかもと。
 抽出条件無しでの動作確認、単独条件での動作確認、パラメータの代わりに適当な値を入れて動作確認はどうでしたか?パラメータの参照は想定通り?(仕入商品IDが何処を参照する事になるのか誰か解説して欲しい。)
 念の為、コンボボックスについても確認です。仕入先IDや仕入商品IDですが、1列目ならば連結列は1、2列目ならば連結列は2となっていますか?
 念の為、仕入先IDや仕入商品IDについても確認です。オートナンバー型との事ですか、0001、0002、0003みたいな感じではないですよね?実はNULLもあったり、なんてことはないですよね?

通報 ...
  • 4

    りんご 様

    お忙しい中大変ご丁寧にありがとうございました。

    >抽出条件無しでの動作確認、単独条件での動作確認、パラメータの代わりに適当な値を入れて動作確認はどうでしたか?

    抽出条件無での動作確認は問題ございませんでした。
    また、単独条件での動作確認ですが、仕入商品ID(オートナンバー型)を単独条件としたところ、本来導き出したい数値とは異なるものが代入されました。
    わたくしの勝手な推測なのですが、仕入商品ID(オートナンバー型)は仕入先ID各社の仕入商品テーブルがあり、仕入商品ID(オートナンバー型)が重複するため、別のものを代入しているのではないかと考えます。
    パラメータの代わりにダイレクトに仕入先IDを3仕入商品IDを3として動作してみたところ、
    いずれも「エラー13 型が一致しません」となりました。
    わたくしの式の書き方が悪いことが原因と思います。(恥ずかしながら、調べながら利用している素人です)
    下記3通り試しました。
    入数 = DLookup(入数, "UQ仕入商品一覧", "仕入先ID =  3" And "[仕入商品ID] =  3")
    入数 = DLookup(入数, "UQ仕入商品一覧", "[仕入先ID] =  3" And "[仕入商品ID] =  3")
    入数 = DLookup(入数, "UQ仕入商品一覧", "Forms![F仕入入力]!仕入先ID =  3" And "[仕入商品ID] =  3")

    >念の為、コンボボックスについても確認です。仕入先IDや仕入商品IDですが、1列目ならば連結列は1、2列目ならば連結列は2となっていますか?

    プロパティシートにて連結列確認いたしました。
    連結列はコンボボックスすべてにおいて「1」でした。

    >念の為、仕入先IDや仕入商品IDについても確認です。オートナンバー型との事ですか、0001、0002、0003みたいな感じではないですよね?実はNULLもあったり、なんてことはないですよね?

    仕入先IDと仕入商品IDは頭に0等は入らず全て整数の「1.2.3…」となっております。
    またNULLはございません。
    全てのIDには必ず整数が入るようにしております。

    hatena様から教えていただきました通りに変更したところ、入数には正しい数値が代入されました。