История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
При работе с базой часто является удобным скопировать на клиентскую машину всю или часть базы в отдельную локальную базу-реплику (процедура создания реплики) и работать с репликой. После окончания работы с репликой ее можно вернуть в базу (процедура синхронизации). При создании реплики (на основе уже существующей) и при синхронизации реплики копируются только новые или откорректированные записи, что сокращает объем копируемой информации. Репликация снижает нагрузку на базу коллективного использования и ускоряет работу пользователей, повышает надежность работы с базой.
Свойства и методы, используемые при репликации
{ TableDef | QueryDef}. KeepLocal =True ‑ возможность репликации.
{ DataBase | TableDef | QueryDef}. Replicable=” T ” ‑ возможность репликации во время синхронизации (задается символами “T”, “F”).
{ TableDef | QueryDef}. ReplicableBool =True ‑ возможность репликации во время синхронизации (задается логическими константами True, False).
TableDef. ReplicaFilter= <условие> ‑ условие отбора записей из базы в частичную реплику.
Relation. PartialReplica =True ‑ записи копируются на основе связей между таблицами.
Database. MakeReplica ‑ метод формирования полной реплики.
Database.PopulatePartial ‑ метод формирования частичной реплики.
DatabaseSynchronize ‑ метод синхронизации реплики с базой.
Пример создания полной и частичной реплики
Private Sub Command2_Click() ‘процедура создания реплики
Dim db As Database, tdf As TableDef, fld As Field, qdf As QueryDef
Dim i As Integer, pr As Property, relation As relation ‘объявление переменных
Dim Sourcedb As String, Mastredb As String, Replicadb As String
Sourcedb = App.Path + “\Учет строек.mdb“ ‘имя исходной базы
masterdb = App.Path + “\master.mdb“ ‘имя копии исходной базы (основная)
Replicadb = App.Path + “\Replica.mdb“ ‘имя базы‑реплики
On Error GoTo proc_err 'переход на процедуру обработки ошибок
FileCopy Sourcedb, masterdb ‘копирование исходной базы в основую
‘открытие базы в монопольном режиме (True) для создания свойств
Set db = OpenDatabase(masterdb, True)
‘создание свойства (pr) Replicable=“T“ ‑ база будет реплицируемой
Set pr = db.CreateProperty(“Replicable“, dbText, “T“)
db.Properties.Append pr ‘добавление созданного свойства в массив свойств
db.Properties(“Replicable“) = “T “ ‘установка значения Replicable=“T“
For i = db.Relations.Count - 1 To 0 Step -1 'удаление существующих связей
If db.Relations(i).Name = “Заказчики“ Or _
db.Relations(i).Name = “НаселенныеПункты“ Then 'удаление связи
Set relation=db.Relations(i):db.Relations.Delete relation.Name
End If
Next 'окончание цикла удаления связей
For i=0 To db.TableDefs.Count-1 'установка свойств реплицируемости таблицы
If db.TableDefs(i).Name = “Стройки“ Or db.TableDefs(i).Name = _
“Заказчики“ Or db.TableDefs(i).Name = “Населенные пункты“ Then
Set tdf = db.TableDefs(i)
tdf.Properties(“replicableBool“) = True ‘таблица реплицируема
End If
Next 'окончание цикла
‘Вариант создания полной реплики
'db.MakeReplica Replicadb, “Полная реплика” ‘создание реплики
‘db.Close: Set db = Nothing ‘закрытие базы
‘Вариант создания частичной реплики
db.MakeReplica Replicadb,“Пустая реплика“,dbRepMakePartial ‘создание реплики
db.Close: Set db = Nothing ‘закрытие базы
Set db = OpenDatabase(Replicadb, True) ‘открытие пустой реплики
Set tdf = db.TableDefs(“Стройки“) 'открытие таблицы “Стройки“
tdf.ReplicaFilter=“knp=2“ ‘задание условия отбора записей из базы в реплику
db.PopulatePartial masterdb ‘формирование частичной реплики
db.Close: Set db = Nothing ‘закрытие базы-реплики
Exit Sub 'выход из процедуры
proc_err: 'блок обработки ошибок
Select Case Err.Number ‘номер ошибки
Case 3270 ‘свойство отсутствует в таблице и его нужно создать
Set pr = tdf.CreateProperty(“ReplicableBool“, dbBoolean, True) 'создание
tdf.Properties.Append pr ‘добавление свойства в массив свойств таблицы
Case Else ‘обработка остальных ошибок
MsgBox (“Описание: “ & Err.Description + “ Код ошибки: “ & _
Err.Number & “ Источник ошибки: “ & Err.Source) ' вывод сообщения
End Select
End Sub
Пример синхронизации реплики
Private Sub Command3_ Click() ‘процедура синхронизации реплики
Dim db As Database, Mastredb As String, Replicadb As String
masterdb=App.Path+“\master.mdb“: Replicadb=App.Path+“\Replica.mdb“
Set db = OpenDatabase(masterdb, True) ‘открытие в монопольном режиме
db.Synchronize Replicadb ‘синхронизация ‑ возвращение реплики в базу
db.Close: Set db = Nothing: End Sub ‘закрытие базы и процедуры
Команды языка запросов SQL
Запросы на выборку данных
Команда Select является мощным средством обработки запросов. Приведем ее предварительный синтаксис.
Select <что выводится>
From <откуда (источник)>
Into < куда выводится>
Where <каким условиям должно отвечать>
Group By <колонки, по которым выполняется группирование>
Having <условие группирования записей в одну строку>
Order By <в каком порядке выводить данные>
Запросы могут храниться в программе и в базе данных (хранимые процедуры или запросы) (п. 9.9.3).
Команда Select открывает нужные им базы данных и индексные файлы. Если необходимых для выполнения команды индексов нет, то они будут созданы, а по завершении команды уничтожены. Выполняются быстрее, легче сопровождаются.
Рассмотрим опции команды.
|
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!