Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Разработка корпоративных приложений в Access 2002 - Литвин П.

Литвин П. Разработка корпоративных приложений в Access 2002 — Спб.: Питер, 2002. — 848 c.
ISBN 5-314-00181-0
Скачать (прямая ссылка): razrabotkaprilojeniy2002.djvu
Предыдущая << 1 .. 293 294 295 296 297 298 < 299 > 300 301 302 303 304 305 .. 357 >> Следующая

</s:AttributeType>
<s:AttributeType name-'CustomerCity' rs:number-'2'
Импорт и экспорт данных XML
719
rs:null able-'true' rs:maydefer-'true' rs:writeunknown-'true'>
<s:datatype dt:type-'string' dt:maxLength-'50 7>
</s:AttributeType>
<s:AttributeType name-'CustomerState' rs:number-'3' rs:nullab1e-'true' rs:maydefer-'true' rs:writeunknown-'true'>
<s:datatype dt:type-'string' dt:maxLength-'27>
</s:AttributeType>
<s:extends type-'rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row CustomerName-'Millworks Toys' CustomerCity-'Colfax'
CustomerState-'WA'/>
<z:row CustomerName-'Joe&#x27;s Diner' CustomerCity-'Pullman'
CustomerState-'WA'/>
</rs:data>
</xml>
Как видите, этот XML-файл содержит и схему и данные, но его формат очень отличается от формата, который понимает Access 2002. В нем используется четыре пространства имен, ни одно из которых Access неизвестно.
Хотя для импорта этого файла нельзя применять ни пользовательский интерфейс Access, ни метод ImportXML, нетрудно написать код, который импортирует данные и их схему в таблицу Access. Этот код будет основан на способности объектов Recordset считывать данные непосредственно из XML-файлов. В листинге 15.9 приведена простая процедура, выполняющая такую операцию.
ПРИМЕЧАНИЕ
Перед выполнением этого кода нужно установить ссылку на библиотеку Microsoft ADO Extensions 2.5 for DDL and Security.
Листинг 15.9
Public Sub ImportADOXMLCstrFileName As String. strTableName As String) ' Импорт XML-файла стандартного формата ADO и ' создание таблицы с заданным именем.
Dim rstln As ADODB.Recordset Dim rstDut As ADODB.Recordset Dim cat As ADDX.Catalog Dim tbl As ADOX.Table Dim col As ADOX.Column Dim fid As ADDDB.Field
Dn Error GoTo HandleErr
' Воссоздание объекта ADO Recordset из XML-файла.
Set rstln - New ADODB.Recordset rstln.Dpen strFileName
Set cat - New ADOX.Catalog
Set cat.ActiveConnection - CurrentProject.Connection
' Создание новой таблицы.
Set tbl - New ADDX.Table tbl.Name - strTableName
' Создание столбцов для каждого поля объекта Recordset.
For Each fid In rstln.Fields Set col - New ADDX.Column col.Name - fid.Name col.Type - fid.Type
720
Глава 15" Интеграция Access и XML
col.DefinedSize - fld.DefinedSize tbl.Columns.Append col Next fid
' Сохранение таблицы, cat.Tables.Append tbl
' Открытие объекта Recordset на основе новой таблицы.
Set rstOut - New ADODB.Recordset rstDut.Dpen strTableName, CurrentProject.Connection, adDpenKeyset. adLockOptimistic
' Перенос всех записей из таблицы в объект recordset.
Do Until rstln.EOF rstDut.AddNew
For Each fid In rstln.Fields
rstOut(fld.Name) - rstln(fld.Name)
Next fid rstOut.Update rstln.MoveNext
Loop
' Чистка rstln.Close Set rstln - Nothing rstOut.Close Set rstOut - Nothing Set col - Nothing Set tbl - Nothing Set cat - Nothing
1 Выводим новую таблицу в окне базы данных.
Appli cation.RefreshDatabaseWi ndow
ExitHere:
Exit Sub
HandleErr:
MsgBox Err.Number & ": " & Err.Description. vbCritical.
"ImportADOXML"
Resume ExitHere
End Sub
После загрузки содержимого файла в объект Recordset, хранящийся в переменной rstln, с помощью ADOX создается новая таблица. Затем выполняется цикл по коллекции Fields объекта Recordset и, опять-таки с помощью ADOX, в таблице создаются соответствующие столбцы. После создания таблицы процедура проходит по всем записям объекта Recordset и копирует их в таблицу.
ВНИМАНИЕ
Поскольку данная процедура проходит по всем полям всех записей, для больших XML-файлов она может выполняться медленно.
СОВЕТ
Еще один способ работы с XML-файлами, создаваемыми ADO, заключается в использовании XSLT для преобразования их в формат, понимаемый Access. Microsoft предлагает пример выполнения этой операции в статье Q285329 из базы знаний (http://support.microsoft.com/support/kb/artides/Q285/ 3/29.ASP). Хотя в общем случае эта технология может быть полезна, применять ее необязательно.
Представление данных XML
721
Представление данных XML
Как вы уже видели (рис. 15.7), Access может создать XSLT-файл для вывода экспортируемых данных в виде таблицы. Кроме того, она может экспортировать и преобразовывать в формат XML собственные объекты, определяющие формат отображения данных. В этом разделе вы узнаете, как создать XML-версии форм и отчетов Access.
Экспорт форм и отчетов
Экспорт формы или отчета в формат XML выполняется так же, как экспорт других базовых объектов, связанных с данными.
1. Щелкните правой кнопкой мыши на объекте в контейнере базы данных и выберите команду Export или выделите объект и выберите в меню Access команду File > Export.
2. В диалоговом окне File Save задайте имя экспортируемого файла. В поле Save AsType выберите тип файла XML Documents (*.xml) и щелкните на кнопке Export.
3. В диалоговом окне Export XML укажите, какие из файлов вы хотите создать: файлы данных (XML), схемы (XSD) или представления (XSL). Для выбора дополнительных опций экспорта щелкните на кнопке Advanced.
4. Щелкните на кнопке ОК, чтобы создать файлы XML.
Предыдущая << 1 .. 293 294 295 296 297 298 < 299 > 300 301 302 303 304 305 .. 357 >> Следующая