powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Word и Access
5 сообщений из 5, страница 1 из 1
Word и Access
    #33436124
igric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый
Есть аксесовская база.В одной из таблиц храниться название файла и дата его получения
Нужно написать макрос который бы возвращал название текущего документа
и дату его получения, которая храниться в той базе.
Я в этом слаба, а сделать надо. Может кто поможет.Спасибо
...
Рейтинг: 0 / 0
Word и Access
    #33436548
igric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, пожалуйста помогите написать хотя бы код для извлечения данных из акксессовской таблицы в Word. Чтобы в ворде запустить макрос и вивелась
таблица
...
Рейтинг: 0 / 0
Word и Access
    #33437059
Самый простой способ - выполнить слияние (Сервис -> Слияние...).
...
Рейтинг: 0 / 0
Word и Access
    #33437667
igric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо но нужен макрос который подключается к аксесовской базе и извлекает отдуда данные в текущий вордовский документ
...
Рейтинг: 0 / 0
Word и Access
    #33439445
Макросом так макросом.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
' Поменяй "E:\My Database\dbCustomers.mdb" на реальный путь
' к твоей базе данных.

Private Const strCnnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
  & "Data Source=E:\My Database\dbCustomers.mdb;" _
  & "Persist Security Info=False"

' Подключи библиотеку
' Microsoft ActiveX Data Objects 2.x Library

Public Sub basGetDataFromDatabase()
    Dim cnn As ADODB.Connection
    Dim rstCustomers As ADODB.Recordset
    Dim fld As ADODB.Field
    Dim tblCustomers As Word.Table
    Dim lngRow As Integer
    Dim lngColumn As Integer
    Dim bln As Boolean
        
    Set cnn = New ADODB.Connection
    Set rstCustomers = New ADODB.Recordset
    
    cnn.Open strCnnString
    
    ' tblCustomers - таблица, откуда извлекаем данные.
    rstCustomers.Open "tblCustomers", cnn, _
      adOpenStatic
    
    ' Создаем табличку в Wordе.
    Set tblCustomers = ActiveDocument.Tables.Add( _
      Range:=Selection.Range, _
      NumRows:=rstCustomers.RecordCount +  1 , _
      NumColumns:=rstCustomers.Fields.Count, _
      DefaultTableBehavior:=wdWord9TableBehavior, _
      AutoFitBehavior:=wdAutoFitFixed)
    
    lngRow =  1 
    lngColumn =  1 
    
    ' Заполянем первую строку таблицы названиями полей.
    For Each fld In rstCustomers.Fields
        tblCustomers.Cell(lngRow, lngColumn).Range.Text = fld.Name
        lngColumn = lngColumn +  1 
    Next
    
    lngRow =  2 
    
    ' Заполняем таблицу данными.
    Do Until rstCustomers.EOF
        lngColumn =  1 
        For Each fld In rstCustomers.Fields
            tblCustomers.Cell(lngRow, lngColumn).Range.Text = _
              rstCustomers.Fields(fld.Name)
            lngColumn = lngColumn +  1 
        Next fld
        rstCustomers.MoveNext
        lngRow = lngRow +  1 
    Loop
    
    rstCustomers.Close
    cnn.Close
    
    Set cnn = Nothing
    Set rstCustomers = Nothing
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Word и Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]