2014-09-29 3 views
-1

Мне нужно экспортировать запрос Access в электронную таблицу Excel и добавить пустые ячейки. Мои данные из запроса доступа выглядит следующим образом:Экспорт запроса доступа в Excel и добавление пустых ячеек

1018 
522 
347 
449 
271 
221 
7 
6 
238 
90 
185 
34 
117 
144 

Но я это нужно, чтобы выглядеть в Excel:

1018 
522 



347 
449 



271 
221 

И так далее. Я сделал doCmd.TransferSpreadsheet, но он не позволяет экспортировать диапазоны. Другие примеры, которые я видел, которые связаны с большим количеством VBA, не переходят в форматирование таким образом. Любые идеи, где я должен смотреть? Благодарю.

+0

Что вы уже делали в VBA, чтобы получить нужный результат? –

+0

Я пробовал адаптировать оба этих ответа: http://stackoverflow.com/questions/19547118/export-access-query-to-excel-with-formatting и http://stackoverflow.com/questions/20810306/how -do-i-export-a-single-record-from-access-to-specific-cells-in-excel, но, похоже, не работает с добавлением пустых ячеек. – extispex

ответ

0

У меня нет много времени, так что надеюсь, что это имеет смысл:

Сделать создание таблицу-запрос, который принимает исходный запрос, добавляющий Autonumber и поле под названием Place = AutoNumber * 10, и создает таблицу с именем tblNew.

1018 will have Place=1 * 10 = 10 
522 will have Place= 2 * 10 = 20 
347 will have Place=3 * 10 = 30 
etc. 

сделать запрос на выборку, qryBlank, что делает пустую строку для каждой записи с Place = 20,40,60 и т.д. в tblNew. Каждая пустая строка должна иметь Place = 20 +1, 40 + 1, 60 + 1 и т. Д.

Сделайте запрос объединения между tblNew и qryBlank.

Теперь у вас есть одна линия между парами. Вы можете просто добавить больше запросов, таких как qryBlank, чтобы сделать больше строк.

Сделать запрос таблицы, который выбирает * из запроса объединения, упорядочивает по полю Place и создает новую таблицу.

Ссылка на новую таблицу в Excel.

+0

Интересная идея. Я попробую это завтра и дам вам знать, как это происходит. – extispex

+0

Я не мог использовать ваш метод, потому что именно потому, что у меня только есть разрешения на чтение данных, поэтому таблица не будет работать. Но я принял вашу идею по-другому. Я создал отдельный запрос для создания пустых строк и объединил два запроса вместе несколько раз. Это ужасный способ сделать это, я уверен, но это дает мне именно то, что мне нужно. Поэтому спасибо за вдохновение, и я уверен, что ваш путь поможет другим, поэтому я отметил это как ответ. – extispex

+0

Сладкий. Обход - это то, чем является доступ. – MNor

Смежные вопросы