Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Привязка фото к конкретной записи (а также при необходимости изменить ее из формы)
 
 автор: АлексейAlex   (12.05.2009 в 09:19)   личное сообщение
 
 

Хочу сказать спасибо за код

Dim FName As String
Dim result As Integer
With Application.FileDialog(1)
.Title = "Поиск Файла"
.ButtonName = "Добавить"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "*", "*.*", 1
result = .Show
' Закоментированный фрагмент не дает возможности выйти пока не загрузится файл
'******************************************************************************
'If result = 0 Then
'Do Until (result <> 0)
'MsgBox ("Необходимо внести файл в базу")
'result = .Show
'Loop
'End If
'*********************************************************************************
FName = Trim(.SelectedItems.Item(1))
End With
теперь клиент может выбирать нужную фото, НО как путь из переменной FName привязать к текущей записи?

с полями ввода все просто, указал в свойствах = данные нужную таблицу, и проблем нет, а как сделать это из VBA. Готового решения я не жду, но может, кто-то уже сталкивался с этим, например, при учете кадров.

  Ответить  
 
 автор: osmor   (12.05.2009 в 09:45)   личное сообщение
 
 

вы хотите сохранить картинку в базе или только путь к ней?

  Ответить  
 
 автор: АлексейAlex   (12.05.2009 в 10:02)   личное сообщение
 
 

цель - создать связку клиент-его фото с возможностью смены фото из формы.

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

  Ответить  
 
 автор: osmor   (12.05.2009 в 10:18)   личное сообщение
 
 

тогда вот вам пример
http://hiprog.com/index.php?option=com_content&task=view&id=647

  Ответить  
 
 автор: АлексейAlex   (12.05.2009 в 21:19)   личное сообщение
 
 

спасибо, попытаюсь разобраться, как VBA сохраняет данные в ячейку активной записи.

но если есть еще примеры, дайте.

нашел мини пример кому интиресно в этой теме http://hiprog.com/forum/read.php?id_forum=1&id_theme=4339&page=1 этот файлик http://hiprog.com/forum/files/4339-20081205105339.rar.
классный сайт!!!

зы. кто знает, зачем связывать таблицы (один ко многим), если они и так связаны через подчиненные таблицы?

  Ответить  
 
 автор: Goblin   (12.05.2009 в 22:14)   личное сообщение
 
 

Хотя бы затем, что бы изменяя запись в главной таблице, она везде менялась в подчиненной.

Зы. А тип поля OLE в таблице зачем?

  Ответить  
 
 автор: АлексейAlex   (13.05.2009 в 00:01)   личное сообщение
 
 

Не получается у меня с помощью VBA менять ячейки таблицы, не говоря уже об умении править активную запись.

зы. кто знает, какие операторы VBA мне помогут?
-------------

ОЛЕ это наверно объект формы связанный с таблицей?

  Ответить  
 
 автор: osmor   (13.05.2009 в 09:08)   личное сообщение
 
 

менять активную запись в форме довольно просто
в коде пишите:
me.ИмяПоля  = "значение"

Для изменения поля/полей таблицы не связанных с открытой формой используются запросы на обновление или Recordset

  Ответить  
 
 автор: АлексейAlex   (13.05.2009 в 20:35)   личное сообщение
 
 

пасиб все работает

Me.sdf = Fname ' путь добавляется в ячейку
Рисунок23.Picture = Me.sdf
' и обратно

зы. я прм как ослик ИА обрадовался "замечательно выходит"
------------------------------------------------------
теперь, при обновлении картинки, если Me.sdf =Null, выдает ошибку 94 при попытке присвоить Null свойству Рисунок23.Picture (Рисунок23.Picture = Me.sdf)

я хотел избежать этого следующим образом

If Me.sdf <> Null Then Рисунок23.Picture = Me.sdf Elsef

но Me.sdf не понимает это условие и какое бы я не ставил условие "<>" или "=" он всегда идет на Elsef


---------------------------------------------------------------

  Ответить  
 
 автор: Lukas   (13.05.2009 в 20:45)   личное сообщение
 
 

http://www.hiprog.com/forum/read.php?id_forum=1&id_theme=950&page=1

  Ответить  
 
 автор: АлексейAlex   (13.05.2009 в 21:06)   личное сообщение
 
 

пасибо други)

  Ответить  
 
 автор: АлексейAlex   (13.05.2009 в 22:58)   личное сообщение
 
 

последний вопрос на эту тему.

с помощью какого оператора обновлять фото, при переходе по записям формы? все обыскал и не нашел.

  Ответить  
 
 автор: Goblin   (13.05.2009 в 23:15)   личное сообщение
17 Кб.
 
 

Скажи пожалуста в чем прикол? Чем поле OLE плохо? Фотки, документы и прочее в нем получаются не плохо. Может при передаче базы они исчезают? Даю пример. 2 щелчка в поле открывает соответствующий редактор. При переходах не надо ничего обновлять. Фотки сотрудников в нем хранятся замечательно. Может я что-то не так понял.

  Ответить  
 
 автор: АлексейAlex   (14.05.2009 в 08:57)   личное сообщение
 
 

хранит и выбирает прекрасно, но я не знаю, как в вашем примере выбирать фото из готового файла рисунка?

я попытался записать выбранный рисунок в таблицу, но не получилось.

на последней строке ругается

Private Sub Фото_DblClick(Cancel As Integer)

With Application.FileDialog(1)
.Title = "Поиск файла"
.ButtonName = "Добавить"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "*", "*.bmp", 1

Me.фото= .Show

End With
End Sub

  Ответить  
 
 автор: АлексейAlex   (14.05.2009 в 16:37)   личное сообщение
 
 

все оказалось просто . В свойствах формы - свойства - текущая запись выбрал [Процедура обработки событий] и код обновления:

If IsNull(Me.sdf) Then имя рисунка.Picture = "" Else имя рисунка.Picture = Me.sdf

  Ответить  
 
 автор: Goblin   (14.05.2009 в 22:02)   личное сообщение
 
 

Ну вы блин даете.
Правой клавишей по рисунку и там изменить, добавить и прочее. Никаких кодов никогда не писал. Теперь эксперементировать придется.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList