Microsoft Office Online
Für Mein Office Online (Was ist das?) registrieren | Anmelden

 
 
Microsoft Office Access
Suchen
Suchen
 
 
 
 
Warnung: Sie haben diese Webseite mit einem nicht unterstützten Browser geöffnet. Diese Webseite wird am besten angezeigt, wenn Sie Microsoft Internet Explorer 6.0 oder höher, Firefox 1.5 oder Netscape Navigator 6.0 oder höher verwenden. Hier finden Sie weitere Informationen über unterstützte Browser.

DruckversionDruckversion Lesezeichen und FreigabeFreigabe
Informationen zu ReportML in Access 2002
 

In früheren Versionen von Microsoft Access konnten die Benutzer Access-Objekte in andere Access-Objekte mithilfe des Dialogs Speichern unter umwandeln (ein Formular konnte z. B. in einen Bericht umgewandelt werden). Es war auch möglich, Access-Objekte in eine Vielzahl von Formaten, einschließlich Text, HTML, Rich Text-Format usw., umzuwandeln; diese Objekte waren jedoch nicht erweiterbar. Das heißt, auf die Eigenschaften und Attribute des Objekts konnte nicht zugegriffen werden, und diese konnten nicht geändert werden, sodass eine leichtere Verwendung in anderen Anwendungen nicht möglich war.

Mit Access 2002 können Sie nun Access-Objekte als Extensible Markup Language-Dateien (XML-Dateien) exportieren, damit diese leichter von verschiedenen Anwendungen gemeinsam genutzt werden können. Access-Datenblätter, -Formulare und -Berichte können entweder mit einer oder mit zwei XML-Dateien exportiert werden: eine ReportML-Datei (bezeichnet als Objektname_report.xml) zum Beschreiben der Eigenschaften, des Formats und anderer Merkmale des Datenblattes, des Formulars oder des Berichts, und eine optionale Datendatei (Objektname.xml), wenn die Option, die Daten mit dem Objekt zu verbinden, aktiviert ist. Zusätzlich können Sie durch Verwendung einer Extensible Stylesheet Language Transformation-Datei (XSLT-Datei) mit diesen XML-Dateien die exportierten Access-Objekte automatisch in andere Präsentationsformate umwandeln, die Struktur der Daten oder des Dokuments neu anordnen oder die Daten dynamisch sortieren und filtern, sodass es leichter ist, die Objekte in anderen Anwendungen zu verwenden.

Beispielsweise können durch Verwendung einer ReportML- und einer XSLT-Datei die umgewandelten Access-Objekte genauso wie in der Access-Seitenansicht innerhalb der typischen Internet Explorer-Browseransicht angezeigt werden. Das Objekt kann auch in Formate wie Dynamic Hypertext Markup Language (DHTML), Datenzugriffsseiten, Dateien mit kommagetrennten Werten, eine Folge von Aufrufen an eine bestimmte Programmierschnittstelle, eine PDF-Datei oder andere HTML-Objekte umgewandelt werden, die als Webseite verwendet werden können. Zusätzlich kann die Struktur des Objekts dynamisch verändert werden, sodass verschiedene Ansichten in verschiedenen Anwendungen bzw. Geräten wie Webbrowsern oder Handheld-Geräten verfügbar sind.

Derzeit müssen andere Benutzer entweder einen Ausdruck des Berichts erstellen, Access lokal installiert haben oder ein Produktfeature wie Snapshot Viewer verwenden, um Ihre Access-Berichte einzusehen. Durch Verwendung einer ReportML-Version des Berichts und einer XSLT-Datei können Sie den Bericht im Web speichern, und jede Person, die einen Browser verwendet, kann den Bericht so einsehen, wie er ursprünglich in Access erschien.

