次の方法で共有

全くの初心者です。DLookupの式の書き方を教えてください。

Anonymous
2017-01-12T07:34:58+00:00

テーブル1は下記の感じです。

 (エクセルの社員データをインポートしています。)

 社員番号AAAのフィールドはそれぞれ固有であり、文字列だと思ったのでテキスト形式にしています。

 テキスト形式のフィールド、BBBやCCCがあります。

テーブル2

 AAAのフィールドと、その他のデータをいれます。

【目標】テーブル2に対応したフォームに、AAAを入れることで、BBBやCCCを表示したいです。

【してみたこと】フォームにテキストボックスをおいて、DLookupを使おうとしました。

=DLookup("[BBB]","テーブル1", の後のところ、ネットで検索しながら色々試みましたが、うまくできません。

どなたか教えていただけないでしょうか。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Makapu 92,110 評価のポイント ボランティア モデレーター
2017-01-12T15:27:02+00:00

こんにちは。

columnプロパティを利用する方法はいかがでしょうか。

[テーブル1] :ここではフィールド名を[社員番号]・[氏名]・[部署] とします。

クエリを作成します。(コンボボックスの値集合ソース用)

[テーブル1]から[社員番号]を昇順にした選択クエリ[Qテーブル1]を作成します。

[社員番号]コンボボックスを作成します。

作成済みのフォームの[社員番号]コントロールが「テキストボックス」であれば「コンボボックス」に変更します。

フォームのデザインビューで[社員番号]コントロールを右クリックして[コントロール種類の変更] で「コンボボックス」に変更します。

[社員番号]コンボボックスのプロパティの「値集合ソース」に先程作成したクエリ「Qテーブル1」を設定します。

[社員番号]のプロパティシートの「書式」タブを開き

・列数:3

・列幅:3cm;3cm;3cm

・リスト幅:9

と設定します。(※幅の長さは例です。)

[氏名]のコントロールソースに

=[社員番号].column

を設定します。

「[社員番号]コンボボックスの2列目を表示する」という意味です。

同じく、[部署]のコントロールソースに

=[社員番号].column

を設定します。

「[社員番号]コンボボックスの3列目を表示する」という意味です。

フォームビューに切り替えて[社員番号]コンボボックスをクリックすると「Qテーブル1」クエリのリストが表示されます。

[社員番号]を選択すると、[氏名]・[部署]欄に[社員番号]コンボボックスに対応した内容が表示されます。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Makapu 92,110 評価のポイント ボランティア モデレーター
    2017-01-13T23:24:59+00:00

    やすこさん、ご返信ありがとうございます。

    Dlookup関数で無事に動いたという事で良かったです。

    こちらをご覧になったという事ですね。<Dlookup 関数の利用例

    すみません、はじめからDlookup関数のご利用方法をご連絡すればよかったですね。。。

    、『インデックス、主キー、またはリレーションシップで重複する値が生成されるため、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。』という表示が出て、作成したフォームが閉じれませんでした。

    エラーメッセージについては、主キーが重複して入力された場合に発生するものになります。

    試しに入力用のフォームで[社員番号]を主キーにしてcolumnプロパティを利用してみましたが、こちらでは問題無く動作したところから、columnプロパティとは別の問題だったのかなと思います。

    columnプロパティはフォームだけではなく、クエリやレポートでもご利用になれますので、よろしければ今後のご参考にしてみてくださいね。

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2017-01-19T11:57:42+00:00

    どうもありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2017-01-13T20:15:33+00:00

    ありがとうございます。表記が初心者の私にもとても分かりやすかったです。

    上記のとおりにすると、フォーム上で動作しました。

    ただ、『インデックス、主キー、またはリレーションシップで重複する値が生成されるため、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。』という表示が出て、作成したフォームが閉じれませんでした。

    社員番号を主キーとしていることを、私が報告していなかったのが、悪かったのでしょうか。

    その後、検索をしていてマイクロソフトの「Dlookup関数の利用例」というページを見つけ、「文字列の場合」を参考に入力をやり直したら、Dlookupが動くようになりました。

    ご面倒をおかけしまして、申し訳ありませんでした。ご親切にありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません