使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
MukkuMukuです。
Reference/MSDN
Application.DCount メソッド (Access)
このあたりが参考になろうかと思います。
Expr
"会社名"+"部署名"としてしまうと、フィールド[会社名部署名]が見つからないというエラーになりそうです。
"[会社名] & [部署名]" でも可能ですが ”*” (アスタリスク)や "[ID]" などにするとよいかと思います
Criteria
暗黙の変換ができたとしても評価できない式になっているのでしょう。
cnt = DCount("*", "テーブルB", "[会社名] & [部署名]=Application.Forms!dept_name_reg.controls!会社名 & Application.Forms!dept_name_reg.controls!部署名")
でエラーにならないかなと思います。
※ここ訂正。コンボボックスの連結列が文字列フィールドだとこれでできるけど、連結列が数値フィールドとなっている場合は、
"[会社名] = Application.Forms!dept_name_reg.controls!会社名 AND [部署名]=Application.Forms!dept_name_reg.controls!部署名"
とか
"[会社名] = " & Me!会社名 & " AND [部署名] = " & Me!部署名
ですね。
また、文字列を+演算子で結合する場合、結果がNullになることがありますので気を付けてください。
テーブルでルックアップフィールドを確認するとこんな感じになっています。
ここで設定された内容が、テーブルやフォームで使用されるデフォルトのコントロールになります。
この状態でフォームを作成した時、該当フィールドに連結されるコントロールはコンボボックスコントロールになります。テーブルの設定でなくても、フォームであればコントロールを変更してコントロールソースなどプロパティを適切に設定してください。
なぜ変化したかについては、現在の情報から判断できるものはありません。