Я знаю, как заставить Access импортировать электронную таблицу, указав ее местоположение и имя файла, но в той же папке у меня есть 3 похожих файла. Я хочу, чтобы пользователь мог импортировать тот, который он хочет, выбрав значение в поле со списком.
Например, если пользователь выбирает «A» в поле со списком, Access должен искать электронную таблицу с именем «Spreadsheet_A». Каков синтаксис для этого?
Что я пробовал:
Я попытался создать макрос и использовать действие ImportExportSpreadsheet. Я пытался указать имя файла как J:\blah\Spreadsheet_[Combo353]
, а также J:\blah\Spreadsheet_+[Combo353]
и даже J:\blah\Spreadsheet_+"[Combo353]
", но все они возвращают одну и ту же ошибку:
Ядру базы данных Microsoft Access не удалось найти объект «J:\blah\Spreadsheet_[Combo353].xlsx. Убедитесь, что объект существует.....
Я уверен, что путь правильный, мне просто нужно знать синтаксис того, как заставить его использовать значение в поле со списком. Если это невозможно, я также доволен решением VBA.
Решение состояло из двух частей: написать правильный синтаксис (см. ответ ниже), а также отключить переменную strpath
vba
, поэтому он должен быть= "J:\blah\Spreadsheet_" & [Forms]![myForm]![Combo353].Value
25.05.2016=
в начале! 25.05.2016Set strPath = Nothing
. Но теперь я получаю другую ошибку -Field 'F1' doesn't exist in the destination table 'table_A.'
26.05.2016ID
и полеitem
. Мне нужно очистить содержимое таблицы перед импортом, а затем импортировать только 1 столбец электронной таблицы в столбецitem
в таблице. есть идеи? 26.05.2016