Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • fQuery -
  • fColumns -
  • fTables -

Image Removed

Das Arbeiten mit diesen Funktionen wird in diesem Kapitel beschrieben.

Note
titleDie Funktionen sind Array-Funktionen

Voraussetzung ist das Wissen über die Eingabe/Verwendung einer Arrayformel.

Am einfachsten:

Erst Formel in eine Zelle eingeben und EINAGBE drücken. Man sieht dann gleich ein Ergebnis und weiß, ob die Syntax richtig war. Dann den gewünschten Bereich markieren, F2 drücken, dann STRG+UMSCH+EINGABE

Natürlich kann die Formel nur soviele Zeilen/SPalten zurückgeben, wie der markierte Bereich groß ist, man kann jedoch ruhig mit ein paar Tausend Zeilen etc. operieren.

...

Eine xsql-Funktion mithilfe des Excel-Formeleditors einfügen

Die Tabellenfunktion fQuery kann wie jede andere Funktion direkt in die Zelle oder über den Formeleditor eingegeben werden:

...

  1. Registerkarte "Formeln" anklicken
  2. "Funktion einfügen" klicken
  3. Im Dropdownfeld "Kategorie" [XSQL] auswählen
  4. "fQuery" die gewünschte Funktion markieren und OK klicken

...

Image Added

Die Funktionen sind Array-Funktionen

Hier eine kleine Hilfestellung, falls Sie nicht wissen, wie man Array-Funktionen erstellt:

Am einfachsten:

1. Geben Sie die Funktion einer Zelle ein (hier zum Beispiel fQuery):

Image Added

2. Drücken Sie ENTER

Image Added

Beachten Sie die Zelle, in der Sie die Funktion eingegeben haben.

- wenn sie jetzt die Überschrift des ersten ausgewählten Feldes hat, dann haben Sie die Funktion syntaktisch korrekt eingegeben. Fahren Sie mit Schritt 3 fort.
- wenn sie jetzt den Inhalt ##WERT hat, dann gibt es noch einen Fehler in der eingegebenen Funktion. Bitte korrigieren Sie die Funktion.

3. Markieren Sie soviele Spalten, wie Felder ausgewählt wurden und mindestens soviele Zeilen, wie Sie an Sätzen erwarten (mehr ist nicht schlimm)

Image Added

4. Drücken Sie die Taste F2

Image Added

5. Drücken Sie die Tastenkombination STRG+UMSCH+EINGABE

Image Added


Die Funktion fQuery

fQuery führt eine SQL-Abfrage aus und liefert das Ergebnis in die Tabelle.

Syntax von fQuery

fQuery(SQL

...

; Optionen

...

; DNS

...

; P1

...

; P2

...

; P3; ...)

Die einzelnen Parameter sind:

SQL: Die SQL Anweisung

Optionen (wahlweise)für die Überschrift:

1 - Feldnamen als Spaltenüberschriften ausgeben
2 - Feldtexte als Spaltenüberschriften ausgeben
4 - Unbenutzte Zellen als #N/V ausgeben
8 - Statt des Abfrageergebnisses wird die Beschreibung der Felder ausgegeben

...

DSN: Name der ODBC Datenquelle.

Falls leer, sucht fQuery unter den vorhandenen DSN's die erste iSeries-Verbindung.

Wenn man eine Datenquelle angeben möchte, dann ist sie in Anführungszeichen (") zu setzen.

P1, P2, P3, ...(wahlweise): Zellbezüge für Platzhalter (Parametermarker im Statement): Fragezeichen im SQL Statement

Beispiele für fQuery:

=fQuery("SELECT * FROM QIWS/QCUSTCDT",;1)

  • holt alle Felder von allen Sätzen der Datei QIWS/QCUSTCDT und schreibt sie in die Tabelle
  • es wird die erste IBM i - ODBC-Datenquelle verwendet
  • als Überschriften werden die Feldnamen verwendet

=fQuery("select * from qiws/qcustcdt where cdtlmt >= ?";1;"AETOAD";$C$1)

  • holt alle Felder von ausgewählten Sätzen der Datei QIWS/QCUSTCDT und schreibt sie in die Tabelle
  • Es wird die Datenquelle AETOAD verwendet
  • als Überschriften werden die Feldnamen verwendet
  • die Auswahl wird durch den Inhalt der Zelle C1 bestimmt: alle Sätze, in denen das Feld CDTLMT grösser oder gleich dem Inhalt von C1 ist, werden geholt

...