Diese Website verwendet Cookies sowie Analyse-Software zur Erfassung und Auswertung der Webseiten-Nutzung. Details zur Art und Umfang der Datenerhebung finden Sie in unserer Datenschutzerklärung. Wenn Sie diese Website weiterhin nutzen, stimmen Sie der Verwendung von Cookies zu.

Druckansicht der Seite www.rowisoft.de/handbuch-beispiel_anhand_getdatabasefie
Dokumentation zum Warenwirtschaftssystem Rowisoft blue

Beispiel anhand "getdatabasefieldwhere"

Eine sehr häufig genutzte, weil sehr nützliche Funktion, ist die Funktion "getdatabasefieldwhere" (Funktionsbeschreibung Technische Referenz)

Zunächst ein wenig Hintergrundwissen: Mithilfe dieser Funktion können Daten aus der Datenbank ausgelesen werden. Die Funktion "getdatabasefielwhere" hat 4 Parameter (also das was innerhalb der Klammern steht, getrennt durch Semikolon):

1. Parameter: Aus welcher Tabelle soll der Wert ausgelesen werden?

2. Parameter: Welches Feld soll aus dieser Tabelle ausgelesen werden?

3. Paramater: Welches Feld muss einen bestimmten Inhalt aufweisen, damit wir genau diesen Datensatz verwenden und nicht irgendeinen in der Tabelle?

4. Parameter: Und welchen Wert muss dieses Feld aufweisen?

Beim Erstellen eines Vorgangs können wir nur sicher sein, dass die Tabelle "Vorgänge" richtig positioniert ist - der "Datenbank-Cursor" steht also schon beim richtigen Vorgang. Wir können im Berichtsdesigner also beliebige Felder aus der Tabelle "Vorgänge" reinziehen und bekommen jeweils die Daten des Vorgangs, der gerade verbucht wird.

Anders ist es bei der Tabelle Mitarbeiter. Hier kann der Cursor in der Datenbank "irgendwo" stehen - vielleicht beim ersten Mitarbeiter, vielleicht beim letzten Mitarbeiter, per Zufall vielleicht sogar bei dem Mitarbeiter, der für den Vorgang zuständig ist - letztlich weiß man aber nicht, bei welchem Datensatz der Cursor in der Tabelle gerade steht (also welcher Datensatz "aktiv" ist).

Die einzig zuverlässigen Daten finden wir also in der Tabelle "Vorgaenge".

Mit der Funktion "getdatabasefieldwhere" können wir ein Datenfeld einer beliebigen Tabelle ausgeben lassen - und zwar nicht den Wert des aktuellen (aktiven) Datensatz (bei dem der Cursor steht), sondern den Wert eines genau definierten Datensatzes.

Und welchen Datensatz aus der Tabelle Mitarbeiter möchten wir denn haben? DEN Datensatz, bei dem die "Nummer" (also die Mitarbeiter-Nummer) einen bestimmten Wert aufweißt. Nämlich den Wert, den wir im Vorgang angeben. Wenn wir im Vorgang also den Mitarbeiter 5000 auswählen, möchten wir ein bestimmtes Feld (nämlich den Namen in unserem Beispiel) des Mitarbeiters 5000 haben.

Die 4 Parameter geben daher folgende Werte an:

1. Parameter: Mitarbeiter

2. Parameter: Name

3. Parameter: Nummer

4. Parameter: getdatabasefield(Vorgaenge;Mitarbeiter)

Unter Parameter 4 können wir auch einfach den Wert 5000 eintragen. Es würde dann immer der Name des Mitarbeiters mit der Nummer 5000 zurückgegeben werden. Da wir hier aber keinen festen (konstanten) Wert eintragen möchten, sondern vielmehr den Wert verwenden möchten, der beim aktuellen Vorgang hinterlegt ist, fügen wir hier einfach wieder einen Ausdruck (eine Funktion) ein - nämlich die Funktion "getdatabsefield".

Diese Funktion "getdatabasefield" gibt den Wert des aktuellen Datensatzes (bei dem also der Cursor steht) zurück. Der 1. Parameter gibt dabei den Namen der Tabelle an, der 2. Parameter den Namen des Datenfeldes, dessen Wert wir zurückgegeben haben möchten.

Der fertige Rowi-Makrocode lautet für das erklärte Beispiel also wie folgt:

%getdatabasefieldwhere(Mitarbeiter;Name;Nummer;getdatabasefield(Vorgaenge;Mitarbeiter))%

Diesen Text können Sie so in einem Textfeld im Berichtsdesigner verwenden!

Die URL dieser Seite ist: www.rowisoft.de/handbuch-beispiel_anhand_getdatabasefie.html
Gedruckt am Sonntag, 19. November 2017.
© Copyright by Rowisoft GmbH.
Commercial use prohibited.


Notizen:

pinnery
pinnery.com
pinnery - für Ihre Projekte
Projekt-Software
Perfekt organisiert
Alles mit jedem organisieren! In pinnery erfassen Sie Ihre Aufgaben und teilen sie mit Freunden und Kollegen. Durch die in Spalten aufgeteilte, übersichtliche Darstellung behalten Sie Ihr Projekt immer im Blick.
pinnery ist kostenlos!
Jetzt registrieren!