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

Liste der Pseudoattribute