商品のサンプル管理をACCESSでしようとしています。
商品NOを入力するだけで、該当するNOを一覧表示させる方法を教えてください。
テーブルの様式は整えてあります。このなかから、該当するものを検索、一覧表示、そしてレポートしたいのです。
フォームでまず「商品NOを入力してください」とひとつずつ尋ねてそれを逐次一覧表示できればと希望します。
よろしくお願いします。マニュアル片手に四苦八苦しています。VBA、マクロについては初心者ですがなんとか使っていきますので・・・・

A 回答 (2件)

基本的にはshigatsuさんがおっしゃっている様にクエリーを勉強しましょう。


ただ今回の程度の条件でしたら、フォームのフィルタープロパティを使う方法もあります。
入力された商品NOをフィルタープロパティに設定し、再描画させればいいです。
注意点としては、フィルタープロパティに条件を設定するだけではダメです。
1.フィルタープロパティに条件を設定
2.フィルターを有効にする
3.一覧表示するサブフォームを再描画する
という工程が必要です。
    • good
    • 0

VBAやマクロの前にクエリーを覚えましょう。


お望みの機能はクエリーの機能そのものです。
テーブルに対して、特定の条件でレコードを抽出してくれます。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

QAccess:yesの時は画像を表示、noの時は画像を非表示

windows-xp、Access2003を使っています。
アクセスVBAは得意なほうではありません。

テーブル名「DB」があります。
各々のフィールド名は「印鑑1」「印鑑2」「印鑑3」で、データ型は「Yes/No型」です。
そして、フォーム名「F_印鑑1」「F_印鑑2」「F_印鑑3」があり、それぞれの印鑑の画像があります。
もうひとつフォーム名「フォーマット」があります。
そこで・・・
「印鑑1」がyes、「印鑑2」がno、「印鑑3」がyes、のときに、「フォーマット」で、印鑑1と印鑑3が表示され、印鑑2は表示されない、ということをしたいのです。
いかがでしょう?
関数でもマクロでもよいのですが、簡単にできる方法、もしくは、わかりやすく教えていただければ助かります。
宜しくお願い致します。

Aベストアンサー

フォーマットフォームに印鑑の画像を3つ貼り付けてください
後はフォームのレコード移動時にしたのようなコードを書きます

Private Sub Form_Current()
Me.イメージ印鑑1.Visible = [印鑑1]
Me.イメージ印鑑2.Visible = [印鑑2]
Me.イメージ印鑑3.Visible = [印鑑3]
End Sub

QMS ACCESS 商品価格変更時の該当価格抽出方法の設定について

私はACCESS初心者です。
会社用で商品受注履歴を閲覧出来る仕組みをACCESSにて、運用しております。
商品価格変更時の設定方法について質問させて下さい。

以前こちらでの類似質問履歴を参照させて頂き、下記のテーブルを作成しました。

テーブル名:フィールド内容
(1)商品マスター:商品ID、商品名
(2)価格マスター:商品ID、商品名、価格(単価)、適用開始日、適用終了日
(3)受注マスター:商品ID、商品名、販売日、数量

クエリ名:フィールド内容
(4)受注閲覧:受注ID、商品名、価格(単価)、数量、販売日

使用方法:
(4)受注閲覧に、商品名、販売日(例:2007/7/1~2007/8/1)を入力し、
(3)受注マスターから、その期間に販売日設定された注文情報、およびその期間の商品価格を抽出する。

商品の価格変更時は、(2)価格マスターで商品ID・価格を新規入力しますが、
旧新価格とも商品名(主キー)が同じな為、(4)受注閲覧に販売日を入力した際、両方とも表示されてしまいます。
この時、「(2)価格マスター適用期間」の商品価格のみを引っ張り、(4)受注閲覧に表示出来る様にしたいのです。

色々と調べましたが、具体的な抽出条件が分からず、大変困っております。
是非アドバイスをお願い致します。

私はACCESS初心者です。
会社用で商品受注履歴を閲覧出来る仕組みをACCESSにて、運用しております。
商品価格変更時の設定方法について質問させて下さい。

以前こちらでの類似質問履歴を参照させて頂き、下記のテーブルを作成しました。

テーブル名:フィールド内容
(1)商品マスター:商品ID、商品名
(2)価格マスター:商品ID、商品名、価格(単価)、適用開始日、適用終了日
(3)受注マスター:商品ID、商品名、販売日、数量

