Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
1

Выгрузка данных в шаблон word и excel

24.05.2016, 11:38. Просмотров 2982. Ответов 32
Метки нет (Все метки)


Добрый день.

Нужна Ваша помощь по выгрузке данных в шаблон word и excel.
Частично это все работает, но мне хотелось бы подправить. Сейчас данные выгружаются в новый
документ каждая запись. А надо чтоб все выгружались в один документ.
Как можно сделать выгрузку фото в word?
По excel то же выгрузка работает, но как сделать так чтоб оставалось форматирование ячеек из шаблона
такие как ширина, перенос.
0
Вложения
Тип файла: zip badge.zip (52.2 Кб, 39 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2016, 11:38
Ответы с готовыми решениями:

Выгрузка результатов запросов в шаблон Word
Дорый день. Форум читал. Также пытался использовать код из книги Гетца "Разработка настольных...

Выгрузка данный из формы Access в шаблон MS Word
Добрый день! Пожалуйста (!!!), помогите доработать базу. Мне необходимо делать выгрузку данных...

Экспорт данных запроса или формы в шаблон Excel или Word
Все привет. Пришлось столкнуться с необходимость экспорта сформированных запросов и форм в заранее...

Выгрузка данных из Access в Excel
Здравствуйте форумчане! Подскажите в Access есть возможность выгрузить данные в Excel, как у меня в...

32
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
24.05.2016, 12:14 2
1. Выгрузка всех записей в один документ.
Шаблон основан на вордовских закладках. Закладки в ворде имеют уникальные имена. Несколько их копий по одному шаблону сделать нельзя. Т.е. всё сильно усложняется.
Можно формировать временный док для одной записи, затем копировать полученный текст и вставлять в новый объединяющий документ. Затем создавать очередной временный док и опять копировать в объединяющий.

2. Фото не выгружается же. Оно не в базе находится, а на диске отдельным файлом. Вставка изображения в ворде - отдельная тема. Вроде вордовской командой Selection.InlineShapes.AddPicture

3. У столбца экселя есть свойство Width. Можно перед вставкой значения поместить эту ширину во временную переменную, а после вставки восстановить ширину по значению этой переменной. Но в коде столько вложений With, что я ничего не понимаю, где какой объект и у какого из них брать эту ширину. Ну и опять же про эксель другая тема
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
24.05.2016, 13:15  [ТС] 3
1. Ладно не так критично. Хотя хотелось бы.

2.
Цитата Сообщение от amd48 Посмотреть сообщение
Selection.InlineShapes.AddPicture
можно ли примером показать.

3. В коде я закомментировал строку .Columns.AutoFit, но она не повлияла. Что можно подправить?
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
24.05.2016, 13:50 4
3. Нашёл! В процедуре but_xls_Click
Visual Basic
1
2
3
4
5
                    With MyQueryTable
                        .AdjustColumnWidth = False         'добавить эту строку
                        .FieldNames = False
                        .Refresh 'закачиваем данные
                    End With
1
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
24.05.2016, 14:03 5
2. Правим этот блок:
Visual Basic
1
2
3
4
5
6
7
8
9
    Set doc = app.Documents.Add(pd)
    For i = 0 To fc
        If rst(i).Name = "foto" Then
            doc.Bookmarks.Item(rst(i).Name).Select
            app.Selection.InlineShapes.AddPicture rst(i)!foto
        Else
            doc.Bookmarks.Item(rst(i).Name).Range.Text = Nz(rst(i), "")
        End If
    Next
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
24.05.2016, 14:09 6
Выгрузка данных в шаблон word и excel
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
25.05.2016, 09:28  [ТС] 7
а references не надо подключать, а то выдает type mismatch

Добавлено через 19 часов 12 минут
amd48 помоги, пожалуйста, с этой ошибкой.
Когда дело доходит до вставки foto вылетает ошибка "type mismatch" и выдает диалог на сохранение документа.
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
25.05.2016, 10:17 8
Visual Basic
1
2
3
4
5
6
7
8
    For i = 0 To fc
        If rst(i).Name = "foto" Then
            doc.Bookmarks.Item(rst(i).Name).Select
            app.Selection.InlineShapes.AddPicture rst!foto
        Else
            doc.Bookmarks.Item(rst(i).Name).Range.Text = Nz(rst(i), "")
        End If
    Next
1
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
25.05.2016, 17:58  [ТС] 9
Большое спасибо. Тему можно закрывать.

Добавлено через 7 часов 32 минуты
Поторопился по поводу закрытия темы. А как избавится от ошибок если в "foto" не указан путь или ошибочный.
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
25.05.2016, 20:30 10
Visual Basic
1
2
3
4
5
if nz(rst!foto)<>"" then
  if filelen(rst!foto)>0 then
    'вставляем фотку
  end if
end if
0
Эксперт MS Access
6641 / 4237 / 263
Регистрация: 12.08.2011
Сообщений: 12,287
26.05.2016, 07:51 11
нет, вот так:
Visual Basic
1
2
3
if len(rst!foto) = 0 then
'вставляем путь
end if
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
26.05.2016, 08:52 12
len(rst!foto) = 0
аналогичен
nz(rst!foto)<>""

Но ещё проблема с доступностью самих файлов фоток. Поэтому необходима и эта проверка:
filelen(rst!foto)>0
А вы тут в заблуждение вводите...
0
Эксперт MS Access
6641 / 4237 / 263
Регистрация: 12.08.2011
Сообщений: 12,287
26.05.2016, 09:29 13
Цитата Сообщение от amd48 Посмотреть сообщение
len(rst!foto) = 0
аналогичен
nz(rst!foto)<>""
нет
Visual Basic
1
2
3
4
5
?nz("gg")<>""
True
 
?len("gg")=0
False
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
26.05.2016, 10:25  [ТС] 14
Вот эта проверка if filelen(rst!foto)>0 then у меня не работает или я ее не туда вписываю.
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
26.05.2016, 10:54 15
if len(rst!foto) = 0 then
если в поле пусто, то пытаться загрузить фотографию по этому несуществующему пути?

Не, я понимаю, что nz в этом случае - это индусский код. Но хотя бы знак у меня правильный

Добавлено через 1 минуту
Цитата Сообщение от P2Q Посмотреть сообщение
не работает
Такая должна работать:
Visual Basic
1
2
3
4
5
if len(rst!foto)>0 then
  if filelen(rst!foto)>0 then
    'вставляем фотку
  end if
end if
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
26.05.2016, 11:17  [ТС] 16
Вот так правильно
Visual Basic
1
2
3
4
5
6
7
8
9
10
If Len(rst!foto) > 0 Then
  If FileLen(rst!foto) > 0 Then
    If rst(i).Name = "foto" Then
       doc.Bookmarks.Item(rst(i).Name).Select
       app.Selection.InlineShapes.AddPicture rst!foto
    Else
       doc.Bookmarks.Item(rst(i).Name).Range.Text = Nz(rst(i), "")
    End If
  End If
End If
Или End If не на своих местах
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
26.05.2016, 11:25 17
Это вопрос? В какой из фраз? Жутко раздражает ,когда собеседник игнорирует не только запятые (с этим бывают проблемы, что поделать?), но игнорируют даже вопросительные знаки. Это такая степень неуважения, что... Лучше промолчу
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
26.05.2016, 11:32  [ТС] 18
Да это вопрос.
просто не правильно выразился.
0
818 / 449 / 79
Регистрация: 18.05.2016
Сообщений: 1,216
Записей в блоге: 4
26.05.2016, 11:35 19
Насколько я помню, правильный. Я не уверен, что он будет правильно работать с пустым полем. У вас он не работает или что?
0
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 11
26.05.2016, 11:42  [ТС] 20
Вот как раз с пустым полем работает тот что был изначально if nz(rst!foto)<>"" then, а в этом коде если поле пустое просто создается документ без заполнения.
А проверка на то что есть картинка вообще не работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2016, 11:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Выгрузка данных формы в Excel
Здравствуйте! Помогите, пожалуйста, с таким вопросом. У меня есть форма, в которой создано поле со...

Выгрузка данных из таблицы MS Access в MS excel
Добрый день , форумчане. Столкнулся с такой проблемой - имеется база данных, в ней несколько...

Автоматизация в Access97 (выгрузка данных в Excel)
Мне надо из Access 97 VBA заполнить лист Excel. Выглядит это так: Dim ExcelApp As Object,...

Вывод данных в шаблон Word
Здравствуйте! Помогите разобраться. Документ Word формируется с помощью закладок. Есть главная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.