Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46

Форма. Поле OLE

28.10.2013, 16:53. Показов 3841. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Столкнулся со следующей проблемой.
На форме "Оформление заказа" есть кнопка "Добавить договор", которая добавляет запись в таблицу "Договоры". Эта таблица представляет из себя три поля, одно из которых является полем объекта OLE. В этом OLE должен храниться договор по заказу в виде word-овского файла. Т.е. необходимо, чтобы из формы можно было добавить в таблицу файл договора в .doc формате и первые два поля (с добавлением первых двух полей проблем нет).
Код кнопки:
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Кнопка47_Click()
Dim strSQL As String
Dim Dogovor_id As String
Dogovor_id = CStr(Me.Поле27) + "D"
strSQL = " Insert Into Договоры(Договор_id, Заказ, Договор) values ('" & Dogovor_id & "', '" & Me.Поле27 & "', ' & СвободныйOLE73 & ');"
CurrentProject.Connection.Execute (strSQL)
MsgBox ("Добавлен договор №" & Dogovor_id)
End Sub
Так собственно в чем проблема, в таблице в поле "Договор" появляется не "Документ Microsoft Word 97-2003", а "Двоичные данные".
И еще, перед нажатием на кнопку "Добавить договор" открываю шаблон договора, сохраняю под другим именем, но Access говорит, что объект блокирован.
Миниатюры
Форма. Поле OLE   Форма. Поле OLE   Форма. Поле OLE  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2013, 16:53
Ответы с готовыми решениями:

Вставка фотографий сотрудников через поле подстановки (Поле объекта OLE)
Добрый день! Помогите плиз. Смысл такой, необходимо, чтобы при смене работника, менялась его фотография в форме. Лучше, если эти...

Forms! Форма! поле vs Screen.ActiveForm! поле || Что лучше?||
Здравствуйте Уважаемые люди! У меня назрел тут вопрос. В последнее время я очень часто сталкиваюсь с новым видом обращения к полям из...

Поле OLE и JPG
Подскажите пожалуйста,можно ли как-нибудь вставлять JPG в поле OLE? Ибо с BMP - проблем нету, но к сожалению нужен JPG

10
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.10.2013, 17:07
gurukamu, записывать в OLE-поле надо через поле формы. У вас же есть путь к док и по этому пути можно записать в таблицу, если форма основана на ней
Visual Basic
1
2
3
4
5
me![OLEObject].Class = "Word.Document"            'me![OLEObject] - поле на форме с оле-полем
me![OLEObject].OLETypeAllowed = acOLEEmbedded
me![OLEObject].SourceDoc = me![ObjectFileName]    'Путь к ворд-документу
me![OLEObject].Action = acOLECreateEmbed
DoCmd.RunCommand acCmdSaveRecord
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
28.10.2013, 20:59  [ТС]
mobile, спасибо, попробую позже вечером. О результатах отпишусь.

Добавлено через 3 часа 37 минут
mobile, в каком формате должен быть представлен путь (полный от локального диска или относительно БД)?
И запись Me.СвободныйOLE73.SourceDoc равноценна записи me![СвободныйOLE73].SourceDoc ?
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
28.10.2013, 21:16  [ТС]
mobile, что-то не получается
Visual Basic
1
2
3
4
5
6
7
Private Sub СвободныйOLE88_Enter()
Me![СвободныйOLE88].Class = "Word.Document"
Me![СвободныйOLE88].OLETypeAllowed = acOLEEmbedded
Me![СвободныйOLE88].SourceDoc = "C:\Shablon_Dogovora.doc"
Me![СвободныйOLE88].Action = acOLECreateEmbed
DoCmd.RunCommand acCmdSaveRecord
End Sub
Миниатюры
Форма. Поле OLE  
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
28.10.2013, 21:31  [ТС]
Так, с этим разобрался, теперь выдает следующее
Миниатюры
Форма. Поле OLE  
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.10.2013, 21:49
Попробуйте завершить вставку немного другой командой (вместо acCmdSaveRecord написать acCmdRecordsGoToNext)
Visual Basic
1
DoCmd.RunCommand acCmdRecordsGoToNext
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
28.10.2013, 21:52  [ТС]
mobile, Аналогичная ситуация, "Команда или макрокоманда "ЗаписиСледующая" в данное время недоступна."
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.10.2013, 22:04
А вообще запись в таблицу из формы возможна? Вы пробовали, например, сделать запись без оле и сохранить ее?
0
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
28.10.2013, 22:11  [ТС]
mobile, да, я без проблем добавляю данные из других полей в другую таблицу.
Пароль
1408
Вложения
Тип файла: rar 1.rar (215.8 Кб, 41 просмотров)
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.10.2013, 22:27
Я еще несколько часов назад написал
Цитата Сообщение от mobile Посмотреть сообщение
У вас же есть путь к док и по этому пути можно записать в таблицу, если форма основана на ней
А у вас-то форма не содержит оле-поля в источнике. Все поля свободные. Какая здесь может быть запись в таблицу? Только инсертом или рекордсетом, которые приводят к не нравящемуся вам состоянию.
Надо сделать форму на таблице с оле-полем и писать туда
1
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 46
29.10.2013, 20:28  [ТС]
mobile, точно, не обратил внимания, добавил в качестве источника ole-поле. Но только все равно добавляются двоичные данные.

Добавлено через 8 минут
Я вообще убрал "DoCmd.RunCommand acCmdSaveRecord".
Мне важно лишь подгрузить файл в это поле, чтобы потом изменить и сохранить под другим именем, а добавление в таблицу осуществляет кнопка.
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Кнопка47_Click()
Dim strSQL As String
Dim Dogovor_id As String
Dogovor_id = CStr(Me.Поле27) + "D"
strSQL = " Insert Into Договоры(Договор_id, Заказ, Договор) values ('" & Dogovor_id & "', '" & Me.Поле27 & "', ' & Договор & ');"
CurrentProject.Connection.Execute (strSQL)
MsgBox ("Добавлен договор №" & Dogovor_id)
End Sub
Или у меня какая-то неправильная логика?
Я в VB профан, поэтому так много вопросов и задаю.

Добавлено через 21 час 22 минуты
Разобрался, можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2013, 20:28
Помогаю со студенческими работами здесь

Поле объекта OLE
Добрый вечер! Уже задавал вопрос, но у меня ничего не получилось. Как сделать так, чтобы в форме отображалась сама картинка, а не путь к...

Запрос, содержащий OLE - поле
У меня Acc в пустом поле OLE не пишет ничего, поэтому в запросе достаточно поставить условие поле OLE Is Not Null. Проверено в 97, 2000

Файлы в поле объекта OLE
в поле объекта OLE файл хранится в виде шестнадцатеричного кода?(HEX)

Поле OLE в форме Access
Всем привет. Помогите решить проблему: в форме есть поле OLE. Хочу добавлять в него данные и просматривать с пом кнопок, а не с пом...

После обращения к полю OLE с рисунком виснет форма
Добрый день всем! Такая проблема, после обращения к полю OLE с рисунком, виснет форма. На форме 10 столбцов 2 из них OLE поля, так же 5...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru