• 締切済み

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を何のために作るのかという目的にもよりますが、この集計クエリをそのまま使ったほうが有利です。 テーブルにしたい積極的な理由があれば、たしか『テーブルとして保存する』という項目が、メニューにあったはずです。