
- •Корпоративные информационные системы. Задача интеграции. Корпоративные системы.
- •Модель osi – набор стандартов для построения корпоративной системы
- •Интегрированные и комплексные приложения
- •Задача: общие данные, общие процедур, общие вычислительные ресурсы.
- •Проблемы на пути интеграции
- •Прозрачность. Открытость. Масштабируемость. Концепции аппаратных решений. Определение распределенной системы. Прозрачность.
- •Открытость.
- •Масштабируемость.
- •Параллелизм.
- •Raid-технологии.
- •Концепции аппаратных решений. Мультипроцессоры.
- •Гетерогенные мультикомпьютерные системы.
- •Симметричное мультипроцессирование
- •Кластеры.
- •Двухуровневые, трехуровневые, распределенные одноранговые информационные системы. Виды ис
- •Функциональная нагрузка компонентов в ис
- •Двухуровневые архитектуры
- •Трехуровневые архитектуры
- •Распределенные одноранговые архитектуры
- •Единое информационное пространство. Подход к построению объектно-ориентированной одноранговой информационной системе.
- •Архитектура взаимодействия компонент распределенной ис
- •Обзор методов интеграции. Введение
- •Пути устранения аппаратных различий, кросс – платформенные приложения.
- •Java applets, апплеты.
- •Файлы (буферы) общего доступа.
- •Единый язык доступа к данным (sql).
- •Обмен сообщениями (dde).
- •Удаленный вызов процедур (rpc)
- •Вставка и внедрение объектов
- •Ole (связывание и внедрение объектов), ole Automation.
- •Классификация приложений по отношению к технологии ole (com).
- •ActiveX объекты.
- •Идентификация com объектов.
- •Сравнение com (ActiveX) объектов и java апплетов.
- •Доступ к удаленным объектам (dcom, .Net, corba)
- •Использование командных файлов и скриптов
- •Доступ к базам данных (ado, dao, odbc)
- •Применение web-технологий
- •Именованные каналы
- •Объектно-ориентированное программирование в vba Среда программирования. Типы данных. Процедуры. Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений.
- •Процедуры, функции, передача параметров, область видимости.
- •Типы данных.
- •Вызов макроса с вычисляемым именем
- •Запуск макроса в заданное время
- •Запуск внешней программы, управление ею
- •Вызов api-функций и других библиотечных функций
- •Программное изменение кода.
- •Динамические массивы
- •Объектно-ориентированное программирование Базовые понятия ооп
- •Расширение объектной модели
- •Коллекция
- •Раннее и позднее связывание
- •Дополнительные элементы управления (ActiveX –объекты)
- •Описание программирования в vba, модели com Доступ к вставленным в документ ole-объектам
- •Доступ к внешним com-серверам
- •Вычисляемые свойства, свойства только для чтения.
- •События. Обработчики событий.
- •Использование событий объекта Application
- •Использование диалогов
- •Свойство для программиста.
- •Пользовательские классы. Классы.
- •Класс, объекты которого реагируют на события.
- •Моделирование наследования. Фактическое наследование. WithEvents.
- •Пользовательские события.
- •Как исп польз события
- •Создание экземпляра класса.
- •Автоматическая сборка мусора
- •Уничтожение экземпляра класса
- •???Интерфейсы.
- •???Интеграция при помощи промежуточного буфера
- •Обмен сообщениями. Протокол dde.
- •Задачи интеграции и децентрализации.
- •Фрагментация данных и размещение
- •Язык доступа к данным sql Стандартные команды
- •Язык запросов
- •Изменение данных при помощи sql
- •Изменение структуры базы данных при помощи ddl
- •Выполнение команд изменения структуры, изменения базы данных
- •Расширения Jet 4.0 ansi-92
- •Доступ к базам данных.
- •Доступ к базам данных с помощью odbc.
- •Доступ через odbc из Delpi7.
- •Доступ к базам данных с помощью технологий ado. Соединение, курсор
- •Свойства и методы набора записей (курсора).
- •Вызов отчетов, сформированных в базе данных
- •Пример dao
- •???Доступ к базам данных с помощью технологий dao.
- •???Доступ к базам данных с помощью web технологий.
- •Удаленный вызов процедур.
- •Обращение к удаленным объектам. Привязка клиента к объекту. Статическое и динамическое удаленное обращение к методам. Передача параметров. Dce, rmi.
- •Распределенная система объектов corba. Введение.
- •Архитектура системы.
- •Структура связей corba.
- •Исключения corba.
- •Передача параметров.
- •Corba-объекты и серванты.
- •Отображение idl на языки программирования
- •Объектные адаптеры.
- •Транзакции и сервис транзакций в corba.
- •Обзор технологий dcom, .Net Определение
- •Немного истории
- •Решение .Net
- •Модель .Net
- •Обзор двоичных файлов .Net.
Вызов отчетов, сформированных в базе данных
Технология ADO предоставляет объекты и методы работы с данными, т.е. с таблицами, запросами. Отчеты – это показ данных. Поэтому ADO не дает возможности это сделать. У COM объекта Access.Application есть соответствующий метод. Но этот подход возможен только, если на компьютере установлен MS Access.
Dim abd As Access.Application
Set abd = CreateObject("Access.Application")
abd.OpenCurrentDatabase "i:\BD\БД_Книж_издат_V98.mdb"
abd.DoCmd.OpenReport "Книга", acViewPreview
Технология ADO предоставляет доступ к данным. Интерфейсная часть, т.е. входные и выходные формы вы должны составить в клиентском (интерфейсном) приложении.
Пример dao
Dim bd As DAO.Database, rs As DAO.Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click() ' DAO
UserForm1.ListBox1.Clear
UserForm1.ComboBox1.Clear
Set bd = _
OpenDatabase(ActiveWorkbook.Path & "\БД_Книж_издат_V98.mdb")
Set td = bd.TableDefs
UserForm1.ComboBox1.SetFocus
For i = 0 To td.Count - 1
If td(i).Attributes = 0 Then ' пользовательские таблицы
UserForm1.ComboBox1.AddItem td(i).Name
If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name
End If
Next
UserForm1.ComboBox1.DropDown
End Sub
Sub zapoln_sp(rs)
Dim kfld As Integer, tb As ADOX.Table
UserForm1.ListBox1.Clear
Set tb = adocat.Tables(UserForm1.ComboBox1.Value)
UserForm1.ListBox1.AddItem
UserForm1.ListBox1.ColumnCount = rs.Fields.Count
For j = 0 To tb.Columns.Count - 1
UserForm1.ListBox1.List(0, j) = tb.Columns(j).Name
Next
ns = 1
Do While Not rs.EOF
UserForm1.ListBox1.AddItem
For nk = 0 To rs.Fields.Count - 1
If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk)
Next
ns = ns + 1
rs.MoveNext
Loop
End Sub
Private Sub CommandButton2_Click() ' DAO
' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]")
Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value)
zapoln_sp rs
End Sub
Sub adoadd()
adors.AddNew
adors.Fields(0) = "123"
adors.Update
End Sub
Private Sub CommandButton3_Click()
'добавление новой записи
adoadd
rs.AddNew
rs.Fields(0) = "111111"
rs.Fields(1) = "Иванов И.И."
'сохранение данных в базе
rs.Update
' Set rs = bd.OpenRecordset("select * from flow")
' rs.MoveFirst
' Do While Not rs.EOF
' MsgBox rs.Fields(1)
' rs.MoveNext
' Loop
bd.Close
End Sub
Private Sub CommandButton5_Click()
Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text)
zapoln_sp rs
End Sub
???Доступ к базам данных с помощью технологий dao.
Dim bd As Database, rs As Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click()
UserForm1.ListBox1.Clear
UserForm1.ComboBox1.Clear
Set bd = OpenDatabase(ActiveWorkbook.Path & "\БД_Книж_издат_V98.mdb")
Set td = bd.TableDefs
UserForm1.ComboBox1.SetFocus
For i = 0 To td.Count - 1
If td(i).Attributes = 0 Then ' пользовательские таблицы
UserForm1.ComboBox1.AddItem td(i).Name
If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name
End If
Next
UserForm1.ComboBox1.DropDown
End Sub
Sub zapoln_sp(ByRef rs As DAO.Recordset)
Dim kfld As Integer
UserForm1.ListBox1.Clear
UserForm1.ListBox1.ColumnCount = rs.Fields.Count
ns = 0
Do While Not rs.EOF
UserForm1.ListBox1.AddItem
For nk = 0 To rs.Fields.Count - 1
If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk)
Next
ns = ns + 1
rs.MoveNext
Loop
End Sub
Private Sub CommandButton2_Click()
' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]")
Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value)
zapoln_sp rs
End Sub
Private Sub CommandButton3_Click()
'добавление новой записи
rs.AddNew
rs.Fields(0) = "111111"
rs.Fields(1) = "Иванов И.И."
'сохранение данных в базе
rs.Update
' Set rs = bd.OpenRecordset("select * from flow")
' rs.MoveFirst
' Do While Not rs.EOF
' MsgBox rs.Fields(1)
' rs.MoveNext
' Loop
bd.Close
End Sub
Private Sub CommandButton5_Click()
Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text)
zapoln_sp rs
End Sub
Dim bd As Database, rs As Recordset, td As DAO.TableDefs
Private Sub CommandButton1_Click()
UserForm1.ListBox1.Clear
UserForm1.ComboBox1.Clear
Set bd = OpenDatabase(ActiveWorkbook.Path & "\БД_Книж_издат_V98.mdb")
Set td = bd.TableDefs
UserForm1.ComboBox1.SetFocus
For i = 0 To td.Count - 1
If td(i).Attributes = 0 Then ' пользовательские таблицы
UserForm1.ComboBox1.AddItem td(i).Name
If UserForm1.ComboBox1.ListCount = 1 Then UserForm1.ComboBox1.Value = td(i).Name
End If
Next
UserForm1.ComboBox1.DropDown
End Sub
Sub zapoln_sp(ByRef rs As DAO.Recordset)
Dim kfld As Integer
UserForm1.ListBox1.Clear
UserForm1.ListBox1.ColumnCount = rs.Fields.Count
ns = 0
Do While Not rs.EOF
UserForm1.ListBox1.AddItem
For nk = 0 To rs.Fields.Count - 1
If rs.Fields(nk) <> "" Then UserForm1.ListBox1.List(ns, nk) = rs.Fields(nk)
Next
ns = ns + 1
rs.MoveNext
Loop
End Sub
Private Sub CommandButton2_Click()
' Set rs = bd.OpenRecordset("select * from [" & ComboBox1.Value & "]")
Set rs = bd.OpenRecordset(UserForm1.ComboBox1.Value)
zapoln_sp rs
End Sub
Private Sub CommandButton3_Click()
'добавление новой записи
rs.AddNew
rs.Fields(0) = "111111"
rs.Fields(1) = "Иванов И.И."
'сохранение данных в базе
rs.Update
' Set rs = bd.OpenRecordset("select * from flow")
' rs.MoveFirst
' Do While Not rs.EOF
' MsgBox rs.Fields(1)
' rs.MoveNext
' Loop
bd.Close
End Sub
Private Sub CommandButton5_Click()
Set rs = bd.OpenRecordset(UserForm1.TextBox1.Text)
zapoln_sp rs
End Sub
Private Sub UserForm_Click()
End Sub