Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
Lupus
23 / 23 / 4
Регистрация: 13.03.2011
Сообщений: 326
#1

из Word в Access - VBA

13.03.2011, 00:47. Просмотров 2902. Ответов 5
Метки нет (Все метки)

Здравствуйте! Недавно пришлось познакомиться с VBA.
Необходимо копировать (в буфер обмена или просто в переменную) выделенный текст в Word`е и вставлять его в отдельную запись в Access. Если с первым более менее разобрался, то со вторым не пойму: через что подключать БД (DAO, ADO....), как вносить данные (через специальную процедуру или запросом обновления) и самое главное - где программу то писать - в VBA Access или в VBA Word, я так понял они отличаются (?!). Про "из Access в Word" информацию видел, а наоборот не нашел.
В общем прошу небольшого пинка в нужном направлении, и какого-нибудь примера с использованием Word`а и Access`а, если можно, конечно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 00:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос из Word в Access (VBA):

Из Access открыть файл Word, развернув окно на полный экран. Путь к файлу указать относительно файла Access
Здравствуйте, подскажите как сделать, или в каком направлении гуглить. Мне...

WORD TO ACCESS
Добрый день! Я студентка филологического факультета. Нам профессор по...

Слияние WORD c базой ACCESS
Пытюсь слить в документ WORD данные из запроса ACCESS. Подключаюсь через ODBC,...

Печать документа Word из Access
Подскажите как можно осуществить такую задумку, при нажатии кнопки в access,...

Документ Word на форме Access
Нужно вынестти документ MS Word на форму в Access, что бы он был встроенным...

Импорт таблицы Word в Access
Здравствуйте. Нужна помощь. Нужно создать кнопку, по нажатию на которую...

5
Busine2009
Заблокирован
13.03.2011, 08:34 #2
Цитата Сообщение от Lupus Посмотреть сообщение
через что подключать БД (DAO, ADO....)
DAO - это старое и постепенно выходит из использования.
ADO - это новое, что создано взамен DAO.

DAO продолжает использоваться для совместимости со старыми кодами, написанными с использованием DAO.

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

Цитата Сообщение от Lupus Посмотреть сообщение
Необходимо копировать (в буфер обмена или просто в переменную) выделенный текст в Word`е и вставлять его в отдельную запись в Access.
образец копируемого из Word текста нужен и образец, в каком виде вставляемый текст представлен в Access.
1
Lupus
23 / 23 / 4
Регистрация: 13.03.2011
Сообщений: 326
13.03.2011, 13:21  [ТС] #3
Цитата Сообщение от Busine2009 Посмотреть сообщение
образец копируемого из Word текста нужен и образец, в каком виде вставляемый текст представлен в Access.
Текст самый обычный, например эта строка. Записываться будет в одно и то же поле (строковый тип) каждой записи, будут еще числовые поля порядкового номера записи, номера документа к которому относилась эта запись, номер записи-продолжения, если текст не умещается в одной записи....
0
Busine2009
Заблокирован
13.03.2011, 16:40 #4
Код нужно поместить в Word и сначала нужно это сделать в VBE:
Tools - References... - Microsoft ActiveX Data Object 2.8 Library - OK.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub P1()
Dim Соединение As New ADODB.Connection
Dim НаборЗаписей As New ADODB.Recordset
Соединение.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\Documents and Settings\Пользователь\Рабочий стол\База данных.mdb"
НаборЗаписей.Open Source:="Таблица1", ActiveConnection:=Соединение, _
    CursorType:=adOpenKeyset, LockType:=adLockOptimistic
With НаборЗаписей
    .AddNew
    .Fields("Поле1") = Selection.Text
    .MoveFirst
End With
НаборЗаписей.Close
Соединение.Close
Set Соединение = Nothing
Set НаборЗаписей = Nothing
End Sub
В 5 строке укажите своё название базы данных и путь к ней.
В 6 строке укажите своё имя таблицы базы данных.
В 10 строке укажите своё имя поля, куда надо добавлять копируемый текст.
1
Lupus
23 / 23 / 4
Регистрация: 13.03.2011
Сообщений: 326
13.03.2011, 18:29  [ТС] #5
Благодарствую!
0
Lupus
23 / 23 / 4
Регистрация: 13.03.2011
Сообщений: 326
26.03.2011, 17:54  [ТС] #6
В VBA есть какая-нибудь OLE-переменная?
Например, если я хочу некоторые объекты из Word`а перенести в OLE-поле моей базы данных.
0
26.03.2011, 17:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2011, 17:54
Привет! Вот еще темы с решениями:

Word, Access: Встава картинок в документ
Добрый день! есть база Аксесс, в базе создается файл Wорд (на основе шаблона в...

Перенос значений из таблицы Access в Word
Задача такая - взять массив из чисел, которые записаны в таблице в БД Access,...

Не могу программно подключиться к Access из Word'a
Создал документ в ворде с полями слияния с данными из аксесс, все работает, нет...

Как открыть Access из макроса Word?
Здравствуйте В макросе Word, при нажатии на кнопку, нужно: 1. открыть...


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

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

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