シンクライアント環境なので、ディレクトリがどこになるか分からない(つまりローカルの c:\hoge とかにはならない)ものの、起動するたびに accdb ファイルと同じディレクトリにあるCSVファイルをリンクテーブルとして使いたい、という要件
Dim dbs As Database
Dim tdf As TableDef
Set dbs = CurrentDb
For Each tdf In dbs.TableDefs
With tdf
If .Attributes And dbAttachedTable Then
.Connect = "Text;FMT=Delimited;HDR=YES;IMEX=2;CharacterSet=932;ACCDB=YES;DATABASE=" & CurrentProject.Path
.RefreshLink
End If
End With
Next tdf
リンクテーブルのテーブル定義に入っているパスを更新するループを回して実現しました
HDR=YES にしておくと、1行目をフィールド名にしてくれます
問題は、フィールドのデータ型が指定できないことかな(ACCESS が自動的に型を決めてしまう
リンクテーブルってパフォーマンス的にも遅いので、どうしてもでなければ使わない方がいいような気がしてなりませんが…😬💦
コメント