Außerdem kann die ReportML-Datei, die von Access bereitgestellt wird, als Ausgangspunkt für eine nähere Beschreibung des Objekts verwendet werden, damit dieses in anderen Anwendungen verwendet werden kann. Da diese in XML-Syntax geschrieben ist, können Sie das Objekt erweitern, indem Sie Ihre eigenen Elemente und Attribute zu der Datei hinzufügen, sodass dem Bericht Details hinzugefügt werden. Zusätzlich können Sie ein Skript hinzufügen, um das Objekt noch mehr zu erweitern, z. B. indem Sie eine bestimmte Formatierung oder Filterung für die Zielgruppe oder den Browsertyp anwenden, um das Objekt anzuzeigen.

AnzeigenWas ist ReportML?

ReportML ist eine XML-basierte "Auszeichnungssprache", die Access-Datenblätter, -Formulare und -Berichte durch Verwendung eines Satzes von Tags zur Darstellung der Eigenschaften des Objekts, der Ereigniscodes und andere Merkmale wie die Datensatzquelle beschreibt. Das ReportML-Dokument ist eine wohlgeformte XML-Datei, was bedeutet, dass das Dokument mit den minimalen Kriterien eines XML-Dokuments übereinstimmt (d. h., es enthält ein Element mit einem Stamm, weist Start- und Endtags, jedoch keine überlappenden Tags auf usw.) Für weitere Informationen zu XML, wohlgeformten XML-Dokumenten und XSLT suchen Sie nach diesen und ähnlichen Begriffen auf der Microsoft Developers Network-Website (MSDN [in Englisch]).

AnzeigenStruktur eines ReportML-Dokuments

Ein ReportML-Dokument besteht aus zwei primären Abschnitten: einem Einleitungsabschnitt und einem Dokumentelementabschnitt. Die Einleitung enthält die XML-Deklaration und die Dokumenttypdeklaration (DTD), wenn diese verwendet wird. Die XML-Deklaration liegt gewöhnlich in der Form <?xml version="1.0"encoding="UTF-8"> vor. Die optionale DTD definiert und bezeichnet die Elemente, die in dem Dokument verwendet werden können, die Reihenfolge, in der diese erscheinen können, die Elemente und Attribute (werden später näher erläutert), die verwendet werden können, und andere Dokumentfeatures. Ein XML-Schemadokument (.xsd) kann anstelle einer DTD verwendet werden, um das Schema oder das Layout Ihres XML-Dokuments zu spezifizieren. Der Vorteil der Verwendung eines XSD-Dokuments anstelle einer DTD besteht darin, dass das XSD XML-Syntax verwendet. Weitere Informationen über die Verwendung von Dokumenttypdeklarationen und XML-Schemadokumentdateien mit XML-Daten finden Sie in der MSDN-Website (in Englisch).

Der Dokumentelementabschnitt beginnt mit dem Element <RPTML> (auch Stammelement genannt); das Stammelement bezeichnet den Beginn von anderen Elementen, Attributen und Daten, die das Access-Objekt beschreiben.

Element- und Attributtags enthalten Informationen über Elemente wie Formatvorlagen, Informationen auf Gruppenebene, Druckinformationen, Informationen über Steuerelemente und Eigenschaftswerte. Ein typisches Element besteht aus einem Starttag, den Elementdaten und einem Endtag. Ein Attribut ist normalerweise im Elementstarttag als Namenswertpaar enthalten und liefert zusätzliche Informationen über das Element. Die generelle Form eines Element- und Attributtags stellt sich folgendermaßen dar:

<STARTTAG attribute="value">Elementdaten<ENDTAG>

In der folgenden Tabelle sind die Typen von Tags aufgelistet, die normalerweise für Elemente in einem ReportML-Dokument verwendet werden.

Objekte Normalerweise verwendeter Tagtyp Beispiele
Formular- oder Berichtsabschnitte, z. B. Kopf- und Fußzeilen Element <SECTION>
...
</SECTION>
Primäre Objekteigenschaften, z. B. Visibility, CanGrow, GroupLevel Element <CAN-GROW>true</CAN-GROW>

<VISIBILITY>visible</VISIBILITY>

zusätzliche Eigenschaftsinformationen, z. B. Datentyp Attribute <NAME type="last">Davolio</NAME>
Objektname ("id") oder Objekttypen wie Orders_Subreport Attribute <REPORT id="Orders_Subreport">

