677
Bearbeitungen
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 17: | Zeile 17: | ||
== Aufbau der Datenquellen-Dateien (*.SPD) == | == Aufbau der Datenquellen-Dateien (*.SPD) == | ||
[[Datei:SPD-02.png | left]][Queries] | [[Datei:SPD-02.png |450px |left ]]'''[Queries]''' | ||
Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz __qry*** aufgelistet. | Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz ''__qry***'' aufgelistet. | ||
'''[Query__qryNamederAbfrage]''' | |||
Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird. | Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird. | ||
Der InitCommand-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest. | Der ''InitCommand''-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest. | ||
Die Befehle ''Command1'' und folgende setzen den SQL-Abfrage-String auf die Datenbank zusammen. Die Zusammensetzung aus Command1 + Command2 usw. wurde aus Übersichtsgründen erstellt. Der Befehl kann also auch in einen einzigen Command1-Befehl gesetzt werden. | |||
Mit dem Platzhalter $Schulnr$ kann die Schulnummer der DB abgefragt werden. (Wichtig für Schild-Zentral.) | |||
Mit dem Befehl ''Mastersource=Schueler.Datasource'' kann eine übergeordnete Datenquelle angegeben werden. Dies ist über den Abfrageassistenten im Report-Designer nicht so einfach möglich.Der Datenquellenname (hier Schueler) muss in der Reporting bereits existieren. Also entweder als feste Datenquelle oder in einer SPD-Datei, die vorher schon abgearbeitet wurde. Dies kann über die alphabetische Sortierung der SPD-Dateinamen geregelt werden. | |||
[[Datei:SPD-03.png |300px | right ]] | |||
Die Übergabe des Mastersource-Parameters erfolgt über den Befehl A.Schueler_ID=:ID, wobei über den Doppelpunkt :NamedesFeldesinderMasterSource die Koppelung geregelt wird. | |||
[Datasource__qryNamederAbfrage] | '''[Datasource__qryNamederAbfrage]''' | ||
Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt. | Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt. | ||
'''[Pipeline__qryNamederAbfrage]''' | |||
Über ''Name=__pplnNamederQuelle'' wird dann die eigentliche Datenpipeline erzeugt. | |||
Die Befehle ''Opendatasource'', ''CloseDatasource'' und ''SkipWhenNoRecords'' entnehmen Sie bitte den Beispieldateien. | |||
''Username=xxNamederDatenQuelle'' stellt den eigentlichen Namen bereit, den der User später im Reportdesigner zu sehen bekommt. | |||
[[Datei:SPD-04.png |300px ]] | |||
Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert. | Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert. | ||
In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten. | {{Achtung|Die Datenquellendateien (SPD) und die zugehörigen Formulare können dann gemeinsam verteilt werden. | ||
Bitte beachten Sie, dass bei der Verteilung der SPD-Dateien ein Schreibzugriff auf das Schild-NRW-Installationsverzeichnis benötigt wird.}} | |||
{{Beispiel|In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten: '''[[Medium:SPD_Dateien.zip]]'''}} | |||
Bearbeitungen