Zum Hauptinhalt springen
Bei einer Datenbankprüfung von Feldwerten wird ein erkannter Feldwert mit Werten in einer Datenbanktabelle verglichen. Wenn ein erfasster Feldwert unter den Werten in der Datenbank gefunden wird, ist die Prüfung erfolgreich. Andernfalls gibt die Regel einen Fehler zurück. Sie können diese Regel verwenden, um zu prüfen, ob es in Ihrer Datenbank einen Eintrag für einen erfassten Wert gibt, um unscharfe Suchen in Ihrer Datenbank durchzuführen, auch wenn Felder Tippfehler oder andere Fehler enthalten, um einen Feldwert durch den entsprechenden Datensatz aus der Datenbank zu ersetzen und um bestimmte Werte aus der Datenbank in Dokumentfelder zu kopieren.

Erstellen einer Datenbankprüfungsregel

So erstellen Sie eine Datenbankprüfungsregel:
  1. Öffnen Sie das Dialogfeld mit den Feldeigenschaften (klicken Sie mit der rechten Maustaste auf das Feld, um das Kontextmenü zu öffnen, und wählen Sie Properties…) oder das Dialogfeld Eigenschaften der Dokumentdefinition (wählen Sie im Menü des Document Definition Editor Document Definition → Document Definition Properties…).
  2. Wechseln Sie zur Registerkarte Rules.
  3. Klicken Sie auf die Schaltfläche New Rule…
  4. Wählen Sie in der Liste der Regeltypen Database Check aus und klicken Sie auf OK.
  5. Geben Sie einen Namen für die Regel ein.
  6. Deaktivieren Sie bei Bedarf die Option Show rule name in message to verifier. Wenn diese Option deaktiviert ist, wird die Fehlermeldung als „error message“ statt als „name of rule: error message“ angezeigt.
  7. Geben Sie den Schweregrad der Regel an.
  8. Geben Sie bei Bedarf die Bedingungen an, unter denen die Regel angewendet werden soll (standardmäßig wird eine Regel ohne Bedingungen angewendet). Weitere Informationen finden Sie unter Bedingungen für die Anwendung von Regeln.
  9. Geben Sie Tags für die Regel an.
  10. Deaktivieren Sie bei Bedarf die Option aktiviert. Die Regel wird erstellt, aber erst angewendet, wenn diese Option von einem Benutzer aktiviert wird.
  11. Klicken Sie auf Next >.
  12. Richten Sie eine Verbindung zur Datenquelle ein, indem Sie deren Typ und Verbindungsparameter angeben. Folgende Datenquellen werden unterstützt:
  • External Database (Simple) Die Verbindung zur externen Datenbank wird für jede Regel in der Dokumentdefinition eingerichtet.
    • External Database (Variable) Die Verbindung zur externen Datenbank wird nur in den Projekteigenschaften (Project Properties → Environment Variables) eingerichtet. Dieser Datenquellentyp kann gleichzeitig für mehrere Regeln verwendet werden. Wenn Sie für das Projekt eine andere Datenbank verwenden, müssen Sie die Verbindungseinstellungen nur in den Projekteigenschaften ändern.
    • Datensatz Die Verbindung zum Datensatz wird vom Benutzer in den Eigenschaften der Dokumentdefinition eingerichtet (Document Definition Properties → Data Sets). Hinweis. Wir empfehlen, Folgendes als OLE DB Provider auszuwählen:
    • Beim Export nach SQL sollten Sie OLE DB Provider for ODBC Drivers verwenden.
    • Beim Export nach Oracle sollten Sie Oracle Provider for OLE DB verwenden (Einzelheiten finden Sie unter Exporting to an Oracle database). Hinweis: Um zu vermeiden, dass Sie bei jeder Verbindung zur Datenbank das Kennwort eingeben müssen, wählen Sie die Option Allow saving password aus oder richten Sie die Datenbank so ein, dass für die Verbindung kein Kennwort erforderlich ist (beispielsweise können Sie die Windows-Authentifizierung verwenden).
  1. Wählen Sie das gewünschte Schema und die Datenbanktabelle aus den Dropdown-Listen aus oder geben Sie den gewünschten Datensatz an, wenn Sie eine Verbindung zu einer Quelle vom Typ Datensatz einrichten. Hinweis: Wenn Find in all schemas als Schema ausgewählt ist und die angegebene Tabelle nicht im Standardschema enthalten ist, kann die folgende Fehlermeldung auftreten: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name K1. [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. Wenn diese Fehlermeldung auftritt, sollte der Name des Schemas, das die Tabelle enthält, explizit angegeben werden.
  2. Wählen Sie die Option Don’t check if all fields are empty aus, um Regelprüfungen zu überspringen, wenn in den am Vergleich beteiligten Feldern keine Werte vorhanden sind. Dies beschleunigt die Regelvalidierung.
  3. Stellen Sie Verknüpfungen zwischen den Feldern in der Dokumentdefinition und den Feldern in der Datenbank her (siehe Angeben der zu vergleichenden Felder unten).
  4. Verwenden Sie die Schaltflächen Add…, Edit… und Delete, um Verknüpfungen zwischen Feldern hinzuzufügen, zu bearbeiten oder zu entfernen.
  5. Wenn Sie Data Set als Quelle ausgewählt haben, können Sie jetzt in der Dropdown-Liste Field where to save record ID das Feld auswählen, das als Primärschlüssel dienen soll.
Auf einen Datensatz kann direkt aus dem Datenformular über ein Steuerelement vom Typ „Button“ zugegriffen werden. Um dem Datenformular eine Schaltfläche hinzuzufügen, wählen Sie im Document Definition Editor Form → Insert Control → Button aus. Wenn Sie dem Datenformular eine Schaltfläche hinzufügen, wird das Dialogfeld Properties geöffnet. Klicken Sie auf die Registerkarte Format, wählen Sie in der Dropdown-Liste Type die Option Database Lookup aus und wählen Sie dann eine zuvor erstellte Datenbankprüfungsregel aus.

Festlegen der zu vergleichenden Felder

In der Gruppe Feldverknüpfungen auf der Registerkarte Regeleinstellungen werden die bereits festgelegten Feldvergleiche angezeigt. Sie können eine Datenbankprüfungsregel entweder für ein einzelnes Feld oder für einen Feldsatz einrichten. Wenn Sie Felder zum Vergleichen hinzufügen oder ändern, müssen Sie Folgendes angeben:
  • Dokumentfeld Das Feld der Dokumentdefinition, das mit einem Datenbankfeld verglichen werden soll
  • Datenbankfeld Das Feld in der Datenbank, das mit dem Dokumentfeld verglichen werden soll
  • Suche Gibt die Art des Vergleichs an:
    • Exakt Der Wert im Dokumentfeld muss exakt mit dem Wert im Datenbankfeld übereinstimmen (beachten Sie jedoch, dass bei Suchen nicht zwischen Groß- und Kleinschreibung unterschieden wird)
    • Unscharf Der Wert im Dokumentfeld darf nur teilweise mit dem Wert in der Datenbank übereinstimmen. Für diese Art des Vergleichs können nur Textfelder verwendet werden.
Unscharfe Suchen finden die nächstliegenden Übereinstimmungen, d. h. Wörter, bei denen die geringste Anzahl von Buchstaben hinzugefügt, entfernt oder ersetzt werden muss, um eine Übereinstimmung zu erzielen. Die Anzahl der zulässigen Fehler hängt von der Länge des ursprünglichen Worts ab. Wenn eine unscharfe Suche mehr als einen passenden Wert findet, wird dem Operator folgende Fehlermeldung angezeigt: Zu viele Datensätze gefunden. Zusammen mit dieser Fehlermeldung wird eine Liste ähnlicher Treffer aus der Datenbank angezeigt, sodass der Operator den richtigen Wert aus der Liste auswählen kann. Die folgenden zusätzlichen Optionen sind verfügbar:
  • Nicht suchen, wenn das Feld leer ist Wenn das Feld leer ist, wird sein Wert nicht mit Werten aus der Datenbank verglichen.
  • Wert aus der Datenbank eingeben Wenn eine unscharfe Suche einen passenden Wert in der Datenbank findet, kann dieser Wert automatisch in das Feld eingetragen werden, wenn:
    • die Werte im Feld und in der Datenbank unterschiedlich sind
    • das Feld leer ist. Hinweis: Bei exakten Suchen ist die Option Wert aus der Datenbank eingeben nicht sinnvoll, da die beiden Werte identisch sind.
  • Leere Werte in der Datenbank zulassen Abhängig von den Ergebnissen der Datenbankprüfung und anderen Einstellungen hat diese Option folgende Bedeutung:
    • wenn das Datenbankfeld leer ist und das Dokumentfeld nicht leer ist, werden Feldwert und Datenbankwert als identisch betrachtet
    • wenn das Datenbankfeld leer ist und das Dokumentfeld nicht leer ist und Aus Datenbank füllen ausgewählt ist, wird der leere Datenbankwert nicht in das Feld eingetragen.

Primärschlüssel in Datensätzen

Wenn Ihr Projekt einen Datensatz (eine lokale Kopie einer externen Datenbank) enthält, aus dem bei der Verarbeitung Feldwerte für Dokumente übernommen werden sollen, können Sie mit einer Datenbankprüfungsregel ein Feld festlegen, das als Primärschlüssel (eindeutiger Bezeichner) eines Datensatzes im Datensatz dient. In diesem Fall werden die Daten im Datenformular mit den Daten im Datensatz abgeglichen. Wenn Sie einen Datensatz auswählen, werden alle Felder mit Werten aus dem Datensatz ausgefüllt. Die Werte im Datenformular können dann nicht bearbeitet werden. Wenn Sie dies dennoch versuchen, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, eine der folgenden Aktionen auszuführen:
  • einen anderen Datensatz aus dem Datensatz auszuwählen
  • den vorhandenen Datensatz zu bearbeiten
Sie können das Dialogfeld zum Hinzufügen oder Bearbeiten von Datensätzen öffnen, indem Sie mit der rechten Maustaste auf ein Feld klicken und im Kontextmenü auf Edit Data Set Record… oder Add Data Set Record… klicken. Wenn Sie Daten in einem ausgefüllten Feld durch Drücken der Entf-Taste löschen, werden auch die Daten in allen anderen mit der Regel verknüpften Feldern gelöscht. Die Regel wird erneut geprüft, wenn Sie Ihre Änderungen übernehmen. So funktionieren Primärschlüssel
  1. Für alle von der Regel betroffenen Felder muss die Option Enter value from database aktiviert sein. Wenn das als Primärschlüssel dienende Feld einen Wert enthält, sucht das Programm nicht nach Werten in den anderen Feldern, sondern füllt sie stattdessen mit Werten aus der Datenbank aus.
  2. Wenn das als Primärschlüssel dienende Feld keinen Wert enthält, prüft das Programm andere Felder, für die die Option Search aktiviert wurde, als im Dialogfeld Field Link die zu vergleichenden Felder angegeben wurden (siehe oben unter Zu vergleichende Felder angeben). Wenn für diese Felder ein eindeutiger Datensatz gefunden wird, werden Werte aus der Datenbank verwendet (wie oben unter 1).
Der Benutzer muss dann nur noch entscheiden, ob er alle Änderungen übernehmen oder einen anderen Datensatz aus dem Datensatz auswählen möchte. Die folgenden Bedingungen müssen erfüllt sein, damit der Primärschlüssel funktioniert:
  • Als Quelle ist ein Data Set ausgewählt;
  • im Datensatz ist ein Primärschlüssel angegeben, d. h. für ein Feld wurde die Option Primary key aktiviert, als
  • das als Primärschlüssel verwendete Feld ist nicht in der Liste Feldverknüpfung auf der Registerkarte Regeleinstellung aufgeführt.
Der Abschnitt ABBYY FlexiCapture for Invoices enthält weitere Informationen zu Datensätzen und erläutert ihre Verwendung in einem Beispielprojekt. Siehe Verwenden von Vendor- und Geschäftsbereichsdatenbanken. Siehe Vendors und Geschäftsbereiche in der Datenbank nachschlagen.

Durchführen einer Datenbankprüfung für einen Feldsatz

In diesem Fall durchsucht das Programm die Datenbank nach einem passenden Datensatz für die Werte in einem Feldsatz. Dabei ist jeder Wert im Feldsatz einer anderen Spalte des gefundenen Datensatzes zugeordnet. Betrachten Sie das folgende Beispiel: Ordnen wir die Dokumentfelder Fa, Fb und Fc den Datenbankspalten Ta, Tb und Tc wie folgt zu:
  • Der Wert des Felds Fa stimmt genau mit dem Wert von Ta überein.
  • Der Wert von Fb stimmt ungefähr mit dem Wert von Tb überein.
  • Wenn die angegebenen Bedingungen erfüllt sind, wird der Wert der Spalte Tc in das Feld Fc kopiert.
Die Datenbankprüfung ist erfolgreich, wenn das Programm einen Datensatz in der Datenbank findet, bei dem der Wert der Spalte Ta genau mit dem Wert des Felds Fa übereinstimmt und der Wert der Spalte Tb ungefähr mit dem Wert des Felds Fb übereinstimmt. Der Wert der Spalte Tc dieses Datensatzes wird in das Feld Fc kopiert. Wird kein solcher Datensatz gefunden, gibt die Regel einen Fehler zurück, selbst wenn das Programm beispielsweise Ta = Fa und Tb = Fb in unterschiedlichen Datensätzen findet.
Verschiedene Kombinationen sind möglich: genaue/ungefähre/gemischte Übereinstimmungen, kein automatisches Ausfüllen, beliebige Anzahl von Feldern usw.