| 
    
     |  | 横から失礼します。 
 >件数が大量の場合の処理の仕方教えてください
 
 ちょっと聞きたいのですが、「件数」とは、データ数のことでしょうか?それともフィールド数?
 データ数ならVBAでやると結構な時間がかかりますね。トランザクション必須です。
 ちなみに、
 
 1.全110フィールドが同一のデータ
 2.全110フィールドの内1つでも違うフィールドがT_BBBにあるデータ
 3.全110フィールドの内1つでも違うフィールドがT_CCCにあるデータ
 
 の3つのテーブルを作りたいということですよね。
 
 私が考えた方法としては
 
 Dim rs_BBB As DAO.Recordset
 Dim rs_CCC As DAO.Recordset
 Dim same_flag As Boolean
 〜レコードセットにデータをセット〜
 
 'T_BBBを元に比較、同一データとT_BBBにだけあるデータを拾う
 Do Until rs_BBB.EOF
 Do Until rs_CCC.EOF
 If 全フィールド比較して同一 Then
 同じデータとして新テーブルに挿入
 same_flag = True
 Exit Do
 End If
 Loop
 If same_flag = False Then 'T_CCCに同じデータが無かった場合
 T_BBBにだけあるデータとして新テーブルに挿入
 End If
 same_flag = False 'フラグのリセット
 Loop
 
 'T_CCCを元に比較、T_CCCにだけあるデータを拾う
 Do Until rs_CCC.EOF
 Do Until rs_BBB.EOF
 If 全フィールド比較して同一 Then
 same_flag = True
 Exit Do
 End If
 Loop
 If same_flag = False Then 'T_BBBに同じデータが無かった場合
 T_CCCにだけあるデータとして新テーブルに挿入
 End If
 same_flag = False 'フラグのリセット
 Loop
 
 という感じで、物凄いループになりました。
 「応答なし」になりそうで怖い…
 
 SQLでできないか考えたんですが、Exists使ってできないでしょうか?
 
 1.SELECT * INTO 新テーブル1 FROM T_BBB WHERE EXISTS(SELECT * FROM T_CCC)
 2.SELECT * INTO 新テーブル2 FROM T_BBB WHERE NOT EXISTS(SELECT * FROM T_CCC)
 3.SELECT * INTO 新テーブル3 FROM T_CCC WHERE NOT EXISTS(SELECT * FROM T_BBB)
 
 これで新テーブルに保存される…と思います。
 (もしかしたらとんでもない間違いをしてるかもしれません)
 
 他の方へ:
 間違っていたら指摘をお願いします。orz
 
 |  |