<SECTION type="report_header">

AnzeigenBeispiel eines Access-Formulars und -Unterformulars in ReportML

Der folgende Abschnitt ist ein Auszug einer ReportML-Datei, die verwendet wird, um das Formular "Bestellungen" mit einem Unterformular "Bestellungen_Unterbericht" zu beschreiben. Dies ist ein Beispiel dafür, wie Tags verwendet werden, um die Eigenschaften und Hierarchien eines Objekts zu beschreiben. Beachten Sie, dass die Tags, die von Access verwendet werden, auf ein "report"-Objekt standardisiert wurden, sodass sich die Tags weiterhin auf ein Berichtsobjekt beziehen, selbst wenn sich das Beispiel auf ein Formular bezieht.

<!--Einleitungsabschnitt-->
<?xml version="1.0" encoding="UTF-8"?>

<!--Dokumentelementabschnitt, beginnend mit dem RPTML-Stammelement-->
<RPTML>
<SYSTEM-SETTINGS>
<LOCALE>1033</LOCALE>
</SYSTEM-SETTINGS>
<!--Startet die tatsächliche "Orders"-Formulardefinition-->
<REPORT ID="Orders">
<TITLE>Orders</TITLE>
<LAYOUT>absolute</LAYOUT>
<OBJECT-TYPE>form</OBJECT-TYPE>
...
<!--Druckerdefinition-->
<PRINTER-ROW-SPACING>0</PRINTER-ROW-SPACING>
<PRINTER-ORIENTATION>portrait</PRINTER-ORIENTATION>
...
<!--Fährt mit weiteren Formulareigenschaften fort-->
<FETCH-DEFAULTS>true</FETCH-DEFAULTS>
<MOVEABLE>false</MOVEABLE>
<ALLOW-DESIGN-CHANGES>false</ALLOW-DESIGN-CHANGES>
...
<!--Beschreibt Datenherkunfts- und Verbindungszeichenfolge-Eigenschaften-->
<RECORD-SOURCE>Orders Qry</RECORD-SOURCE><ID>Orders</ID>
<CONNECTION-STRING>PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA SOURCE=\\zaw-pro-1\mydocs2\frice\Northwind.mdb;
USER ID=Admin;PASSWORD=;PERSIST SECURITY INFO=FALSE;
</CONNECTION-STRING>
<!--Globale Formatvorlagen für Komponenten und Abschnitte-->
<STYLE id="Style0">
<BORDER-COLOR>#000000</BORDER-COLOR>
<BORDER-WIDTH>1px</BORDER-WIDTH>
...
<STYLE id="Style1">
...
</STYLE>
<!--Eigenschaften für die verschiedenen Formularabschnitte-->
<SECTION id="ReportHeader" type="report_header">
<BORDER-STYLE>none</BORDER-STYLE>
<BACKGROUND-COLOR>#008080</BACKGROUND-COLOR>
...
</SECTION>
<!--Steuerelemente innerhalb der Abschnitte werden anschließend beschrieben-->
<REPORT-ITEM id="OrderID" type="text-box">
<CLASS>Style0</CLASS>
<BOUND-TO-HYPERLINK>false</BOUND-TO-HYPERLINK>
...
</REPORT-ITEM>
<REPORT-ITEM id="OrderID Label" type="label"
parent="OrderID">
<CLASS>Style1</CLASS>
<HEIGHT>0.177in</HEIGHT>
...
</REPORT-ITEM>
<CODE>
<!--Hinter dem Formular stehender Code
option compare database
Private Sub Report_Open (Cancel As Integer)
msgbox "Das Objekt ist geöffnet"
End Sub -->
</CODE>
<!--Das /REPORT-Tag beendet den Abschnitt mit der Beschreibung des "Orders"-Formulars-->
</REPORT>
<!--Startet die Unterberichtdefinition "Orders_Subreport"-->
<REPORT ID="Orders_Subreport">
...
</REPORT>
</RPTML>