クエリ名:フィールド内容
(4)受注閲覧:受注ID、商品名、価格(単価)...続きを読む

Aベストアンサー

このテーブル構造を提案したという回答には単価の参照方法も載っていたのでは・・・

受注閲覧クエリは受注と価格マスタを商品IDで結合したクエリにし
販売日の抽出条件欄に

Between 適用開始日 and 適用終了日

と書きます。これで販売日の単価を取ってこれます

なおテーブルにはまだ問題があります下のように変えてください

(1)商品マスター:商品ID、商品名
(2)価格履歴:商品ID、価格(単価)、適用開始日、適用終了日
(3)受注:商品ID、販売日、数量

マスタは半固定的な基本データを集めたテーブルにつけます
履歴や受注のようなものには使いません
特に受注は取引記録ですからマスタと反対に位置するトランザクションテーブルです

商品マスタがあるときそれを参照するテーブルには商品IDのみを
参照キーとしておきます
商品名を取り込んではいけません

QAccessで別テーブルの個数をユーザNOごとにカウントしてクエリに表示させる方法は?

顧客管理をAccess2003で行っています。
ユーザーが持っている機械入替えの情報を入力するフォームを追加することになりました。
そこに必要なフィールドのひとつに「トラブル回数」があります。
「トラブル回数」は、別テーブルの「T対応履歴」の対応分類に"C2"の値が入力されているものをユーザー別にカウントをして引っ張りたいと思います。

私が思いついた方法は、集計クエリを使う方法です。
(1)まず「T対応履歴」からユーザNOと対応分類のクエリを作って抽出条件を"C02"で引っ張り出しました。
(2)次にそのクエリをユーザNOごとにグループ化し対応分類をカウントした集計クエリを作りました。
(3)その集計クエリと「T機器入替」をクエリで結合させました。
そうしたら問題が発生してしまいました。
フォーム上で入力の更新ができなくなってしまったのです!
集計クエリは更新できないことがわかりました。
どうやら関数を使うようなのです。
http://support.microsoft.com/kb/328828/ja

このような場合、Accessを熟練されている方ならどのような方法を取られるのでしょうか?
よろしかったら教えていただけないでしょうか?

顧客管理をAccess2003で行っています。
ユーザーが持っている機械入替えの情報を入力するフォームを追加することになりました。
そこに必要なフィールドのひとつに「トラブル回数」があります。
「トラブル回数」は、別テーブルの「T対応履歴」の対応分類に"C2"の値が入力されているものをユーザー別にカウントをして引っ張りたいと思います。

私が思いついた方法は、集計クエリを使う方法です。
(1)まず「T対応履歴」からユーザNOと対応分類のクエリを作って抽出条件を"C02"で引っ張り出しました。
(2)次...続きを読む

Aベストアンサー

>全部「0」になってしまいました。
該当するものがないからでしょうね

>テキストボックスだからでしょうか?
関係ありません。だけどなぜテキストボックス?
最初の質問は集計クエリと結合したクエリだと追加更新不可になる
からなんとかできないかということでしたよ
入力フォームのソースのクエリに書くのですよ

>ユーザNOごとに合計数を表示させることは可能なのでしょうか?
合計だとDSum関数ですよ

Q商品カタログ「この商品を買った人は、こんな商品も買っています」について

はじめまして。
商品データベースのカタログ表示の際のSQLの質問です。
www.amazon.co.jp のサイトでは、ある商品を選択すると、「この商品を買った人は、こんな商品も買っています」と表示されます。
この内部的な処理方法を教えてください。

例えば、以下のような単純なテーブルがあるとします。
●顧客テーブル
・顧客番号
・顧客名

●商品テーブル
・商品ID
・商品名
・販売単価

●注文テーブル
・注文番号
・注文日時
・顧客番号
・小計

●注文詳細テーブル
・注文番号
・注文詳細番号
・商品ID
・数量


このような設計の場合、「ある商品を買った人は、こんな商品も買っています」を実現するために
・バッチで裏で処理するのでしょうか?それとも注文のたびに処理するのでしょうか?
・どのテーブルに、保存するのでしょうか?
・どのようなSQL文になりますか?(具体的に教えてください)
また、別の適切な設計方法があるのでしょうか?

困っています・・・
お手数ですがよろしくお願い致します。

