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 件のコメント:
コメントを投稿