(ACCESS)入力フォームについて

このQ&Aのポイント
  • 商品マスタと販売マスタを一つにした販売可商品マスタクエリを作成する際、入力フォームの作成に困っています。
  • 具体的には、管理番号を入力すると価格が自動的に表示されるようなフォームを作りたいです。
  • 更新後処理を使用する方法がわからず、助けが必要です。
回答を見る
  • ベストアンサー

(ACCESS)入力フォームについて

こんにちはmynannです またまた困っているのでよかったらヒントを いただきたいと思い質問させていただきます まずテーブルが二つあり 商品マスタには管理番号(主キー)と価格の二つの項目があります。 もうひとつは販売マスタというのがあり フィールドは管理番号、販売可(チェックボックス) の二つです。 この二つはリレーションシップの関係にあります そしてこの二つを一つにした 販売可商品マスタクエリがあります 商品マスタにはすでに多くのデータがあり それ専用の入力フォームもあります 今販売マスタの入力フォームを作りたいのです どのようなものかといいますと 管理番号を入力すると価格用のテキストボックスに 自動的に入力された管理番号の価格(商品マスタから調べると思うのですが)を表示するようにしたいのです 管理番号[       ]←ここに値を入力 価格[       ]←管理番号が入力されると自動的にでる 販売可 □ ←自分でチェックする イメージはこのような感じです 更新後処理を使うということはなんとなくわかるのですが どのような処理をさせていいかわかりません 助けてください!お願いします!

  • mynann
  • お礼率46% (150/324)

質問者が選んだベストアンサー

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 管理番号[       ]←ここに値を入力 > 価格[       ]←管理番号が入力されると自動的にでる いくつか方法がありますね。 管理番号を入力するためのコントロールを、コンボボックスにしてやると、 Column プロパティを使うことができます。 Me!txt価格 = Me!cmb管理番号.Column(1) のように。 テキストボックスのままなら、DLookup 関数を使ってやればいいですね。 Me!txt価格 = DLookup("[価格]","[商品マスタ]","[管理番号]=" & Me!txt管理番号)

mynann
質問者

お礼

Dlookup関数を使えば自分のやりたいことができそうです! ありがとうございました!