Dieses Beispiel stellt einige Regeln dar, die von ReportML verwendet werden, um ein Access-Objekt zu beschreiben:

  • Das Objekt ist in einer "Baumstruktur" dargestellt, die die Eigenschaften und andere Attribute des Berichtobjekts, die Eigenschaften und andere Attribute des ersten Abschnitts des Berichts, die Steuerelemente des ersten Abschnitts, des zweiten Abschnitts usw. beschreibt.

  • Druckerobjektinformationen werden als Satz von Tags auf Objektebene (Datenblatt, Bericht, Formular) gespeichert.

  • Innerhalb eines Abschnitts werden die Abschnittseigenschaften und -attribute beschrieben, gefolgt von beliebigen Steuerelementen in einem Abschnitt.

  • ActiveX-Steuerelemente werden als Steuerelemente in einem angegebenen Abschnitt gespeichert. Tags für ActiveX-spezifische Eigenschaften und deren Inhalt sowie die "Wrapper-Steuerelement"-Eigenschaften werden ausgeschrieben.

  • Der aktuelle Wert jedes angegebenen Tags befindet sich zwischen dem Start- und dem End-Tag und wird nicht als Attribut eines Tags geschrieben. Attribute enthalten lediglich zusätzliche Informationen über das Objekt, z. B. Objektname, Objekttyp oder Datentypen.

  • Leere Eigenschaften werden nicht ausgeschrieben, so dass Eigenschaften ohne Wert ignoriert werden.

  • Unterberichte (oder Unterformulare) sind in das ReportML des Hauptberichts eingebettet; diese werden genauso wie der Hauptbericht beschrieben.

  • Einige Tags werden verwendet, um Elemente zu beschreiben, die in Access nicht angezeigt werden, z. B. Z-Ordnung, untergeordnete Beschriftungen, untergeordnete Objekte (Optionsgruppen), Steuerelementgruppen usw.

  • Unterformulare und Unterberichte werden nach Formularen und Berichten ausgeschrieben.

AnzeigenZusätzliche Informationen zu ReportML

Wenn möglich, wurden die Access-Eigenschaften in ReportML ähnlichen HTML-Eigenschaften zugeordnet, sodass Benutzer, die mit dem Layout und den Elementen eines HTML-Dokuments vertraut sind, in der Lage sind, ein ReportML-Dokument zu verstehen. ForeColor (Textfarbe) ist beispielsweise Color zugeordnet, und FontName (Schriftart) entspricht FontFamily.

Ferner wurde eine Reihe von Richtlinien implementiert, sodass ReportML-Dateien nicht durch überschüssige Wert und Eigenschaften durcheinander gebracht werden. Im Allgemeinen werden die folgenden Richtlinien für Ausgaben in ReportML verwendet:

Allgemein

  • Objektstandardwerte werden in ReportML-Dateien nicht ausgeschrieben.
  • Laufzeiteigenschaften, z. B. Fensterbreite und Fensterhöhe, werden in ReportML-Dateien nicht ausgeschrieben.

ReportML-Tags

  • Leere Datenwerttags werden in ReportML-Dateien nicht ausgeschrieben.
  • Mehrere Wörter enthalten Bindestriche (GebundeneSpalte wird z. B. Gebundene-Spalte zugeordnet)
  • Alle ReportML-Tagnamen werden großgeschrieben; alle Attribute werden kleingeschrieben (z. B.<SECTION ID="detail">).
  • Wenn eine Formular- oder Berichtseigenschaft (oder andere Attribute) in Datenzugriffsseiten unter unterschiedlichen Namen vorhanden sind, wird die entsprechende Datenzugriffsseite verwendet ("SortiertNach" wird beispielsweise als "DefaultSort" ausgeschrieben). Andernfalls wird der Access-Eigenschaftsname so genau wie möglich nachverfolgt. Ausnahmen dieser Regelung umfassen OLE-Eigenschaftstypen, die mit dem OLE-Präfix (OLE-Klasse) ausgeschrieben werden, und Elemente, die einen entsprechenden HTML-Tag aufweisen, der den gleichen Namen, jedoch eine andere Bedeutung hat. Die Filter-Eigenschaft auf einem Formular bedeutet z. B. nicht dasselbe wie der HTML-Filtertag. Daher ist das entsprechende ReportML-Tag <RECORDSET-FILTER>.
  • Der Code hinter einem Objekt (Formular, Bericht) ist zwischen einem Satz von Tags <CODE></CODE> enthalten und wird nicht ausgewertet.

