INXS 10 Geschrieben 25. Februar 2010 Melden Geschrieben 25. Februar 2010 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:
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden