2022年6月21日火曜日

accessでexcelを取り込む際に1行目(タイトル行)が破壊されてもインポートできるようにするまでの物語

 accessのテーブルにexcelを取り込むのに、1行目(タイトル行)が破壊されてもインポートできるようにするため、2行目からインポートする。
 すると、取り込み先のテーブルが新規テーブルであれば、自動的にテーブルのフィールド名がF1,F2,F3・・・・となる。
 取り込み先のテーブルが新規テーブルではなく、既存テーブルの場合、テーブルのフィールド名がF1,F2,F3・・・・となっていなけレバならない。
 そうでない場合には、F1フィールドがありませんというエラーメッセージでインポートが失敗する。
 そこで、既存テーブルがある場合には、いったん、削除しておくという奥の手を使うこともできる。

  Docmd.DeleteObject acTable,"table1"
 そして、フィールド名がF1,F2,F3・・・・のままでは、具合が悪い(使い勝手が悪い)ので、
 以下のvbaコードでフィールド名を自分の好きな名前に一括変更してみた。これで、うまく行くことを祈る。
 Sub FieldNameChange()
  Dim dbs As Database
  Set dbs = CurrentDb
  With dbs.TableDefs("table1")
    .Fields("F1").Name = "番号"
    .Fields("F2").Name = "名前"
    .Fields("F3").Name = "年齢"
    (繰返し)
    .Fields.Refresh
  End With
End Sub

0 件のコメント:

コメントを投稿