Как я могу экспортировать таблицу в формате csv или txt с объединенным именем? - PullRequest
0 голосов
/ 01 июня 2019

Я использую запрос для создания таблицы, а затем пытаюсь экспортировать эту таблицу в виде файла CSV. Работа в Access 2007.

Я могу заставить его экспортировать как XLS, используя приведенный ниже код, но указанный файл имеет длинные пробелы (не точки, как показано) и имеет отступ, когда вы смотрите на него в папке.

Example = [………….Factorysvc……….190601...………….]

DoCmd.OutputTo acOutputTable, "CustItemExp", "Excel97-Excel2003Workbook(*.xls)……

Я попытался изменить XLS на CSV & TXT, но получил следующую ошибку:

«Формат, в котором вы пытаетесь вывести текущий объект, недоступен»

dbo_setup содержит 2 поля:

  • droppath = где поместить файл
  • LocationName = Factorysvc

Вот полный код:

DoCmd.OutputTo acOutputTable, "CustItemExp", "Excel97-Excel2003Workbook(*.xls)", DLookup("droppath", "dbo_SetupExp") & DLookup("LocationName", "dbo_SetupExp") & Format(Date, "yymmdd") & ".xls", False, "", 0, acExportQualityPrint

Хотелось бы, чтобы он экспортировал csv или текстовый файл с dbo_SetupExp.LocationName и датой создания, объединенной в имени файла.

Example: FactorySvc190601.csv

1 Ответ

0 голосов
/ 02 июня 2019

Без доступа к данным, хранящимся в вашей таблице dbo_SetupExp, я не могу объяснить поведение, свидетелем которого вы являетесь, однако, пытаясь обойти это, я бы предложил следующее:

DoCmd.OutputTo acOutputTable, "CustItemExp", acFormatXLS, _
    Trim(DFirst("droppath",     "dbo_SetupExp")) & _
    Trim(DFirst("LocationName", "dbo_SetupExp")) & _
    Format(Date, "yymmdd") & ".xls"

Кроме того, поскольку вы не предоставляете функцию DLookup с аргументом criteria (и, следовательно, функция будет возвращать случайную запись из таблицы), DFirst кажется более подходящей функцией для этой цели.

Для вывода данных в файл CSV или TXT вместо XLS, я бы предложил использовать метод TransferText объекта DoCmd,например:

DoCmd.TransferText acExportDelim, , "CustItemExp", _
    Trim(DFirst("droppath",     "dbo_SetupExp")) & _
    Trim(DFirst("LocationName", "dbo_SetupExp")) & _
    Format(Date, "yymmdd") & ".csv", True
...