Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2016, 11:32   #1
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию Вставка рисунка из определённой записи таблицы в отчёт.

Добрый день.
Помогите пожалуйста решить следующую задачу.
Есть материалы, они объединяются в группы.
Группа и данные по ней (за исключением состава) выводятся в отчёт. К каждому материалу прикреплено его изображение. Необходимо, чтобы в начале отчёта на фоне милиметровой разметки выводились изображения объектов из группы. Объектов в группе может быть не больше 4. Ставим 4 рамки для вложения. Как теперь им прописать запрос так, чтобы в зависимости от состава группы менялись изображения в рамках? Пример прикрепил.
Вложения
Тип файла: zip 2.zip (366.0 Кб, 13 просмотров)
superpsih вне форума Ответить с цитированием
Старый 26.01.2016, 13:54   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Мне кажется здесь вложениями не решить. Может как-то через картинки, только найти как програмно в картинку подгружать файла из таблицы pictures
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.01.2016, 14:24   #3
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

Можно решить без вложений.
Сделать объект Image (4 шт).
В VBA назначить ему свойство Image.Picture="путь к файлу в сети"
Путь к файлу в сети будет храниться в виде текста вместо вложений.
Вопрос в том, как это организовать:
Запрос выдаёт данные по группе. В группе, допустим 5 объектов. Нужно получить ссылку на изображение от каждого объекта. Переделал пример.
Вложения
Тип файла: zip 2.zip (321.7 Кб, 13 просмотров)
superpsih вне форума Ответить с цитированием
Старый 26.01.2016, 14:54   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В запрос query1 добавить поле pictures.pict
и попробовать
Код:
Private Sub Report_Open(Cancel As Integer)
    Dim rst
    Set rst = CurrentDb.OpenRecordset("Query1")
    rst.MoveFirst
    Image30.Picture = rst.Fields(2)
    rst.MoveNext
    Image31.Picture = rst.Fields(2)
    rst.MoveNext
    Image32.Picture = rst.Fields(2)
    rst.MoveNext
    Image33.Picture = rst.Fields(2)
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.01.2016, 15:29   #5
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

Пока потихоньку вроде начинает работать, но, простите за ламерский вопрос, почему Fields (2)? Это же третье поле.
superpsih вне форума Ответить с цитированием
Старый 26.01.2016, 15:33   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

vba считает от 0
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.01.2016, 15:42   #7
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

Всё, заработало! Спасибо!
Только вот почему-то в режиме печати не работает прозрачность:
В виде отчёта это смотрится как и планировалось: сетку видно под изображениями, а при печати сетки не видно
Изображения
Тип файла: jpg Screenshot 2016-01-26 15.38.20.jpg (26.5 Кб, 135 просмотров)
Тип файла: jpg Screenshot 2016-01-26 15.38.29.jpg (28.6 Кб, 129 просмотров)
superpsih вне форума Ответить с цитированием
Старый 27.01.2016, 14:01   #8
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

Помогите, пожалуйста. Столкнулся со следующей проблемой.
1. Если в запрос написать параметр отбора (прикрепил пример, например [Forms]![to_Query2]![Text17]), то пишет ошибку "3061" Too few parameters. Expected 1.
И как обойти проблему, когда у нас 4 рисунка (объекта Image), а количество объектов в группе 3 или ещё меньше (ни одного). При таком раскладе он ругается на то, что запись пустая.\

Update: Всё, решил. Первую проблему с помощью передачи параметра в функцию, а вторую с помощью rst.EOF.
Вложения
Тип файла: zip 2.zip (333.5 Кб, 22 просмотров)

Последний раз редактировалось superpsih; 27.01.2016 в 14:46.
superpsih вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставка рисунка в формулу Jaroslav Microsoft Office Excel 2 13.05.2014 12:42
Вставка рисунка KotMashina Паскаль, Turbo Pascal, PascalABC.NET 3 24.05.2013 07:55
Вставка рисунка КТатьяна Microsoft Office Excel 2 05.05.2011 05:35
Вставка рисунка макросом sasha_prof Microsoft Office Excel 3 16.09.2010 09:41
Вставка рисунка в отчет по адресу в из поля таблицы TimRus Microsoft Office Access 2 14.06.2010 14:38