Позвольте мне извиниться заранее, если этот вопрос задан где-то, и я его не заметил. Я потратил несколько дней на это и не могу заставить его работать на 100%.Импорт ежедневного файла с именем переменной в базу данных доступа
Я пытаюсь импортировать файл Excel, который отправляется по электронной почте каждое утро в базу данных доступа. В файле есть дата, которая меняется каждый день. Именование происходит по той же схеме каждый день «FTTQ m-dd-yyyy». День, указанный в имени файла, относится к предыдущему рабочему дню, например. получать по электронной почте 8/25 для FTTQ 8/24. Код ниже - это то, что у меня есть до сих пор, и оно будет проходить через папку, однако, когда он достигнет правильного дня, он не сможет его найти. Я пробовал пару вариантов, но Access продолжает сбой, когда я пытаюсь запустить его. В идеале мне нужен доступ, чтобы найти последнюю дату в файле и импортировать его, например, приходить в понедельник и получать файл за пятницу/субботу или в течение недели, получая его за день до этого. Любая помощь будет оценена.
Private Sub Button1_Click()
Dim strToday As String
Dim strFilePath as String
Dim strFile as String
strToday = Format(Date, "m-dd-yyyy")
strFilePath = "C:\Users\cole.stratton\Documents\Procurement\FTTQ 'Note:FTTQ is the beginning of the file name
strFile = Dir(strFilePath, "*.xlsx")
Do While strFile <> ""
If Right(strFile,14) = strToday & ".xlsx" Then
DoCmd.TransferSpreadsheet, acImport, "tblTest",strFile, True
End If
strFile = Dir 'Note: I do not understand the point of this line or what it does or supposed to do.
Loop
End Sub
Я пробовал это, и когда он работал, я получил Runtime Error 3170: Не удалось найти устанавливаемый ISAM –
Что произойдет, если вы удалите запятую из 'DoCmd.TransferSpreadsheet' и' acImport'? – HansUp
Я удалил его и теперь получил ошибку несоответствия типа в этой строке: «DoCmd.TransferSpreadsheet acImport», «tblTest», strFilePath, True' и «DoCmd.TransferSpreadsheet acImport», «tblTest», strFile, True'. –