Jump to content

Sql Select bringt Fehler


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

ich habe etwas vba in Excel eingebettet und führe Selects auf eine SQL Server 2005 Datenbank aus.

Dies funktioniert sehr gut.

Nun habe ich eine rekursive Abfrage benötigt und bin im Internet auf die Lösung gestoßen.

Der Select sieht so aus:

 

WITH StructReports ( STRUKTURELEMENT_ID, VATER_STRUKTURELEMENT_ID, NAME , Level, path)

AS

(

-- Anchor member definition

SELECT

STRUKTURELEMENT_ID,

VATER_STRUKTURELEMENT_ID,

NAME ,

0 AS Level,

se.NAME as path

FROM dbo.Strukturelement as se

WHERE VATER_STRUKTURELEMENT_ID is null

UNION ALL

-- Recursive member definition

SELECT

se.STRUKTURELEMENT_ID,

se.VATER_STRUKTURELEMENT_ID,

se.NAME ,

Level +1,

sv.path + @trenner + se.Name as path

FROM dbo.Strukturelement as se

inner join StructReports as sv

on se.VATER_STRUKTURELEMENT_ID = sv.STRUKTURELEMENT_ID

)

Select * from StructReports r

order by path

 

Im Sql Management Studio liefert die Abfrage auch ein Ergebnis.

Nur in VBA erhalte ich die Fehlermeldung "Falsche Syntax in der Nähe des 'WITH'-Schlüsselwortes."

Ich lege das Statement in die Variable sSelect und führe diesen Befehl aus:

rs.Open sSelect, hSql, adOpenForwardOnly, adLockReadOnly

 

Muss ich bei der Verwendung von WITH etwas anders machen?:confused:

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...