dポイントプレゼントキャンペーン実施中!

かなり初心者です。
Accessに【顧客テーブル】と【担当者テーブル】を作成しました、それぞれに【担当者コード】というフィールドを作っています。この【顧客テーブル】に顧客情報をフォームで入力していきたいのですが、顧客テーブルの【担当者コード】フィールドに担当者コードを入力した際、【担当者テーブル】の担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。
テキストボックスのコントロールソースに
=VLOOKUP([担当者コード](フォームのテキストボックスの名前),[T_担当者テーブル],[T_担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。
Lookupは使えませんか?他に方法ありますか?
よろしくお願いします。

A 回答 (5件)

<通常のやり方>



・[担当者コード]をコンボボックスにする。
・[値集合ソース]=SELECT 担当者.ID, 担当者.担当者名, * FROM 担当者;
・[列幅]=0cm;3cm
・[リスト行数]=担当者総数

これで、担当者名を選ぶと[担当者.ID]が入力・変更できます。

[担当者.ID]は、[担当者.担当者コード]と質問者の使用列名に直して下さい。

なお、

[担当者名表示欄]=Lookup("担当者名", "担当者テーブル”, "担当者コード=" & [担当者コード])

では、入力コードテーブルをユーザーに示さねばならないので問題が多いと思います。
    • good
    • 0

>Lookupは使えませんか


VLookupはExcelのデータシート関数なので使えません。DLoookupで出来ます。
担当者コードのコントロールソースに
= DLookup("[担当者名]", "担当者テーブル", "[担当者コード] = " & Me![担当者コード])
または
= DLookup("[担当者名]", "担当者テーブル", "[担当者コード] = " & Forms!フォーム名!担当者コード)
でできます。
>他に方法ありますか
簡単な方法はフォームをデザインビューで開きフォーム自体のプロパティを開きます。
レコードソースに顧客テーブルが設定されていると思います。その右の...ボタンをクリックしクエリビルダを起動しSQLステートメントを開きます。担当者テーブルをテーブルの表示でステートメント内に追加します。顧客テーブルの担当者コードと担当者テーブルの担当者コードをドラッグし結合させます。(先にリレーションをしていれば自動で結合は表示されます。)
SQLステートメントに顧客テーブル全て(フォームのコントロールに必要なフィールドのみでOK)と担当者テーブルの担当者名のフィールドを追加し閉じます。
フォームの担当者名のコントロールソースを担当者テーブルの担当者名に設定すれば担当者コードの入力によって担当者名が表示されます。(これも簡単です)

別の方法として
担当者コードをコンボボックスにして担当者テーブルの担当者コード・担当者名を表示させ選択したものを担当者コードに取得し担当者名を表示したいコントロールに担当者名を代入させるやりかた。
コンボボックスが担当者コード・担当者名の順で表示するようにしてあるとして イベントの更新後処理に
Private Sub コンボボックス名_AfterUpdate()
担当者名 = コンボボックス名.Column(1)
End Sub
とすればフォームの担当者名を表示するコントロールにコンボボックスの担当者名の値を代入することができます。
    • good
    • 1

顧客情報入力フォームの担当者コード入力のテキストボックスのプロパティ→イベントタブ→更新後処理に


Me![担当者名] = DLookup("担当者名", "担当者テーブル", "担当者名コード='" & Me![担当者コード] & "'")

これで担当者テーブルの担当者コードとフォームの担当者コードをKeyにして担当者名をフォームに表示します。
ご質問の趣旨と違ってましたらごめんなさい。
    • good
    • 0

s_husky です



DLookup の D が欠落していました。
    • good
    • 0

DLookup("担当者名", "顧客テーブル", "担当者コード = me.フォームのテキストボックスの名前")



↑で出来ないでしょうか。最後のテキストボックスの
名前は、条件をダブルクォーテーション囲む必要が
あるので、変数に一度入れて&で文字結合してダブル
クォーテーションの外に出さないといけません。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A