Microsoft Access 掲示板

別テーブルのデータを1つのフォームに取り込む / 13

15 コメント
views
4 フォロー
13
hiroton 2020/10/27 (火) 18:15:35 7c8fb@f966d

不要列がある場合

1.エラーにして無視する

strSQL = "SELECT タイトル, 感想, 1, 国 FROM 作品テーブル"

実処理部分が

        On Error Resume Next '//エラーを無視する
        For j = 0 To colCount
            rs(j) = Datas(i)
            i = i + 1
        Next
        On Error GoTo 0 '//エラー無視を解除する

となってるのでダミーの列を用意すれば取込はできます(処理的にはエラーが出てるのであんまりよくはない)

2.作品テーブルにダミー列を用意する

フィールド名「ダミー」を作っておきます

strSQL = "SELECT タイトル, 感想, ダミー, 国 FROM 作品テーブル"

余計な列が必要なので残念な感じですが、大きな問題はでないんじゃないかなと

3.取り込まない列制御処理を入れる

上記で問題がある場合ケースバイケースで何かしらの制御を入れることもあるかもしれません(複雑な処理を組むくらいなら次の方法のほうが楽なのであんまりやらない)

4.最初の構想通り一時テーブルを用意する

スタートが違う(個別にデータを解析して取り込む必要がある)ので紹介しなかったですが、個別にテーブルを用意してそれぞれから追加クエリを発行すると、フィールド名の対応を取りつつ不要列は取り込まないようにできます。データ形式が決まりきったファイルでインポート定義を使って取り込めるようなデータならこれをやります

通報 ...
  • 15
    セロハン 2020/10/30 (金) 23:33:11 f1ed8@2b9f5 >> 13

    詳しくありがとうございました。プリントして保存し、今後じっくり理解していきたいと思います。仰るとおり、結局4の方法で対応いたしました。