Query Builder
Zuletzt geändert: 14.03.2026 11:04

QueryBuilder #

Das QueryBuilder-Objekt ermöglicht den direkten Zugriff auf die SQL-Abfrage eines Datasets. Es wird über Dataset.QueryBuilder abgerufen und kann dazu verwendet werden, SQL-Befehle an den SQL-Server zu senden oder Ergebnisse nach Excel zu exportieren.

Set qb = Dataset.QueryBuilder

Eigenschaften #

EigenschaftTypZugriffBeschreibung
SelectFieldsStringlesen/schreibenFeldliste für die SELECT-Anweisung
TablenameStringnur lesenName der zugrunde liegenden Tabelle
LocateFieldnameStringnur lesenFeldname für die Positionssuche
LocateValueStringnur lesenSuchwert der aktuellen Positionssuche
PartsCountIntegernur lesenAnzahl der Filterteile
MaxHitsIntegerlesen/schreibenMaximale Trefferanzahl (-1 = unbegrenzt)
DatabasenameStringnur lesenName der Datenbank

Methoden #

MethodeRückgabeBeschreibung
RenderSQLStringGibt die vollständige SQL-Abfrage zurück
RenderPreSQLStringGibt die Pre-SQL-Anweisung zurück
RenderOrderStringGibt die ORDER-BY-Klausel zurück
RenderWhereStringGibt die WHERE-Klausel ohne WHERE-Schlüsselwort zurück
RenderWithFields(Fields, MaxHits)StringErzeugt eine SQL-Abfrage mit den angegebenen Feldern
RenderTestSql(SqlWhere)StringTestet eine WHERE-Klausel gegen die aktuelle Tabelle
RenderCountSql(SqlWhere)StringErzeugt eine COUNT-Abfrage für die angegebene WHERE-Klausel
AddAdHoc(SqlWhere)Fügt eine zusätzliche WHERE-Klausel hinzu
AddAdHocWithOrder(SqlWhere, SqlOrder)Fügt eine WHERE-Klausel mit Sortierung hinzu

Beispiel #

Aktuelle Artikelliste in Excel anzeigen:

Option Explicit

Dim qb, sql, rs
Set qb = Dataset.QueryBuilder

' WHERE-Klausel anzeigen
MsgBox qb.RenderWhere

' SQL mit bestimmten Feldern erzeugen
sql = qb.RenderWithFields("ArtNummer, ArtMatch", -1)
MsgBox sql

' SQL ausführen und nach Excel exportieren
Set rs = Client.ExecuteSql(sql)
impex.excelNewWsCopyFromRecordset rs

Set rs = Nothing
Set qb = Nothing

Siehe auch #