はじめまして。
商品データベースのカタログ表示の際のSQLの質問です。
www.amazon.co.jp のサイトでは、ある商品を選択すると、「この商品を買った人は、こんな商品も買っています」と表示されます。
この内部的な処理方法を教えてください。

例えば、以下のような単純なテーブルがあるとします。
●顧客テーブル
・顧客番号
・顧客名

●商品テーブル
・商品ID
・商品名
・販売単価

●注文テーブル
・注文番号
・注文日時
・顧客番号
・小計

●注文詳細テーブル
・注文番号
・注文詳細番...続きを読む

Aベストアンサー

こんにちは。

 それは、いろいろ方法がありますよ。

 店舗の目的、つまり「客に買わせること」を考えると、本当に他の客が買ったものを表示する必要はなく、何らかのカテゴリで一致するものを表示させればいいですよね。「他の人はこんなのも一緒に買っているけど、あなたはどう?」と聞かれると、心が動くものです。
~~~
商品テーブルに「カテゴリ」を追加し、「カテゴリテーブル」を追加する。カテゴリテーブルは、必要なら自己参照して階層化する。
~~~

 次に、いくつかの商品をまとめ買いできる(たいていそうでしょうけど)なら、まとめ買いした商品を並べるようにすればいいわけです。まさしく「こんな商品も買っています」となりますね。これは「注文テーブル」と「注文詳細テーブル」から、現在買おうとしている商品コードを検索し、一緒に買ったものをもう一度検索すればいいわけです。
~~こんな感じ(未検証)
SELECT "商品テーブル"."商品名"
FROM "商品テーブル", "注文テーブル", "注文詳細テーブル" "現在の商品", "注文詳細テーブル" "一緒に買った商品"
WHERE "現在の商品"."商品ID" = [今表示している商品のID]
AND "現在の商品"."注文番号" = "注文テーブル"."注文番号"
AND "一緒に買った商品"."注文番号" = "注文テーブル"."注文番号"
AND "一緒に買った商品"."商品ID" = "商品テーブル"."商品ID"
~~Oracle9.2を想定

 1つ目と2つ目を組み合わせ、より「的確度」を高めることができます。または、2つ目でヒットがなければ1つ目で表示するという手もあります。


 また、もう一つ注意しなければならないのが特許です。簡単に思いつきそうなのでとれていないかもしれませんが、「他の人が一緒に買ったものを表示する」ことについて特許がとられていれば、同じようなことをすることはできません。または特許料を払う必要があります。


 あと、人から聞いてものを業務で使うときは、ちゃんと理解してからにしてくださいね。何らかの不具合があったとき、直すのは“あなた”なのですから。

こんにちは。

 それは、いろいろ方法がありますよ。

 店舗の目的、つまり「客に買わせること」を考えると、本当に他の客が買ったものを表示する必要はなく、何らかのカテゴリで一致するものを表示させればいいですよね。「他の人はこんなのも一緒に買っているけど、あなたはどう?」と聞かれると、心が動くものです。
~~~
商品テーブルに「カテゴリ」を追加し、「カテゴリテーブル」を追加する。カテゴリテーブルは、必要なら自己参照して階層化する。
~~~

 次に、いくつかの商品をまとめ買...続きを読む

Qアクセスのフォームのコンボボックスに表示させる対象をユーザーNo. で絞りたいのですが、どうすればよいでしょうか?

Access2003を使用しています。
フォームに配したコンボボックスのことで教えてください。
フォームには、ユーザーNoを入れるテキストボックスがあります。
その下にはユーザーが所有している商品番号を入れるコンボボックスがあります。
ユーザーナンバーを手打ちで入力すると、商品番号のコンボボックスにはそのユーザーが所有している番号だけが表示されるようにしたいのです(商品番号は1000個ぐらいあります)。

ユーザーが所有している商品番号は、商品リストと顧客名簿というテーブルを連結させたクエリで出来上がっています。

どのようにしたらよいのでしょうか?
ご教示をお願いいたします。

Aベストアンサー

>そのフォームのユーザNO全てが同一のものになってしまいました。
非連結だからでしょう
ソーステーブルにユーザーNoフィールドを設け、連結してください

また帳票フォームでコンボの絞込みを行うと
カレントレコード以外の表示がおかしくなります
これを正しく表示するようにするにはまた別のテクニックが要ります
調べてみて分からなければ別の質問を立てて下さい


人気Q&Aランキング

おすすめ情報