DBquery

Top  Previous  Next

Führt eine Abfrage über die Eigenschaften der Objekte oder Elemente aus.

 

Voraussetzung

Es müssen entsprechende Daten geladen sein.

 

Syntax:       DBquery(<felder> FROM {<selexpr>} <fromexpr> {<elemCond>} {/NOQUOTE})

Parameter

<felder>

Attribute oder Pseudoattribute der Objekte und Elemente, nach denen gesucht wird. Eine vollständige Liste der implementierten Pseudoattribute befindet sich in der Tabellenreferenz. Mehrere Werte werden durch Kommata getrennt.

<selexpr>

(optional) legt fest, auf welchen Objekten die Abfrage ausgeführt wird:

OPEN        Geöffnetes Objekt

ALL        Alle Objekte

(keine Angabe)        Objekte der Selektionsmenge

<fromexpr>

legt fest, auf welchen Objekten / Elementen die Abfrage ausgeführt wird. Möglich sind:

OBJECT

ELEMENT

TEXT

ATX

FTEXT

SYMBOL

STRING

RASTER

ATTRIB

SET

MEMBER

MASTER

POINTELEMENT

POINT

PLAN

SEGMENT

PTR_???        PTR_??? ist ein Pointer, wie er von DBquery($pointer ...) zurückgegeben wird.

<elemCond:>

(optional) schränkt die Auswahl ein nach bestimmten Kriterien:

KEY <liste>

DKY <liste>

DKA <liste>

SYM <liste>

SEGMENT <nummer>

QTX   <name>        EQ <wert>

NE <wert>

LT <zahl>

GT <zahl>

LE <zahl>

GE <zahl>

LIKE <ausdruck>

IS NULL

IS NOT NULL

Mehrere Conditions können hintereinander geschrieben werden.

/NOQUOTE

Rückgabe der Werte ohne Anführungszeichen. Ohne den Paramter NOQUOTE  werden die Ergebnisse einzeln in Anführungszeichen zurückgegeben. Dieser Parameter kann auch /NOQ oder /noq abgekürzt werden.

 

Rückgabewert

Wert

Beschreibung

““

keine Attributwert verfügbar.

"beliebig"

Die entsprechenden Attributwerte werden ausgegeben.

 

Beispiel

DBquery($numftxt FROM OPEN OBJECT)

Ausgabe:

"2"

DBquery($const.#P,$x,$y from open point /noq)

Ausgabe:

#P 3437515.669844 5381368.123192

DBquery($numSym,$sym.1.$pos.$x,$sym.1.$pos.$y,$sym.1.$angle FROM OPEN OBJECT     /NOQUOTE )

Ausgabe:

2 3463732.61 5585791.64 278.987

DBquery($num FROM SYMBOL)

Ausgabe:

"232"

"237"

"230"

s_sort(DBquery($num FROM SYMBOL))

Ausgabe:

"230"

"232"

"237"

DBquery($name from open object /noq)

Ausgabe:

VS_20kV_Kabel

DBquery(GID from open object /noq)

Ausgabe:

1-1-1-1-10

DBquery(KRK,GID,RNR from object)

Ausgabe:

"500" "1-1-1-1-2" "1"

"450" "1-1-1-4-15" "4"

"400" "1-1-1-2-2" "2"

DBquery($pointer from open object /noq)

Ausgabe:

PTR_25d33f4

DBquery($name from object QTX $name LIKE VS_* /noq)

Ausgabe:

VS_20kV_Kabel

VS_20kV_Freileitung

VS_20kV_Muffe_A

VS_20kV_Mast_E

VS_NSP_Kabel

VS_NSP_Muffe_HA_Abzw

VS_NSP_Muffe_E

VS_NSP_Muffe_HA_Abzw

VS_NSP_Muffe_HA_Abzw

DBquery($pointer from point QTX $link EQ 3 QTX $num GT 1 /noq)

Ausgabe:

PTR_25eb15c

PTR_25fbd84

PTR_25fbcac

PTR_25fbc1c

DBquery($pointer from all point)

Ausgabe:

""

(Der Rückgabewert ist zu lang und wird nicht im Kommandofenster ausgegeben)

 

Bemerkung

Unter Analyse | Attributabfrage generieren befindet sich ein Dialog, der beim Erstellen einer DBquery-Abfrage behilflich ist.

Wird der Rückgabewert zu lang, wird das Ergebnis nicht im Kommandofenster ausgegeben, kann aber trotzdem einer Variablen zugewiesen werden. (Siehe letztes Beispiel)

Siehe auch

Attr

Foreach

SQLquery