• 締切済み

商品番号を入力すると、商品名フィールドに自動で名前が出てくるようにしたいのですが・・・

 (ソフトはアクセスです)商品マスターのテーブルに商品のデータ(商品番号や単価など)を入力しておいて、売上明細(テーブルやフォーム)を入力する時に、商品番号を入力すると、商品名に自動で名前が出てくるようなシステム(?)をつくりたいのです。エクセルのVLOOKUP関数のような感じの。  自分なりにいろいろ試してみたのですが・・・。テーブルで設定するのですか?それともクエリー?リレーションはどのようにすればよいのでしょうか?詳しく教えていただけないでしょうか?よろしくお願いします。

みんなの回答

  • kntk
  • ベストアンサー率0% (0/0)
回答No.2

フォームでの[商品番号]更新後イベントプロシージャにこのように記述すれば出来ますよ。 [商品名] = DLookup("[商品名]", "[商品マスター]", "[商品番号]=Form![商品番号]")

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.1

基本的にはクエリーでしょうね。 選択クエリで商品マスタから「商品番号=フィールドで入れた値」に一致するレコードを抽出し、その商品名を表示すれば良いと思います。

関連するQ&A

  • 商品コード番号を入力すると商品名が商品名フィールドに自動的に入力されるようにしたいのですが

    アクセス2000を使っています。超初心者です。商品一覧のテーブルに商品コード・商品名などを入力してあります。取引履歴を入力する時に、商品コードを入力すると商品名が自動で入力されるようにしたいと考えています。商品一覧・取引履歴のテーブルにリレーションを組んでありますが、どのようにしたらよいかわかりませんので教えていただきたいと思います。的を射ない質問で申訳ありませんが、よろしくお願い致します。

  • access2003 複数のフォームから入力したデータに通し番号を付けてストックしたい

    初心者の恥ずかしい質問かもしれないので申し訳ありませんが、自力で解決できないのでアドバイスをお願いします。 伝票入力画面を作っています。  ◆親)売上入力フォーム:売上管理番号/日付/取引先/売上合計金額 ◆子)売上明細フォーム:商品コード/商品名/単価/数量/明細金額 ◆売上入力テーブル:売上管理番号/取引先/日付 ◆売上明細テーブル:明細番号/売上管理番号/商品コード/数量/明細単価 伝票が数種類あるため、それぞれの伝票を画像として取り込んで複数の入力画面を作り、入力しやすくしようと思っています。 このとき、各フォームから入力したデータを、オートナンバーでひとつの売上入力/明細テーブルにストックしていくにはどうしたらよいでしょうか? よろしくお願いします。

  • アクセスの自動入力フォームに手動で入力したい

    初心者ですが、ネットで調べながらaccess2013で、納品書フォームを作りました。 納品書明細テーブルと商品マスタテーブル(商品コード、品番、単位)を納品書明細クエリで紐づけしてフォームを作成しました。商品コードを入力すると、自動的に品番と単位が入るようになっています。 ここで、商品コードがついていない商品(商品マスタに含まれず、今後登録する予定もない)も品番と単位の欄に手動で入力できるようにしたいのですが、可能でしょうか。 今手動で入力すると「フィールド'商品コード'とキーが一致しているレコードをテーブル'商品マスタ'で探すことができません」とエラーが出てしまいます。 ご教示いただけましたら幸いです。よろしくお願いいたします。

  • アクセスーフォームでの計算

    こんにちは。アクセスの基本のことだと思うのですが、この度簡単な販売管理を作ろうとしています。アクセス2000を使用しています。 テーブルを商品マスターと伝票テーブルを作成しました。 商品マスターのフィールドは【商品番号】【商品名】【単価】です。 伝票テーブルは【伝票番号】【伝票日付】【商品番号】【個数】【税抜き金額】【消費税】【合計金額】です。 商品番号でリレーションを結んでいます。 伝票入力フォームで【税抜き金額】を計算するのに 商品マスターの【単価】と伝票入力フォームの【個数】を掛けたいのですが、上手いこといきません・・・ 今は【税抜き金額】に『=[個数]*[商品マスター]![単価]』と式を入れています。 エラーが#Name?と出ています。 商品番号でコンポボックスで商品マスターの商品名を選ぶようにしています。商品を選んで個数を入れたら計算されるようにしたいのですが、どのように式を入れたらいいのでしょうか??? すみませんが、ご教授をよろしくお願いします。

  • Access DB 商品名の扱いについて

    (テーブル名):(フィールド名) 商品テーブル:商品名。 単価数量テーブル:商品単価、数量、仕入番号、商品名。 仕入テーブル:仕入番号、仕入日、注文日、手数料、輸送費など。 売上テーブル:売上、販売日付、仕入番号、商品名。 リレーションシップ:一対多 商品テーブル商品名-単価数量テーブル商品名 商品テーブル商品名-売上テーブル商品名 仕入テーブル仕入番号-売上テーブル仕入番号 仕入テーブル仕入番号-単価数量テーブル仕入番号 このように作成しました。 ここで問題なのが、商品名の入力です。 仕入テーブルをメイン、単価数量テーブルをサブフォームにしてフォームを作成しました。 さて、商品名を単価数量テーブル商品名フィールドのサブフォームから入力・・・と思ったら、商品テーブル商品名フィールドに名前がないためエラーが出ます。(参照整合性をしているため) サブフォームの入力フィールドを商品テーブル商品名に変更すれば入力できます。 しかし、重複した商品名を入力できません(重複しないに設定しているため) 何故このようなことをするか?ですが、同じ商品でも購入日が違えば単価が違う場合があります。 ですので単価数量テーブルでは同じ商品名を使用する必要があります。 しかし、商品テーブルでは同じ商品名は必要ありません。 もちろん先に商品テーブルに商品名を入力すれば問題ありませんが、入力効率から言って問題あります。 さてここで質問なのですが、一対多の多から商品名を入力して一側に反映できないでしょうか? 一側にすでに同じ商品名がある場合は反映してはいけません。 ちないにVBAやSQLはコピペぐらいはできますが、書けませんのでご了承を。

  • ACCESSのマスターデータが削除されてしまう。

    現在、見積等を作成するためACCESSをWEBで勉強しながら作成している初心者です。 ・商品マスターに色・形状・サイズ・単価が入力済み ・明細テーブルを作成し、色・形状・サイズが入力可能 のように考えております。 ・明細クエリ: サイズ・色・形状(明細テーブル) 単価(商品マスター) を作成し明細クエリから生成したフォームから、色・形状・サイズを入力すると、単価が連動して出力(表示)できるような事を考えているのですが、うまく機能しません。 おそらく下記サイトの4番目に相当すると思い http://www.accessclub.jp/actips/tips_30.htm フォームのレコードセット:ダイナセット(矛盾を許す)にする事で解決いたしました。 そこまでは良かったのですが、入力された明細を削除すると、連動して関連した商品マスターのデータまで連鎖して削除されてしまい困っております。(当然かもしれませんが・・・) 明細削除時はマスターが削除されないような方法はありませんでしょうか。あるいは、他の方法でもかまいません。(明細フォームからはマスターから単価だけ参照する方法など)非常に困っております。何卒よろしくお願い致します。 環境:ACCESS2003 商品データ:現状7万です。

  • Accessの入力設定を自動にしたい

    Access97を使っています。 テーブルA 店舗ID 店舗名(全て、閉店した店も含む) テーブルB 店舗ID 店舗名(全て、閉店した店も含む) 商品番号 商品名 クエリC(選択クエリ) 店舗ID 店舗名(営業している店のみ) 商品番号 商品名 フォームD 店舗ID 店舗名 商品番号 商品名  フォームDから新しくオープンするお店の入力を行いたいのですが、店舗IDを入れるとテーブルAから自動的に店名がフォームDに入力され、入力した内容はクエリCに反映するような設定はどうなるのでしょうか?  テーブルBからクエリCを抽出しています。今日一日考えているのですが、頭がパニックって来ました。 よろしくお願いします。

  • Access アクセスについて

    Accessでデータベースを作っています。 テーブル、クエリは下記のようになっており、リレーションシップで紐付けしてあります。 クエリからフォームを作成し、商品番号を入力することでマスタテーブルに登録されていれば自動で商品名等の情報が表示されるようになっています。(フォーム1) 商品番号を入力しカーソルが移動した時、マスタテーブルに該当する項目がなかった場合、マスタテーブルから作成した新規追加用のフォームが表示されるようになっています。(サブフォームではありません) 新規追加用フォームに商品名を入力し、閉じてもフォーム1の商品名の欄に反映されません。新規追加用フォームを閉じる時にVBAで”Requery”,”Refresh”もやってみましたがダメでした。商品番号を入力し直すと表示されます。 どうすれば自動で商品名が表示されるようになるか教えてください。 テーブル1(入力用) 1.ID(主キー) 2.商品番号 3.etc. テーブル2(マスタテーブル) 1.商品番号(主キー) 2.商品名 3.etc. クエリ 1.ID(テーブル1) 2.商品番号(テーブル1) 3.商品名(テーブル2) 4.etc.(テーブル2) 5.etc.(テーブル1)

  • ACCESS2000のテーブル構造

    ACCESS2000のテーブルの作り方について質問します。 伝票フォームを作り「取引先コード」「商品区分コード」「商品コード」3項目を入力したら単価が表示されるようにしたいのですが、うまくいきません。 (同じ商品でも取引先により単価が違うので、3つの情報がそろったときにはこの単価になるという形にしたいのです) 現状は「商品区分テーブルの区分コード」と「商品マスターテーブルの区分コード」  「商品マスターテーブルの商品コード」と「単価テーブルの商品コード」をそれぞれ1対多リレーションし、 そして「単価テーブルの単価コード.商品コード取引先コード,単価」で選択クエリを作り、それを伝票のサブフォームにしてみたのですが、商品コードが入力できませんでした・・・ 何冊か本を参考にして作ってみたのですがうまく出来ませんでした お分かりになる方がいらっしゃいましたら教えてくださいよろしくお願いいたします。

  • ACCESS フォーム上での既定値の設定方法

     例えば商品マスターテーブルに商品の定価を入力しておいて、売上テーブルを元に作ったフォームの売上単価フィールドに既定値としてその商品の定価を自動的に入力され、なおかつ売上単価を変更して入力もできるようにしたいのですが、どのような設定をしたらよいでしょうか? 既定値と書いてしまいましたが、基本値といった感じでしょうか。 良い方法がありましたら是非、お願いします。