• 締切済み

AccessでVBを使用して価格変更

12,000件くらい商品があるテーブルの価格を変更したいのですが、VBAをどのように使用したらよいかわかりません。初めてVBAを使います。 内容としては、商品番号、価格、色番号、型番号のテーブルと、 新価格、型番号のテーブルです。型番号が一致しているもので、価格を変えたいです。変更のないものもあります。 よろしくおねがいします。

みんなの回答

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 VBAをどうしても使用しなくてはいけないのでしょうか?  クエリーだけで出来ますが....。  変更クエリーを使用すれば価格の変更は出来ます。  新価格と型番号だけを入れたテーブルを作成して、変更したテーブルとリンクする様にして、変更クエリーで変更を行えばVBAを組む必要なく価格の変更を行う事が出来ます。  今後の為に、フォーム等を使用して変更するVBAを作りたいと言うことなら別ですが...ね。

ikethinn
質問者

補足

今後の為に、フォーム等を使用して変更するVBAを作りたいと言うことなんですよ。 そのとうりなのでちょっとびっくりしましたが、お願いします。

関連するQ&A

  • ACCESSのDMAXについて

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

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

    私はACCESS初心者です。 会社用で商品受注履歴を閲覧出来る仕組みをACCESSにて、運用しております。 商品価格変更時の設定方法について質問させて下さい。 以前こちらでの類似質問履歴を参照させて頂き、下記のテーブルを作成しました。 テーブル名:フィールド内容 (1)商品マスター:商品ID、商品名 (2)価格マスター:商品ID、商品名、価格(単価)、適用開始日、適用終了日 (3)受注マスター:商品ID、商品名、販売日、数量 クエリ名:フィールド内容 (4)受注閲覧:受注ID、商品名、価格(単価)、数量、販売日 使用方法: (4)受注閲覧に、商品名、販売日(例:2007/7/1~2007/8/1)を入力し、 (3)受注マスターから、その期間に販売日設定された注文情報、およびその期間の商品価格を抽出する。 商品の価格変更時は、(2)価格マスターで商品ID・価格を新規入力しますが、 旧新価格とも商品名(主キー)が同じな為、(4)受注閲覧に販売日を入力した際、両方とも表示されてしまいます。 この時、「(2)価格マスター適用期間」の商品価格のみを引っ張り、(4)受注閲覧に表示出来る様にしたいのです。 色々と調べましたが、具体的な抽出条件が分からず、大変困っております。 是非アドバイスをお願い致します。

  • アクセスについての質問です。

    不一致クエリについての質問です。 テーブル1     テーブル2 商品   色    商品   色 えんぴつ 赤    えんぴつ 青 えんぴつ 青    えんぴつ 青 けしごむ 青    けしごむ 赤 えんぴつの色が赤のものを検出する方法はありますか? 二つのフィールドを比較出来るのでしょうか? プログラムを作成しないとダメでしょうか? プログラムを作成するならVBAのコードを教えてほしいです。 よろしくお願い致します。

  • Accessの不一致クエリについて

    Accessの不一致クエリについて質問があります。 ある注文リストと商品マスタを比べ、 まずテーブル作成クエリで注文リストとマスタを比べ、常備品(商品マスタにある)は出荷日に本日日付をセットしテーブル作成、次に不一致クエリでマスタにない特注品は空欄のまま先程作成したテーブルに追加をするマクロを作成しました。 すると、注文が100件、特注が2件だった場合、最初は98件が作成されますが、不一致クエリをやっても0件になります。 ちなみに商品マスタには、商品コードと3種類の規格があり、注文リストの商品コード+規格を連結、商品マスタのそれを連結させて、一致か不一致かで見ています。 不一致がどうしても0件になるのですが、解決方法はないでしょうか。 お願いします。

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

  • アクセスについて

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

  • Access2000 テーブルのデザインを変更したい

    以下のような請求書テーブルがあります。 顧客番号 項目名 料金 0001 商品A 200 0001 商品B 100 0002 商品A 200 このテーブルを以下のように変更したいのです。 顧客番号 項目名1 料金1 項目名2 料金2 項目名3 ... 0001 商品A 200 商品B 100 0002 商品A 200 一括変換する良い方法がありましたら、是非アドバイスお願いします。

  • アクセス DLookup

    myStr = DLookup("[感想]", "TEST", [感想] = "'A'") このコードがvbaでエラーになります。 実行時エラー13 型が一致しません になります。 TESTと言うテーブルは存在するし感想と言うフィールドは存在します。 エラーの原因を教えて下さい。

  • ACCESS VBAで、CSVにデータを吐き出したいのです

    ACCESS VBAで、CSVにデータを吐き出したいのですが、WORKのテーブルを作るのが面倒なので、変数にセットしたカンマ区切りのデータを直接CSVに吐き出したいと思っております。 TXT = .Height & "," & .Weight を Open "A:DATA.CSV" For Output As #Name へ一件ずつループで回して吐き出したいのですが、「型が一致しません」というエラーがでます。ご存知の方がいらっしゃいましたら、どいうロジックを書けば良いか教えて下さい。

  • Access 抽出漏れ行をみつけるクエリ

    図のようなテーブル「TBL_A」がCSVファイルの形で提供されます。この「TBL_A」は全レコードのテーブルあり「正」データばかりのマスターと考えてください。 このCSVデータをACCESSによみこみテーブル「TBL_A」としてあります。 「TBL_A」をいろいろな人が加工したり、抽出作業をしているのですが、「TBL_B」のような抽出をかけて渡してきた人がいたので、「データ(レコード)が足りないので、不一致クエリで足りないのを見つけておいてください」と頼んだところ、何度やってもみつけられないというので、自分でも試してみました。 図でいえば、ピンク色のレコード(行)をみつければいいのですが、Accessで不一致クエリをかけてみたところ、図の下部のようなデータしか抽出できませんでした。 やったことは2つ 1) TBL_Aを左にし、右にTBL_Bを右に配置し、不一致クエリウィザードでの矢印(→)で商品コードを紐付けた 2) 最初にTBL_AとTBL\Bをクエリで「商品コード」「価格」ぞれぞれ結びつけ(つまり2つの線)、「商品コード」「価格」を「クエリ1」として抽出。その「クエリ1」を上のTBL_Bの位置にもってきて、不一致クエリ。 どちらとも、結果は図の下のようになってしまいます。 図の上部のピンクの部分を確実に抜き出すには、どのようなクエリ(またはSELECT文)が必要でしょうか。 メモ: ・商品コードは「テキスト型」です。 ・商品コードが同じでも販売場所やいろいろな経緯で価格が違っていたり、返品の場合は返金するためマイナス金額がつくことがあり、商品コードと価格はかならずしも合致しません。 ・Accessは2010か2013を使っています。 ※今回はVBAの質問ではありません。

専門家に質問してみよう