Der Block Datenbankanfrage dient der Beschaffung von Informationen aus einer Datenbank. Der Block ist Bestandteil einer Anfrage innerhalb eines Suchfelds. Das Ergebnis der Anfrage wird später in Ausgabefeldern genutzt.
Der Zugriff auf die Datenbank erfolgt über einen ODBC-Konnektor (Open Database Connectivity). Der Name des Konnektors wird unter der Einstellung Konnektor eingetragen. Der Name des Konnektors ist immer eine konstante Zeichenkette - variable Namen (aus Teilen der Nutzdaten zusammengesetzt) sind nicht vorgesehen.
Da ein ODBC-Konnektor eine lokale Angelegenheit (bezogen auf den jeweiligen Rechner) ist, muss der Konnektor auf allen Rechnern angelegt und identisch konfiguriert werden, auf denen Clients oder Gateways laufen.
Unter Schablone wird das zur Abfrage benötigte SQL-Kommando angegeben. Als Kommando ist alles erlaubt, was der zugrundeliegende ODBC-Konnektor unterstützt und / oder erlaubt. Bei entsprechenden Zugriffsrechten sind auch schreibende Zugriffe denkbar.
Das SQL-Kommando darf bis zu 2000 Zeichen lang sein. Mit der Einstellung unter Zeichensatz wird der Zielzeichensatz angegeben, in dem der ODBC-Konnektor das Kommando erwartet. Das Symbol am rechten Rand des Eingabefelds für das Kommando signalisiert, dass eine mehrzeilige Eingabe möglich ist. Ein Klick auf dieses Symbol öffnet einen Eingabebereich, der mit dem Greifer in der rechten unteren Ecke beliebig vergrößert oder verkleinert werden kann.
Die mehrzeilige Eingabe und die Verwendung einer dicktengleichen Schrift erlauben eine angemessene Formatierung des SQL-Kommandos.
Die als Resultat des SQL-Kommandos gelieferten Daten werden in einen Zwischenpuffer mit dem Namen des Anfragefeldes (hier 'KundenDaten') kopiert, von wo aus sie für die Zusammenstellung von Schablonen innerhalb von Text-, Barcode- oder Ressourcenfelder verwendet werden können. Diese Daten werden ebenfalls als im angegebenen Zeichensatz kodiert angenommen.
Ist dies nicht der Fall, weil zum Beispiel in einem SQL-Select Felder unterschiedlicher Kollation abgefragt werden, müssen die Felder in getrennten Datenbankanfragen geholt werden.
Der Konnektor wird mit dem Start eines Druckauftrags nur einmal geöffnet. Alle SQL-Anfragen während des Druckauftrags werden dann über diesen geöffneten Konnektor abgearbeitet. Erst am Ende des Druckauftrags wird der Konnektor wieder geschlossen.