- ベストアンサー
Access 2010で複数のデータをまとめる方法
- Access 2010を使用して、複数のデータをまとめる方法について質問があります。現在、A、B、Cというデータがあり、それぞれには重複したデータが含まれています。特定の条件でデータをまとめる方法やOR条件でデータを出力する方法について教えていただきたいです。
- Access 2010で3つのデータを1つのデータにまとめる方法について相談です。A、B、Cのデータがあり、重複するデータを名前でまとめて1行にまとめたいです。また、AとB、BとC、AとCの組み合わせで重複しているデータも出力したいです。現在はAND検索でしかできず、OR条件でのデータ出力方法が分かりません。初心者なので、わかりやすく教えていただけると助かります。
- Access 2010のデータまとめについて質問です。A、B、Cというデータがあり、重複するデータを名前でまとめて1行にしたいです。また、AとB、BとC、AとCの組み合わせで重複したデータも出力したいです。現在はAND検索でデータ出力していますが、OR条件でのデータ出力方法がわかりません。初心者ですので、詳しく教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
なるべくなら、このようなデータのまとめ方は 避けたほうが得策なのですが、まあ実際に 取り扱うデータはまったく違うものかもしれませんが。 クエリではできないのでは、という前提で、初心者ということで、 やりやすくするために以下のようにします。 (1) データがあるテーブルの名前を、 T配布先 とします。 次に、テーブルを一つ用意をします。テーブルの名前は TT配布先一覧 フィールドを一つ設定し、フィールドの名前は、 配布先一覧 フィールドの型は「メモ型」とします。 (2) フォームを一つ用意をし、フォームにボタンを 一つ設定します。そのボタンのクリックイベントで 以下のようにします。 Private Sub コマンド0_Click() から End Sub までの 間のコードを貼り付ければ出来上がりです。 なお、DAOを使っているので、コード表の ツール → 参照設定 でDAOにチェックが入っているか確認して置いてください。 Microsoft DAO xx Object Library のような文字列です。 Private Sub コマンド0_Click() Dim db As DAO.Database Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Dim rs3 As DAO.Recordset Dim strSQL As String Dim strName As String Dim strTo As String Dim strAdd As String '名前の名寄せをします strSQL = "SELECT T配布先.名前 FROM T配布先 GROUP BY T配布先.名前;" Set db = CurrentDb Set rs1 = db.OpenRecordset(strSQL) Set rs2 = db.OpenRecordset("T配布先") Set rs3 = db.OpenRecordset("T配布先一覧", dbOpenDynaset) rs1.MoveFirst Do Until rs1.EOF strName = "" strTo = "" strAdd = "" '名前の検索をします rs2.MoveFirst Do Until rs2.EOF If rs1!名前 = rs2!名前 Then strName = rs1!名前 If strTo = "" Then strTo = rs2!配布先 Else strTo = strTo & " " & rs2!配布先 End If If strAdd = "" Then strAdd = rs2!住所 Else strAdd = strAdd & " " & rs2!住所 End If End If rs2.MoveNext Loop 'テーブルに書き込みます rs3.AddNew rs3!配布先一覧 = strName & " " & strTo & " " & strAdd rs3.Update rs1.MoveNext Loop rs1.Close: Set rs1 = Nothing rs2.Close: Set rs2 = Nothing rs3.Close: Set rs3 = Nothing db.Close: Set db = Nothing End Sub 以上ですが、わからないところがあれば補足してください。
お礼
補足を書いた後、アクセスを起動しなおしたら表示されました! アクセスがおかしくなっていたようです。 無事にできそうです。 データ量が多かったので大変助かりました。 本当にありがとうございました。
補足
ご連絡遅くなり申し訳ありません。 いろいろとありがとうございます。 やってみたのですが、ボタンを押してもTT配布先一覧に表示されませんでした。 ステップインでどこでおかしくなっているのか確認しようと思ったのですが、 デバックからステップインを選択してF8をクリックしても反応しません。 どのあたりを確認するといいでしょうか? もしご検討つきましたら教えていただけたら助かります。 たびたび申し訳ありませんが、よろしくお願いいたします。 私もこのような並びのデータは作成したくないのですが、 この並びで使用したいようです・・・。