
No.6ベストアンサー
- 回答日時:
No.5です。
では、あまりスマートなやり方ではなくて恐縮ですが・・・
仮に、現在のテーブルの名前を「データテーブル」として、話を進めます。
なお、わからないことがありましたらまたご質問下さい。答えられる範囲でお応えしますので。
準備:
A)「氏名一覧」テーブルの作成
1)新規クエリをデザインビューで開いたら、メニューで「表示(V)」→「SQLビュー(Q)」を選択
2)表示されている「SELECT;」等を削除し、以下のSQL文を貼付:
SELECT DISTINCT データテーブル.氏名 INTO 氏名一覧
FROM データテーブル;
3)このクエリを実行し、「氏名一覧」テーブルを作成
※クエリ自体は、テーブル作成直後に削除して構いません。
B)「各人データ」サブフォームの作成
1)レコードソースに「データテーブル」を指定して新規フォームを作成
2)フォームプロパティの「既定のビュー」に「帳票フォーム」を指定
(「通番」割り当て前にデータを確認しないなら不要)
3)「通番(Class)」フィールドと「データ」フィールドをフォームに追加
4)「各人データ」としてフォームを保存
C)「通番割当」メインフォームの作成
1)レコードソースに「氏名一覧」クエリを指定して新規フォームを作成
2)「氏名」フィールドをフォームに追加
3)コントロールウィザードを使用して、「各人データ」サブフォームを組込
(リンクフィールドには「氏名」を指定)
※サブフォームのサイズ等は必要に応じて設定して下さい※
(特に設定しなくても割り当てはできます)
4)コマンドボタンをメインフォームに追加
5)コマンドボタンの名前に「実行」を指定
6)「通番割当」としてフォームを(仮で)保存
マクロの設置:
1)「通番割当」フォームをデザインビューで開く
2)「実行」ボタンのプロパティシートを表示させる
3)「クリック時」を選択してビルダボタン(「...」)をクリック
4)「ビルダの選択」ダイアログ画面で、「コードビルダ」を選択
5)既定で入力されている「Private Sub 実行_Click()」と「End Sub」を削除し、以下の文を貼付:
Private Sub 実行_Click()
DoCmd.GoToRecord acForm, "通番割当", acFirst
各人処理
MsgBox ("終了しました")
DoCmd.GoToRecord acForm, "通番割当", acFirst
End Sub
Sub 各人処理()
Do While [NewRecord] = False
DoCmd.GoToControl "各人データ"
通番割当
DoCmd.GoToControl "実行"
DoCmd.GoToRecord acForm, "通番割当", acNext
Loop
End Sub
Sub 通番割当()
Do While [各人データ].[Form].[NewRecord] = False
各人データ!通番 = 各人データ.Form.CurrentRecord
DoCmd.GoToRecord , "", acNext
Loop
End Sub
これで「通番割当」フォームを再保存した後、「実行」ボタンをクリックすれば、全てのデータに「通番」を割り当てられるはずです。
※念のため、必ずデータのバックアップを行ってから実行して下さい(汗)※

No.4
- 回答日時:
参考になればと思い書き込みします。
(1)Classというフィールドを追加します。
データを見ればわかると思いますが、通常は1、2つ目のデータには2を
書き込みます。
(2)このデータに対し、クロス集計クエリを適用します。
Row---氏名
Column---Class
データ---データ1
Firstを指定します。
(英語版では Firstなんです)
---------
テーブル
---------
氏名データ1Class
あ11111
い22221
あ33332
う44441
----------------------
クロス集計クエリの結果
----------------------
氏名12
あ11113333
い2222
う4444
------------
問題は、Classの取り扱いです。
大変申し訳ないのですが、まだわかっていません。
でも、このClassをうまく処理できれば、クロス集計クエリで目的としたものは完成します。
どなたか、知恵を貸していただければと思います。
この回答への補足
ありがとうございます。個人ごとに集計したいデータの件数は、1件から20件ぐらいあります。総データでは2000件を超えています。ご指摘のとおりClassフィールドに書き込むデータの処理が問題ですね。
補足日時:2005/08/13 09:10No.3
- 回答日時:
今からそのテーブルに1フィールドを追加できますか?
もしそれができるなら、そこに氏名毎の通番を記録し、「クロス集計クエリ」を行えば、vhb1953さんがほしいという形にまとめられると思います。
1)クエリのデザインビューでクロス集計クエリを選択。
2)「集計」行で、「氏名」と「通番」に「グループ化」を、「データ」に「最小」を指定。
3)「行列の入れ替え」行で、「氏名」に「行見出し」を、「通番」に「列見出し」を、「データ」に「値」を指定。
・・・ただ、「通番」の割り当てが問題になりますが。
No.2
- 回答日時:
あ 1111
あ 3333
い 2222
う 4444
という形でもいいなら、クエリで「並べ替え」を使うといいのではと思います。
クエリを作成するときに、「並べ替え」という欄がありますので、そこで昇順か降順が選べます。
1さんの仰っているのは、レポートのデザイン画面で、「グループ化」を使うということでしょうか。ツールバーに下のような絵のかいたボタンがあります。
│(=
│(=
これを押して、並び替えたいフィールドを選んだりしてやれば、1さんのような表をレポートで表示させることが出来ると思います。値の集計なども出来るようで、便利そうです。
アクセスに関しては、魔法使いの開発工房という、なかなかいいHPがありますので、URLはっときますね。
ここの2000の「基本操作を考える」の「レポート」のところなど、まとまっているので、見てみるとよいと思いますよ。
参考URL:http://www.mahoutsukaino.com/index.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
アクセス 日付を項目追加して取込
-
アクセス2003 複数の列に...
-
Access フォームからの入力結...
-
ACCESS ユニオンクエリ...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
Excleピボットでデータのない部...
-
アクセスのエラー「クエリには...
-
SQL文で パラメータが少なすぎ...
-
access テーブル作成クエリでテ...
-
テーブルに表示されているもの...
-
ACCESS クエリの抽出条件に他の...
-
Accessで、1つの項目に複数の...
-
アクセス・テーブルの改行につ...
-
アクセス 項目毎にデータを横...
-
Accessの桁区切りについ...
-
エクセルにおける「フィールド...
-
VBA 別シートの同じ日付の欄に...
-
ACCESSの時間帯の抽出について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
Access フォームからの入力結...
-
アクセス2003 複数の列に...
-
ACCESS、フィールドが異なるデ...
-
アクセス2010にエクセルデータ...
-
アクセスの容量がなぜか増加します
-
Access(アクセス)でのインポー...
-
accessのデータを検索するツー...
-
アクセス 日付を項目追加して取込
-
ACCESS ユニオンクエリ...
-
Access テーブルをデータシー...
-
テキストでは0が表示。アクセ...
-
アクセス2000 65536行を超える...
-
今あるデータベース(Access200...
-
Acccessのテーブルデータ保存に...
-
Access2010でVBAでのインポート
-
access 2003 1万件以上がカット...
-
アクセスでの、固定長でのテキ...
-
Access2016でフォーム内にExcel...
-
EXCELのデーターを同じようにAC...
おすすめ情報