アクセス初心者が商品番号を付与する方法

このQ&Aのポイント
  • アクセス初心者の方が商品番号を付与する方法を教えてください。
  • 商品リストテーブルと商品一覧テーブルを使って、商品番号を付与するクエリーを作成しましたが、登録されていない商品がある場合にエラーを表示する方法を知りたいです。
  • 登録されていない商品を抽出するクエリーの作り方を教えてください。
回答を見る
  • ベストアンサー

アクセスについて

アクセス初心者です。 アクセスで毎月入ってくる商品に商品番号を付与しようと思っています。 商品リストテーブルには   フィールド1→商品名   フィールド2→商品番号 商品一覧テーブル    フィールド1→商品名(毎月100件程入る) この2つのテーブルから 商品番号付与クエリーを作成しました。 (フィールド1同士を繋ぎ、フィールド2の商品番号を引っ張ってくる) 但し、商品一覧テーブルに入ってくる商品の中で、まだ商品リストテーブルに登録されていない商品があります。その時、クエリーでは、その商品は表示されません。 どうにか登録されていない商品があった場合に、エラーと表示できるか、又は登録されていない商品を抽出するようなクエリーの作り方を教えて下さい。 よろしくお願いします。 分かりづらくてスミマセン・・・

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

  • ベストアンサー
回答No.3

No2の補足と訂正です >まず結合を >一覧テーブル → リストテーブル これは商品名で結合した後、線を右クリックして[結合プロパティ]で 一覧テーブルの全レコードとリストテーブルの同じ結合フィールド だけを含める を選択します >これで二つのレコードのうち商品名がリストテーブルにはあるが >一覧テーブルにはないものが抽出されます。 これ反対ですね(^^;;) リストテーブル内のレコードのうち 一覧にあってリストに無い商品が抽出される が正解! ではではでは

kapakapa
質問者

お礼

ats8181oyaji様、おはようございます。 早速作業してみましたら、出来ました。 本当にありがとうございます。感謝、感謝です。

その他の回答 (2)

回答No.2

こんにちは >不一致クエリ機能はインストールされていないようです・・・ クエリの新規作成→次の画面の下に出てませんか? アクセスのバージョン97,2000では確か標準ですよ>不一致クエリ もしだめならクエリを手動でも作成できます まず結合を 一覧テーブル → リストテーブル として 下部のフィールドに一覧テーブルの商品名と リストテーブルの商品名を持ってくる リストテーブルの商品名の表示をはずし、抽出条件に"Is Null" と入力。 これで二つのレコードのうち商品名がリストテーブルにはあるが 一覧テーブルにはないものが抽出されます。 ではでは

回答No.1

こんにちは 不一致クエリの機能を使ってもだめでしょうか? 不一致クエリ ウィザードで 二つのテーブルのうち一致しないものを抽出可能です。 的外れでしたらごめんなさい。

kapakapa
質問者

お礼

ご回答ありがとうございます。 試そうと思ったのですが、不一致クエリ機能はインストールされていないようです・・・