ReportML-Werte

  • Abgesehen von Attributen werden alle ReportML-Werte, wie oben bereits erwähnt, zwischen Start- und Endtags geschrieben.
  • Formular- und Berichtseigenschaftswerte werden ausgeschrieben, sodass diese den HTML-Typ-Werten entsprechen. Zoll werden beispielsweise anstelle von Twips verwendet, und HMTL-Farben werden anstelle von Windows-Farben verwendet.
  • Leere Formular- und Berichtseigenschaften, bei denen ein Attribut, jedoch kein Elementwert vorhanden ist, werden unter Verwendung von Leeres-Element-Tags definiert, z. B. <TITLE TYPE="personal"/> anstelle von <TITLE TYPE="personal"></TITLE>.

Attribute

  • Die einzigen in ReportML verwendeten Attribute lauten ID   beispielsweise <SECTION ID="Report_Header">, TYPE - <CONTROL TYPE="Textbox"> und PARENT <CONTROL PARENT="OrderID">.
  • Formatvorlagen werden durch Verwendung von Klassentags geschrieben, z. B.:
    <STYLE ID="style1"> <BACKGROUND-COLOR>#ffffff</BACKGROUND-COLOR> <FONT-STYLE>italic</FONT-COLOR> ... </STYLE ID="style1"> <CONTROL> <CLASS>style1</CLASS> ... </CONTROL>
    

ActiveX-Steuerelemente

  • Die Eigenschaften eines ActiveX-Containers werden unter dem ActiveX-Steuertag ausgeschrieben. Zusätzlich werden auch alle eindeutigen Eigenschaften oder Werte für die Steuerelemente ausgeschrieben. Diese Eigenschaften werden innerhalb eines <ACTIVEX-CONTROL-PROPERTIES>-Tags geschrieben.

AnzeigenSpeichern einer ReportML-Datei

Die ReportML-Datei (ObjektName_report.xml) wird standardmäßig erstellt, wenn Sie ein Datenblatt, ein Formular oder einen Bericht unter Verwendung der ExportML-Methode exportieren.

Sie können eine ReportML-Datei speichern, indem Sie den entsprechenden Wert in der Option AndereFlags in der ExportXML-Methode festlegen. Der folgende Beispielcode exportiert beispielsweise die Tabelle Kunden in die aktuelle Datenbank als XML. Die Daten und Schemas werden als getrennte Dateien exportiert, und das Schema liegt im XSD-Format vor. Der Wert 32 nach der Kennzeichnung AndereFlags speichert die ReportML-Datei:

ExportXML _
ObjectType:=acExportTable, _
DataSource:="Customers", _
DataTarget:="Customers.xml", _
SchemaTarget:="CustomersSchema.xml", _
OtherFlags:="32"

Weitere Informationen über die ExportXML-Methode finden Sie in der Hilfe des Microsoft Visual Basic Editors.

AnzeigenAbschließende Bemerkung

Wie Sie sehen, stellt das Exportieren von Datenblättern, Formularen und Berichten als ReportML-Dateien ein konsistentes Verfahren zur Darstellung der Eigenschaften und anderer Attribute dieser Objekte in XML dar. Dadurch wird das Verschieben dieser Objekte und der Daten, die sie enthalten, von einer Anwendung in eine andere erleichtert, und es werden zusätzliche Optionen zum Einsehen und Umstrukturieren geliefert.

Weitere Informationen über XML, XSLT und ähnliche XML-Elemente finden Sie auf der MSDN-Website.

Anzeige