ダイアログボックスからフォルダ名を取得し、フォルダ内のCSVファイルをすべてアクセスのテーブルにインポート使用と思っています。
ところがCSVファイルの数の分だけ、1つめのCSVファイルの中身が繰り返しインポートされてしまっています。
どの部分に誤りがあるのでしょうか?
お知恵を拝借できますでしょうか・・・。
コードは以下になります。
Private Sub cmd06_Click()
Dim MyFile As String
Dim MyName As String
Dim MyName02 As String
Dim strFolderName As String
strFolderName = GetFolderName() 'フォルダ選択ダイアログを表示
If Len(strFolderName) > 0 Then '選択結果を評価
MyFile = strFolderName & "\*.csv" '【拡張子csvのファイルのみ取得】
MyName = Dir(MyFile, vbNormal)
MyName02 = "\" & MyName
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
If GetAttr(strFolderName & "\" & MyName) <> vbDirectory Then
DoCmd.TransferText acImportFixed, "T03_インポート定義", "T03_全CSVデータ", strFolderName & MyName02, False, "" '【取得したファイルをインポート】
End If
End If
MyName = Dir
Loop
Else
MsgBox "フォルダは選択されませんでした"
End If
MsgBox "データのインポートが終了しました"
End Sub
お礼
ありがとうございました。 おっしゃるとおり、MyName02の値がループしていないことが原因でした。