Office Manager Dokumentenmanagementsystem


Office Manager Entwickler-Support

SQL-Abfragen im Dokumentenmanagement

SQL ist eine nach ISO und ANSI standardisierte Datenbanksprache für die

Eine Sprachreferenz und Einführung finden Sie beispielsweise bei Wikibooks und in der MS SQL-Server-Dokumentation.

Im Office Manager Dokumenten-Management-System können Sie mit Hilfe von SQL individuelle Abfragen erstellen und diese für den Benutzer im Menü hinterlegen. Innerhalb der SQL-Anweisungen sind auch OmAPI-Makrovariablen möglich.

Führen Sie im Dokumentenarchiv nur Abfrage und keine Datenänderungen oder -Definitionen mit SQL aus!

SQL-Editor

Den SQL-Editor öffnen Sie im Menü Suchen | SQL-Abfrage | SQL-Editor:

SQL-Editor

Nach dem Öffnen beinhaltet der Editor die aktuelle Abfrage des Dokumentenarchivs. Sie können die SELECT-Anweisung ändern und zum Beispiel als Standardabfrage für die Anwender im Menü Suchen | SQL-Abfrage hinterlegen. Hierzu wird die SQL-Datei einfach im Verzeichnis "(Gemeinsame Dateien)\SQL\Menu\" gespeichert.

Beispiele für SQL-Abfragen im Archiv

1. Datei-Dubletten finden

Office Manager DMS erlaubt es, die selbe Dokumentdatei mit mehreren Archiv-Datensätzen zu verknüpfen, zum Beispiel als Dokumenten-Klone. Dubletten können aber auch unerwünscht sein und unter anderem entstehen, wenn ein Import ohne die Option Nur neue Dokumentdateien importieren durchgeführt wurde.

Mit folgender SQL-Abfrage finden Sie alle Datensätze, bei denen das Feld Dateiname den selben Wert hat:

SELECT * FROM DOCUMENT
WHERE FILENAME IN
  (SELECT FILENAME FROM DOCUMENT
   GROUP BY FILENAME HAVING COUNT(FILENAME) > 1)

SQL-Skript doppelter-dateiname.sql 

2. Kommentare im SQL

Kommentare innerhalb des SQL-Skriptes werden mit "/*" eingeleitet und mit "*/" beendet. Man sollte hier etwas vorsichtig sein, zum Beispiel darf keine Internetadresse mit "http://" in den Kommentaren stehen.

/* Ein Kommentar im SQL */
SELECT * FROM DOCUMENT
WHERE PROJECT LIKE 'Mein Projekt%
'

3. SQL-Jokerzeichen

In der EDV werden häufig die Zeichen * und ? als Joker verwendet. SQL weicht davon ab, die Joker sind:

Textabfragen mit Jokern werden mit LIKE anstelle des Operators = ausgeführt.

SELECT * FROM DOCUMENT
WHERE KUNDE LIKE '%Me_er'

Office Manager DMS erlaubt bei der normalen Archivsuche auch den Stern und das Fragezeichen. Diese werden aber vor Ausführung des SQL-Befehles in die entsprechenden SQL-Joker umgewandelt.

4. SQL-Abfragen und Makros kombinieren

Die SQL-Anweisung wird vor Übergabe an die Datenbank vom Makrointerpreter verarbeitet. Enthaltene Makrobefehle in geschweiften Klammern werden ausgewertet.

Im folgenden Beispiel wird eine Dokumentennummer vom Anwender erfragt und anschließend das Archiv danach durchsucht:

SELECT * FROM DOCUMENT
WHERE DOCNO = '{ExecInputQuery:Dokumentnummer}'

5. Dateitypen ausschließen

Alle Dokumente im Archiv suchen, die im Projekt "Prinzenallee" oder einem Unterprojekt hiervon abgelegt sind. Dokumentdateien mit der Endung ".dwg" oder ".prt" vom Suchergebnis ausschließen.

SELECT * FROM DOCUMENT
WHERE PROJECT LIKE 'Prinzenallee%'
  AND (FILENAME NOT LIKE '%.dwg')
  AND (FILENAME NOT LIKE '%.prt')