質問: テーブルリンク エクセルの4行目を先頭行にしたい エクセルのデータをアクセスにテーブルリンクしたいのですが エクセルの先頭行が4行目から始まります。 なおかつa1に文字が入ります。 (画像参照) このエクセルデータをアクセスの 「テーブルのリンク」→ファイルを選ぶ →ワークシートリンクウィザードが表示され、次のページに進み、 「先頭行をフィールド名として使う」にチェックを入れたいのですが、先頭行は4行目です。 この場合、どうすればエクセルの4行目を アクセスのテーブルリンクの先頭行にできるのでしょうか? エクセルのa1の文字を消去すれば自動的に4行目がアクセスで先頭行になりますが エクセルの方は決まったフォーマットなのでa1の文字を消去することはできません。 ご回答よろしくお願いします。
回答: vba は大丈夫ですか エクセルファイルの拡張子 xls に対してのものになりますが、 新規 access ファイルを作成し、動作確認してみてください。 手順) ・新規 access ファイルを作成します ・標準モジュールに以下を記述します public sub sample() dim db as dao.database dim tdf as dao.tabledef const scon as string = "excel 8.0;hdr=yes;imex=2;database=" const sfile as string = "e:\hoge\ts4.xls" ' ★ ファイルのパス const ssheet as string = "sheet1" ' ★ シート名 const srange as string = "a4:c56" ' ★ 範囲 const stable as string = "t_tmp" ' ★ access テーブル名 set db = currentdb on error resume next db.tabledefs.delete stable on error goto 0 set tdf = db.createtabledef(stable) with tdf .connect = scon & sfile .sourcetablename = ssheet & "$" & srange end with db.tabledefs.append tdf db.tabledefs.refresh set tdf = nothing set db = nothing refreshdatabasewindow end sub ・上記★部分4つを変更し、実行してみます ・テーブル名で指定したものが出来上がっていると思うので、開いて内容を確認します 動いた/動かなかった・・・程度で良いので、結果報告をお願いします。 ※ 動かなかった場合、 ・access のバージョン ・エクセルファイルの拡張子 を補足いただければ、追加で回答できるかもしれません。(できないかも)