• 締切済み

ACCESS ACCESS VBA テーブル テーブル変換 番号 個数 変換

私はプログラム初心者です。 業務の中でACCESSを使っております。 ACCESSでテーブルの変換についてのプログラムが分からなかったので 質問させて頂きました。 以下のようなテーブル(テーブル1)があります。 管理番号|NO|名前 1|NO.1|スプーン 2|NO.2|スプーン 3|NO.3|スプーン 4|NO.1|フォーク 5|NO.2|フォーク 6|""|ナイフ 7|NO.1|お鍋 以上のテーブルを新たにテーブル(テーブル2)を作成し、次のようなにしたいです。 管理番号|台数|名前 1|3|スプーン 4|2|フォーク 6|1|ナイフ 7|1|お鍋 テーブル変換の機能 ・名前が同じ物の個数を表示する ・名前が同じ物の管理番号は若い番号にする よろしくお願いいたします。

みんなの回答

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.3

書き忘れです。 出来上がったクエリを保存し、そのクエリを実行する必要があります。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

Access2003でのクエリ作成手順になります。(他バージョンでもほぼ同じでしょう) ・「デザインビューでクエリを作成する」から対象のテーブルを表示させます。 ・クエリデザインツールバーにある「Σ」をクリックします。  (デザインの欄に「集計」が追加されます)  もしくは、クエリの種類を1度「クロス集計」にし、「選択」に戻しても同じ状態になります。 ・テーブル内の「管理番号」をダブルクリックします。  フィールドに「管理番号」、テーブルに対象テーブル名、集計に「グループ化」が表示されます。  集計のところを「最小」に変更します。  並べ替えのところを「昇順」に変更します。 ・テーブル内の「NO」をダブルクリックします。  フィールドに「NO」、テーブルに対象テーブル名、集計に「グループ化」が表示されます。  集計のところを「カウント」に変更します。 ・テーブル内の「名前」をダブルクリックします。  フィールドに「名前」、テーブルに対象テーブル名、集計に「グループ化」が表示されます。 ・ここで、表示を「データシートビュー」に切り替えます。(注1)  管理番号の最小、NOのカウント、名前 の表が表示されます。  名前「ナイフ」部分のカウントが得たいものではなく「0」になっています。  これは、NULLのデータはカウント対象外となっているためです。 ・表示を「SQLビュー」に切り替えます。  1行目中ほどに 「 Count(テーブル名.[NO]) AS NOのカウント, 」があります。  NOに限定した個数を求めるのでなく、単にレコード数を得たいので  これを 「 Count(*) AS 台数, 」に書き換えます。  XXXXX AS YYYY は、XXXXXをYYYY名で、という意味合いになるので、  同様に「管理番号の最小」->「管理番号」に修正します。 ・表示を「データシートビュー」に切り替えます。 これで求めたいクエリは作成することができました。 このクエリをそのまま使うのではなく、結果をテーブルに書き出すには続いて以下を行います。 ・表示を「クエリ デザイン」に切り替えます。 ・メニューの「クエリ」->「テーブル作成」をクリックします。  テーブル名を入力し、「OK」  クエリデザイン上変化はありませんが、以上で終了です。 確認) 表示を「SQLビュー」に切り替えます。 1行目最後あたりに、「 INTO テーブル名 」が追加されています。 これが結果をテーブルに書き出す命令部分になります。 (注1) 「'*'で選択したフィールドはグループ化できません。」というメッセージが出たら、クエリ作成をいったんあきらめます。 (クエリデザインの画面を閉じます) メニューの「ツール」->「オプション」の「テーブル/クエリ」タブの「クエリ デザイン」部分の「全てのフィールドを表示する」チェックを外し「OK」します。 クエリ作成を初めからやり直します。 (注2) (注1)の変更は、以降も変更されたままとなるので、今回だけ回避するには、 表示を「SQLビュー」にし、1行目最後の「 テーブル名.名前, * 」の「 , * 」を削除します。 書く練習がてら、初心者向けに書いてみましたがいかがでしたでしょうか。

defmerube
質問者

お礼

回答が遅くなり申し訳ございません。 質問の仕方が悪かったようで、できればACCESSの操作方法ではなく、 コマンドボタンをクリックした際に並び替えが出来るVBAコードを 必要としております。

noname#110201
noname#110201
回答No.1

集計クエリを使います。 集計クエリについて何もご存じなければ、↓にざっと書いてあります。 http://www47.tok2.com/home/harako/a_qwhere.html そのテーブル2を何のために作るのかという目的にもよりますが、この集計クエリをそのまま使ったほうが有利です。 テーブルにしたい積極的な理由があれば、たしか『テーブルとして保存する』という項目が、メニューにあったはずです。

