Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [MS Access] вставка рисунка


Автор: 4YBAK 6.11.2011, 01:21
всем привет!
простая задачка, но никак не нагуглю решение.
есть таблица товары. 
надо как-то сделать, чтоб у каждого товара была картинка, изображающая этот товар (картинки есть).
и пользователь мог добавлять на форме картинки к новым товарам\загружать другие к уже введенным.
у меня боле-менее получилось, создал в таблице товары поле типа вложение.
Но как теперь на форме сделать кнопку, при нажатии на которую вылезало окно "выберите изображение" для загрузки новых фоток?
помогите плиз.

Автор: Woodlin 6.11.2011, 12:23
Цитата(4YBAK @  6.11.2011,  04:21 Найти цитируемый пост)
...как теперь на форме сделать кнопку, при нажатии на которую вылезало окно "выберите изображение" для загрузки новых фоток?

В учебной базе данных "Борей" в форме "Сотрудники" есть пример того что Вам нужно. Правда в Борее картинки лежат в папке, а в таблице ссылки к ним.

Автор: 4YBAK 7.11.2011, 00:34
Цитата(Woodlin @ 6.11.2011,  12:23)
Цитата(4YBAK @  6.11.2011,  04:21 Найти цитируемый пост)
...как теперь на форме сделать кнопку, при нажатии на которую вылезало окно "выберите изображение" для загрузки новых фоток?

В учебной базе данных "Борей" в форме "Сотрудники" есть пример того что Вам нужно. Правда в Борее картинки лежат в папке, а в таблице ссылки к ним.

тяжеловато. там очень много всего.
зделайте плиз простенькую БД для примера этой возможности

Автор: Woodlin 7.11.2011, 08:02
4YBAK, 

Цитата(4YBAK @  6.11.2011,  04:21 Найти цитируемый пост)
Но как теперь на форме сделать кнопку, при нажатии на которую вылезало окно "выберите изображение" для загрузки новых фоток?

Примерный код на кнопку (взят из "Борея"):
Код

Sub getFileName()
    ' Для выбора имени файла с фотографией текущего сотрудника
    ' используется стандартное окно открытия файла Office.
    ' Если пользователь указывает файл, его содержимое

    Dim fileName As String
    Dim result As Integer
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Выбор фотографии сотрудника"
        .Filters.Add "Все файлы", "*.*"
        .Filters.Add "JPEG", "*.jpg"
        .Filters.Add "Рисунки", "*.bmp"
        .FilterIndex = 3
        .AllowMultiSelect = False
        '.InitialFileName = CurrentProject.path 'Здесь задается папка, которая откроется в окне выбора
        result = .Show
        If (result <> 0) Then
            fileName = Trim(.SelectedItems.Item(1)) 'fileName содержит путь к выбранному рисунку
            '-- Далее загружайте рисунок, или сохраняйте ссылку на него
            '. . .
        End If
    End With
End Sub

Автор: 4YBAK 7.11.2011, 20:40
все же тяжело(
напишите пж-та простенький пример-базу и выложите готовый файл.

Автор: Akina 7.11.2011, 21:22
Для домашних заданий, курсовых и вопросов типа "Сделайте за меня" существует раздел "Центр Помощи".

Тема перенесена.

Автор: Woodlin 8.11.2011, 05:16
Цитата(4YBAK @  7.11.2011,  23:40 Найти цитируемый пост)
все же тяжело(

Что именно тяжело? Что не получается?

Читайте справку, статьи в интернете, пробуйте сделать по другому, если не получается. Все так начинали программить.

Автор: 4YBAK 8.11.2011, 18:10
Цитата(Woodlin @ 8.11.2011,  05:16)
Цитата(4YBAK @  7.11.2011,  23:40 Найти цитируемый пост)
все же тяжело(

Что именно тяжело? Что не получается?

Читайте справку, статьи в интернете, пробуйте сделать по другому, если не получается. Все так начинали программить.

не могу найти, куда надо нажать, што хоть посмотреть этот код в базе борей.
и не понимаю, к какому объекту относица подпрограмма getFileName

Автор: Woodlin 8.11.2011, 20:28
Цитата(4YBAK @  8.11.2011,  21:10 Найти цитируемый пост)
не могу найти, куда надо нажать, што хоть посмотреть этот код в базе борей.

Откройте режим конструктора формы, правой кнопкой мыши кликните по кнопке Добавить/изменить -> Свойства -> вкладка События, перейдите на фразу [Процедура обработки событий], щёлкните по кнопке с точками (справа от фразы).
Увидите такой код:
Код

Private Sub AddPicture_Click()
    ' Для выбора файла с фотографией сотрудника используется
    ' стандартное окно открытия файла Office.
    getFileName ' вызывается процедура getFileName, которая отображает окно выбора рисунка
End Sub

При клике на кнопку Добавить/изменить (кстати имя кнопки AddPicture) срабатывает событие Нажатие кнопки и выполняется приведённый код.

Можно нажатие кнопки обработать так:
Код

Private Sub ИмяКнопки_Click()
    ' Для выбора имени файла с фотографией текущего сотрудника
    ' используется стандартное окно открытия файла Office.
    ' Если пользователь указывает файл, его содержимое
    Dim fileName As String
    Dim result As Integer
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Выбор фотографии сотрудника"
        .Filters.Add "Все файлы", "*.*"
        .Filters.Add "JPEG", "*.jpg"
        .Filters.Add "Рисунки", "*.bmp"
        .FilterIndex = 3
        .AllowMultiSelect = False
        '.InitialFileName = CurrentProject.path 'Здесь задается папка, которая откроется в окне выбора
        result = .Show
        If (result <> 0) Then
            fileName = Trim(.SelectedItems.Item(1)) 'fileName содержит путь к выбранному рисунку
            '-- Далее загружайте рисунок, или сохраняйте ссылку на него
            '. . .
        End If
    End With
End Sub


p.s. Постигайте азы, если хотите заниматься базами данных. На форуме есть ссылки на http://forum.vingrad.ru/forum/topic-300994.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)