関連するQ&A

  • Accessデータ並べ替えをハイブリッドにしたい

    [使用しているツール] Access 2007 PROFFESSONAL [やっていること(現状)] 1つのテーブルで複数のクエリ(複数のフィールドの並べ替えが必要な為)と複数(クエリと同数)のフォームを作成して、フォームの数だけコマンドボタンを作成してフォームを一覧表示で開いています。 [やりたいこと] 1つのテーブルで「1つのクエリ」による複数のフィールド(名)を切替えて、「1つのフォーム」で表示(一覧)させたいと思っています。 例えば、テーブル名:顧客名簿(取引先、県名、商品名、入庫日)、クエリ名:顧客名簿クエリ、フォーム名:顧客名簿一覧としたとき、(取引先、県名、商品名、入庫日)をコンボボックス等で切り替えることで、指定したフィールド(名)で並び替えられたデータを「フォーム名:顧客名簿一覧」に表示させられないでしょう。 [考えたこと] コンボボックス(名前:コンボ1)を作成し値集合ソースに「”取引先”;”県名”・・・・。」と入力、クエリ「顧客名簿クエリ」の抽出条件欄にビルダを起動させて「・・・コンボ1」を指定、フォーム「顧客名簿一覧」のレコードソースにクエリ「顧客名簿クエリ」を選択しました。しかし、フォーム「顧客名簿一覧」を開いても、データは抽出できずデータなしの表示で先へ進めていません。 以上ですが、宜しくお願いします。

  • アクセスのレポートの表示順

    アクセスで商品一覧テーブルより該当データを抽出して毎月請求書を作成していますが、表示される商品の順序はどのようにして決まるのでしょうか? テーブルの順でも基となるクエリの順でもないようなのですが、どこで制御されているのかご存じの方みえましたら教えてください。よろしくお願いします。

  • アクセスでデーター抽出方法を教えて

    アクセスで、クエリー&サブフォームを使わず、テーブルのデータをフォーム上で抽出したいです。教えて下さい。(例)テーブル1:商品名A 商品番号2・・・・・、フォーム上で商品番号2と入力したら商品名Aだけを表示したい。

  • Access パラメータクエリ

    Access97です 更新クエリを作っています。 「テーブルA」の「商品番号」フィールドを一括更新するようにしています。 ところが、更新したい内容(商品番号)が毎回変わるので、現在デザインビューの「レコードの更新」セルに「パラメータ」を設定しています。 が、その都度バラメータダイアログボックスに「商品番号」を入力する手間を効率化したいのです。 リストボックスかコンボボックスのような仕組みで「商品番号」を一覧から選択できるようにしたいのですが。 例えば、「テーブルA」の「商品番号」フィールドが、フォーム上の「商品番号の一覧」から選択した「123456」という番号に更新されるように、、という流れです。

  • 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 マスターテーブル

    Accessについて。 テーブル1がID(主キー)、注文日、商品番号、納期など入力欄の項目で、テーブル2が商品番号(主キー)、商品名で商品のマスターテーブルになっています。 商品番号を入力すれば商品名が表示されるようにクエリを作成し、そのクエリからフォームを作っています。 ここまでは良いのですが、新しい商品番号を入力したときに限りフォームから商品名も入力する事でマスターテーブルに登録されるようにしたいのですが、どうすれば良いでしょうか?

  • ACCESSのDMAXについて

    ACCESSでの、クエリーの書き方での質問です。 やりたいことは、テーブル中のデータから、最大値を求めて、+1して、レコードを追加したいのです。 商品番号、商品名、番号というテーブルから、商品番号と商品名が一致した中から、 最大の個数を求めるDMAX関数の書き方をどのようにしたらよろしいでしょうか? イメージ的には、 商品番号 商品名 番号 00001   鉛筆    2 00001   鉛筆    3 00001   鉛筆    1 00002   鉛筆    4 となっていた場合、商品番号に「00001」、商品名に「鉛筆」を与えたとき、答えの番号「3」を求めます。 イベントプロシージャではなく、クエリーの画面のフィールド式です。 追加クエリーで、その求めた「3」に+1して、番号を「4」にして新しいレコードを書き込む・・・ なんていうことは可能でしょうか。 VBAでやるのは、なんとなくわかるのですが、クエリーの画面での書き方がわかりません。 (それとも出来ないものなのでしょうか?)

  • ACCESS パラメータクエリの設定

    ACCESSでデータの抽出をしています。 抽出をしたいキーワードが15個ほどあり、そのつどクエリを作るとかなり時間がかかります。データは(20万件ほどです) そこで本を見たところパラメータクエリというものがあり、早速試してみたのですができません。 テーブル名は”本”です。 フィールド1…番号  フィールド2…雑誌名 フィールド3…著者  フィールド4…JANコード になっています。 私はフィールド2のところで抽出条件として "[雑誌名を入力してください]" と入れました。 後もう一点ですが、同一雑誌でも名前が少し違って登録されているものもあり、重複するデータを抜き出して削除したいのですが、削除分と削除された残りのデータが共に必要です。こういった場合はどう処理するのが妥当でしょうか?削除分は別に保存した上で、不一致クエリを使えば正確にできますか?もっとよい方法がありますか? どうぞよろしくお願いいたします。

  • Accessのクエリーで、*が入っているデータを抜出す方法って?

    助けてください! Accessのクエリーで、*が入っているデータを抜き出すのってどうやるんですか? クエリーの元になるテーブルは1つ、非常に単純なテーブルです。  ●フィールド1=「*」もしくはNullもしくは「英数字」  ●フィールド2=製品番号  ●フィールド3=メーカ番号 テーブルには上記3つのフィールドしかありません。 このテーブルの、「フィールド1に『*』が入っているデータを抜出したいのです。(抜出すのはフィールド1~3全て) 単純に選択クエリーで「抽出条件」に「“*“」と入れると、「フィールド1に英数字が入っている」行まで選択しちゃうんです。そりゃそうだよなーとは思うのですが、じゃあ、どうやったら英数字の入っている行は無視して、純粋に「*」だけの行を抜出せるのかわかりません。 誰かー!助けて―!

  • Access 項目ごとにフォールド全データ表示

    Access2010で質問です。 よろしくお願いいたします。 Tabにある顧客番号フィールド全てに対して、 商品番号ごとに、実績が無いデータも表示させたいです。 --------------------- ・Tab(顧客情報テーブル) 顧客番号 顧客名 ・Q1(売上実績クエリ) 顧客番号, 商品名(抽出条件 Forms![フォーム1]![商品番号] Or Forms![フォーム1]![商品番号2] ) 売上実績 ・Q2(完成クエリ) 顧客番号,商品名,売上実績 1 ,商品A ,0 2 ,商品A ,2 3 ,商品A ,10 1 ,商品B ,1 2 ,商品B ,0 3 ,商品B ,5 --------------------- 選択クエリでTabフィールドを全て表示させるように結合させると、 --------------------- ・Q2(完成クエリ) 顧客番号,商品名,売上実績 1 ,商品B ,1 2 ,商品A ,2 3 ,商品A ,10 3 ,商品B ,5 --------------------- という表示になりますが、 顧客番号×商品数(A、B)のデータ数を出したいです。 単純に商品名ごとにTabとQ2結合クエリを作成し、 後でまとめるという方法もありますが、 Q1「商品名」の抽出条件は今後増える予定があるため、 できるだけ少ない数のクエリで処理できるようにしたいと思っています。 もしお分かりになれば、教えていただけないでしょうか。 どうぞよろしくお願いいたします。

専門家に質問してみよう