Доступ к внешним данным из приложений Office

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Современные программные средства  Часть 3

Тема  Передача данных между приложениями Windows

Лекция 2 Доступ к внешним данным из приложений Office

DAO (Data Access Oobject) - отдельная библиотека объектов и связанных с ними методов

1. Установление ссылки на библиотеку

Меню Ссылки в модуле VB

2.   Иерархия объектов доступа к данным

DBEngine                 Database  TableDef  QueryDef   RecordSet   Field   Index

3. Доступ к данным внешних баз данныхформата JET:

Наиболее быстрая связь с БД в формате Jet (.MDB файлы)

Пример связи БД

Sub  JetConnect()

Dim db As DataBase

Dim rs As RecordSet

Set db = OpenDatabase(“C:\MSOffise\Access\Sampes\Nwind.MDB”)

Set rs = db.OpenRecordSet(“Customers”, dbOpenTable)

MsgBox “База “& db.name & “открыта успешно”

db.Close

End Sub

OpenDatabase(имя_БД, исключ_доступ, только_для_чтения, источник)

true/false                               true/false

db.OpenRecordSet (имя_табл/запроса/SQL, тип, опции

Тип: dbOpenTable, dbOpenDynaset, dbOpenSnapShot,

Опции: dbAppendOnly, dbReadOnly

4.   Доступ к данным внешних баз данныхформата НЕ  JET:

Sub  NonJetConnect()

Dim db As DataBase

Dim rs As RecordSet

Dim tdFox As TableDef

Set db = OpenDatabase(“C:\MSOffise\Access\Sampes\Nwind.MDB”)

Set tdFox=db.CreateTableDef(“Linked FoxPro Table”)

tdFox.Connect=”FoxPro 2.6;DATABASE=C:\Progra-1\Common~1\Msquery”

tdFox.SourseTableName = “Customer”

Присоединить таблицу для создания связи

db.TableDefs.Append  tdFox

Открыть набор записей

Set rs = db.OpenRecordSet(“Linked FoxPro Table”, dbOpenSnapshot)

MsgBox “База “& db.name & “открыта успешно”

db.Close

End Sub

tdFox.Connect = тип_базы; DATABASE=путь тип_базы: dBase III,  dBase IV,  dBase 5,  Paradox 3.x, Paradox 4.x, Paradox 5.x, Btrieve, FoxPro 2.0, FoxPro 2.5, FoxPro 2.6, Exel 3.0, Exel 4.0, Exel 5.0, Exel 7.0, Text

5.   Связь БД в программной среде клиент/сервер

tableDef.Connect = “ODBC; DATABASE=имя_БД; UID = идентиф_пользователя;  PWD = пароль; DSN =имя_источника_данных

6.   Работа с объектами RecordSet

Процедура Excek для получения имен полей из БД

Sub  DispleyField()

Dim db As DataBase

Dim rs As RecordSet

Dim fld As Field

Dim i As integer

Set db = OpenDatabase(“C:\MSOffise\Access\Sampes\Nwind.MDB”)

Set rs = db.OpenRecordSet(“Customers”, dbOpenSnapshot)

Активизировать окно Field Info

WorkSheets(“Field Info”).Activate

With WorkSheets(“Field Info”). [B1]

.Clear

.Offset(1).Clear

.Offset(3,-1).CurrentRegion.Offset(0,1).Clear

.Offset(1).Value = rs.Name

Перечислить поля набора

For i=0 To rs.field.Count - 1

Application.StatusBar=”Нумерация полей: “& i+1

Set fld = rs.Fields(i)

.Offset(3,i).Value = fld.Name

.Offset(4,i).Value = fld.AllowZeroLength

. . . . . . . . . . . . . . . . . . . ..

.Offset(1,i).EntireColumn.Autofit

Next i

.Value = db.Name

End With

db.Close

Application.StatusBar = False

End Sub

7.   Открытие таблицы с помощью SQL

Sub  DispleyField()

Dim db As DataBase

Dim rs As RecordSet

Dim selectStr As String

Set db = OpenDatabase(“C:\MSOffise\Access\Sampes\Nwind.MDB”)

selectStr = “SELECT CompanyName, Region, Country  FROM  Customers”& _

“FROM Customers “ &_

“WHERE Country = ‘Canada’ “ & _

“ORDER BY  CompanyName”

Set rs = db.OpenRecordSet(selectStr)

. . . . . . . . . . . . . . . . . . . ..

db.Close

End Sub

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.