関連するQ&A

  • access 入力フォームへの表示

    初歩的な質問で申し訳ありません。 accessで商品マスタへの入力フォームを作成しました。 商品マスタテーブルから作成しました。 新規入力ボタン、登録ボタンを作成して、ボタンクリック時にのみ 新しいレコードへの移動、テーブルへのデータ更新を実行するようにしました。 この段階で、できれば入力フォーム上でコンボボックスなどを利用して検索を行い、 選択データをフォーム上に表示させたいと思いました。 ところがまったく知恵が働かず、どうしてよいのやら途方にくれています。 検索フォームを別途設けてもよいのですが、商品数が200たらずで、 今はコンボボックスで十分かなと思っています。 商品マスタにはカタカナ二文字の「検索キー」フィールドを設けており、 これをキーにしてクエリ(「Q商品検索」)で昇順に並べ、コンボボックスのコントロールソースを そのクエリにしました。 コンボボックスの更新後の処理イベントでマクロを使い、 「フォームを開く」にしてみましたが、その他の条件のつけ方がわかりません。 まったく的外れなことをしているのかもしれません・・・。 本やネットの質問過去ログで探してはみましたが、皆さん先を進んでおられて、窮してしまっています・・・。 このような状態でaccessを触るな!とお叱りを受けそうですが、 どうかお助け下さい。 よろしくお願いします。

  • 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)

  • ACCESS フォームの入力で

    フォームの入力でコード番号を入力すると項目が自動入力出来るようにしたくて 2つ目のテキストボックスのコントロールソースに=DLookUp("[商品名]","テーブル2","[商品コード] = [コード] ")と入力したのですが 1つ目のテキストボックスに入力すると そのときは2つ目のテキストボックスは白紙で 一度フォームを閉じてから立ち上げると2つ目のテキストボックスにも入力されています。 これは閉じないと入力されないのでしょうか? 1つ目を入力した後に表示されるようにしたいのですが・・・。 よろしくお願いします。

  • Accessでのフォーム入力エラー

    顧客管理を 顧客マスタ 受注明細 入金明細のテーブルを作成し、リレーションシップの設定をしてあります。テーブルには、この形で入力できるのですが、フォームをウィザードを使って作成(サブフォームのリンクされたフォーム)しました。 新規入力することができません。「テーブル’顧客マスタ’にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更をおこなうことはできません。」のメッセージが出ます。 どうしていいのか、わかりません。教えてください。

  • access フォーム間で情報が引き継がれない

    初心者です、よろしくお願いします。 仕様環境 WinXP Access2002 請求管理のシステムを作っています。 テーブルには 顧客マスタ(主キーは顧客番号でテキスト型 例:0001等) 請求マスタ(主キーは請求番号でテキスト型 例:A0001等) 明細マスタ(主キーは明細番号でオートナンバー ダミーみたいな感じで使っています。) そしてリレーションシップで顧客マスタ(1)→(多)請求マスタ(1)→(多)明細マスタになっています。 顧客マスタを元にしたフォーム(顧客入力フォーム)に顧客情報を入れて、 「請求書作成ボタン」を作り、そのボタンを押すと別のフォーム(請求書作成フォーム)に 飛ぶようにしているのですが、その際に顧客入力フォームに入力した情報を 引っ張っていくようにしたいのですが、うまくいきません。 ちなみに顧客マスタと請求マスタのリレーションは”顧客番号”でつなげています。 請求書作成フォームは請求書作成クエリから成り、 その中で顧客番号(テーブル:顧客マスタ)の抽出条件に[Forms]![顧客入力フォーム]![顧客番号]と 入れて”顧客番号つながり”で飛ぶようにしているのですが、 請求書作成フォームは開くのですけど、項目はすべて空白です。 またいろいろレコードを追加している内に、請求番号が既にあるものに対しては顧客情報も引き継がれることが判明しました。 構文が間違っているのでしょうか? 混乱しています、お助けください。

  • フォームで入力しても反映されない

    ACCESSでフォームに入力しても元クエリに反映されない原因は何が考えられますか?コンボボックスからデータを入力しているのですが・・・。あと、選択クエリの更新結果が1件も表示されないのはリレーションシップの設定がまずいからでしょうか??

  • アクセスのフォームで入力日を自動で入力するには?

    アクセスで商品管理を行いたいと思いますが、フォームで商品リストから選んだ商品を必要数量(別途個別入力)だけ発注処理を行う際に、入力を行った日付を各カードに自動的に入力する方法はないでしょうか? 教えてください。 todayのように開く度に変更がかかってしまうのは困ります。 よろしくお願いします。

  • Access 入力フォームの作成

    アクセス2007 2つのテーブルがあります。 tbl顧客 顧客番号 顧客名 住所 電話 tbl販売 販売番号(オートナンバー) 日付 顧客番号 商品 金額 tbl販売で作成した入力フォームで、 約5日分のデータを、レシートを見て一気に入れます。 次のデータを入力します。 日付|顧客番号|商品|金額 3/8|123|石鹸|200 3/8|122|洗剤|100 3/8|126|食器|700 3/8|127|鉛筆|600 3/8|125|石鹸|200 ------------------- 3/9|123|食器|200 3/9|132|洗剤|900 3/9|126|食器|300 3/9|127|洗剤|600 3/9|128|石鹸|500 同じ日付を毎回入力しています。入力に手間がかかります。 例えば、見出にテキストボックスを作成して、その日付が自動的に入力できるような方法を知りたいです。 3/8と入力 ↓自動的に日付が入る。 3/8|123|石鹸|200 3/8|122|洗剤|100 3/8|126|食器|700 また、顧客番号だけですと入力ミスが起きやすいので、確認の意味で顧客名が表示されるような方法はありますか? 3/8|123|太郎|石鹸|200 3/8|122|花子|洗剤|100 3/8|126|次郎|食器|700 のように。 よろしくお願い致します。

  • Access2003 フォーム入力中に入力内容が消えてしまう

    現在、仕事でAccess2003を使用しているのですが、Accessのフォームに文字を入力していくと、一定時間経過すると、当該入力内容が消えてしまう不具合が発生します。もちろん、テーブルデータには残っているのですが、どうにかならないのものでしょうか? 非常に困っています教えてください! 現在の使用環境をまとめます。 ・Access2003を使用し、苦情処理内容等をフォームに書き込み、苦情内容が蓄積していくようなデータベースを構築し運用している。 ・Access2003ファイルを同時に6人で共有して使用している。 ・フォームの構成は、フォームの中でコンボボックスを使用しており、コンボボックスが、例えば、都道府県区分を「東京」と選択すると、地区区分という関東か、東北か、などの区分が自動的に「関東」となるようにクエリを使用している。 ・フォームは、サブフォームとして選択クエリを使用して、苦情内容の期間、相談者名を親フォームを使用して、検索が可能な状態にしてある。 ・親フォームには、入力した内容を印刷できるように、入力データを印刷できるボタンを設置してある。 ・各苦情受付担当者が、当該Access2003で、入力フォームで苦情内容等を入力し、30分ぐらい経つと、自動的に文字が反転し、時計マークがでて来て、入力内容がそっくり消えてしまう。 おそらく、Access2003を複数人で同時に扱っているため、フォームに入力した内容が30分程度経つと消えてしまうのか? 若しくは、フォームの作り方に問題があるのか?(フォーム、サブフォームを作成し、入力はサブフォームに入力することとしている。当該サブフォーム中にはマクロでクエリをいくつか使っている状況。) 又は、システム上のバグの問題なのかわかりません。 もしわかる方、若しくは、少しでも手がかりがわかる方がいらしゃったら是非教えてください。なんでも結構です。 お願いいたします。

  • Access 商品マスタフォームの検索コンボBOX

    商品マスタフォームのヘッダーに非連結のコンボボックスを設けて、 商品検索キーを使ってフォームにデータを表示させるようにしています。 フォーム「商品マスタ」 選択クエリ「商品検索」(フィールド:「商品ID」「検索キー(カナ2文字)」「商品名」) コンボボックス「cb検索」 更新後処理に「再クエリマクロ」 うまく動作していますが、検索コンボボックスをもう一つ設けて、 仕入先からも検索できるようにしたいと思いました。 同じようにフォーム上に非連結のコンボボックスを作成して 選択クエリ「商品検索仕入先」(フィールド:「商品ID」「仕入先」「商品名」) コンボボックス「cb検索仕入先」 更新後処理に「再クエリマクロ」 フォームのコントロールソースのクエリ「商品ID」の条件を Like [Forms]![商品マスタ]![cb検索] & "*" Or Like [Forms]![商品マスタ]![cb検索仕入先] & "*" としました。 何度か交互に検索してみましたが、選択した商品が表示されるときとされないときがあります。 表示されないときは、検索に使っていないほうのコンボボックスの値が反映されているようです。 また、続けて検索キーのみで検索を試みてみると、うまく表示されるときと、そのときの 仕入先検索が選択している商品が表示されるときとがあります。 法則性がまったくわかりません。 一番最新のコンボボックスの選択が表示に反映されるようにするには どのようにすればよいのか教えていただけないでしょうか。 他に提示する情報があれば重ねてご教示ください。 よろしくお願いします。