関連するQ&A

  • ACCESS VBA 並び替え 列 カウント

    ACCESSを業務で使用し始めたものです。 ・特定のクエリから一定の操作をしたテーブル ・又は特定の複数のテーブルの抽出項目 を元にコマンドボタンを押した時、 一定操作を行ったテーブルを出力できるVBAソースを作成したいと思ってます。 (クエリ) (複数のテーブル) ⇒ (操作) ⇒ (特定の名前を持ったテーブル) (例)元となるクエリ(複数のテーブルの集合体)が以下にあります。 管理番号|NO|名前 1|NO.1|スプーン 2|NO.2|スプーン 3|NO.3|スプーン 4|NO.1|フォーク 5|NO.2|フォーク 6|""|ナイフ 7|NO.1|お鍋 以下のように一つのテーブルとして出力したい 名前|空白|管理番号|台数 スプーン|空白|1|3 フォーク|空白|4|2 ナイフ|空白|6|1 お鍋|空白|7|1 テーブル変換の機能 ・名前が同じ物の個数を表示する ・名前が同じ物の管理番号は若い番号にする ・列のならびを 管理番号|NO|名前 → 名前|空白|管理番号|台数 ・元のテーブルやクエリは消さない ・NOがふられていない項目についても台数をカウントする(ナイフのように) 至急に必要なので、コードを頂ければとても幸いですが やりかたの方向性でも結構です。 よろしくお願いいたします。

  • VBA EXCEL 集計 操作 カウント

    EXCELのVBAにて「変換」ボタンを押したら 名前と値段が同じ物の個数が表示され 管理番号も並ぶようなプログラムを作りたいのですが どのように構築すればよいでしょうか? 詳しくは図をご覧ください。

  • VBA EXCEL 集計 操作 カウント

    図が不鮮明だったため、再投稿です。 EXCELのVBAにて「変換」ボタンを押したら 名前と値段が同じ物の個数が表示され 管理番号も並ぶようなプログラムを作りたいのですが どのように構築すればよいでしょうか? 詳しくは図をご覧ください。

    • ベストアンサー
    • CSS
  • カソレット スプーン ナイフ 

    今日フレンチのレストランでドリアみたいな食べ物でカソレットという名前の物を二つ注文しました。友達とどちらもシェアして食べたのですが、お店の人がカソレットをもって来てくれた時に、大きめのスプーンとギザギザしたナイフを2セット持って来てくれたんです。 そのスプーンとナイフは食べるときに使ってくださいという意味なのですか?それともそれは、取り分けるためのもので、取り分けたら自分のテーブルのフォークとナイフを使えという意味なのでしょうか。

  • Access2010でテーブルの内容で検索

    現在Accessの勉強をしています。 Aテーブル、Bテーブルとあり、 AテーブルはID(オートナンバー)、番号(数字)、名前(文字列)が入っています。 この番号は重複ありで、複数レコードあるとします。 Bテーブルも同じようなID、番号、名前が入っていて、ここの番号は重複していません。 いわばマスタテーブルのようなものです。 (IDと番号を別ける必要があるのかなど、細かいことはこの際気にしないでください。) Aテーブルの全てのレコードの番号を検索し、Bテーブルにない情報だけを表示したいと思います。 この場合どのようにすればよいでしょうか? まだAccessを勉強したてで、よくわかっていないのですが、シンプルな方法はどのようにすれば良いのか思案中です。 よろしくお願いします。

  • アクセスで、通し番号を付けるには。

    アクセスで、データを蓄積する度にレコード毎に通し番号付けれればと思っています。 商品テーブル 商品id:オートナンバー型 商品:テキスト型 数量:数値型 検査No.:数値型 検査No.のフィールドに通し番号を使えればと思っています。 10個のレコードがあれば、最初が1で最後が10と言う風に通し番号が自動で付けばと思います。 宜しくお願いします。

  • VBA ACCESS 更新 追加 find ADO テーブル

    いつもお世話になっております。 ACCESSのフォームに作成したコマンドボタンを実行すると 元テーブルから対象テーブルへIDを元に値を更新するようなプログラムを 作りたいと思います。 また、注意点として元テーブルでは「ID」、対象テーブルでは「管理番号」の異なる名称によりデータの管理を行っております。 アドバイスお願いします。 VBAの中でADO関数やFind関数を使ったら出来ると考えております。

  • ACCESS2000 テーブルの更新方法

    テーブルAがデータベース(商品番号、単価)が入力されています。 テーブルBが入庫されたデータ(オーダー番号、商品番号、個数)が入力されてます。 クエリで 入庫されオーダー番号を入力すると、テーブルBから入荷した商品番号、個数、テーブルAから単価が表示されるようになっています。 商品番号でリンクさせている状態です。 そこで単価に変更があった場合、この時点でテーブルAの単価を上書き訂正したいのですが、入力できませんでした。 何かよい方法はありますか?アクセスはじめたばかりでよくわかりませんが、よろしくお願いします。

  • スプーンをナイフ代わりに使うのって?

    お世話になります。 先日友人とファミレスでロールキャベツを食べました。 テーブルにナイフ、フォーク、スプーン、箸の入ったカゴが用意されたので、 私は迷わずナイフとフォークを手に取りました。 が、友人はフォークとスプーンを持ち、スプーンをナイフ代わりに使って食べ始めました。 私は食事のマナーについて調べるのが好きで、日頃からネットで調べたりしているのですが、 友人のあまりの堂々っぷりに、自分が無知なだけかもと自信がなく その日は何も言えずに終わりました。 私は小さいころからロールキャベツはナイフとフォークだったのですが、 ロールキャベツって何を使って食べますか? スプーンをフォーク代わりに食べることなんてあるんでしょうか? 教えて下さい。 よろしくお願いします。

  • accessでテーブル作成時に出る型変換エラー 

    教えてください。 アクセスでテーブルを作成するとき、 (select 名前 from 名前テーブル into new名前 みたいな構文です)型変換エラーが出てしまっています。 (実際には名前とかではないです・・) おそらく数字のフィールドとかが混在しているからだとは思うのですが、 intoでテーブル作成するとき、型はどのように指定したらいいのでしょうか? 教えてください。