Thomas: SQL abfrage in ASP

Hallo!

Ich habe folgendes Problem:

Ich will folgende Abfrage in ASP machen:
Col.Open "Select * From dbo.Order Details", nameconn, adOpenStatic

Das Problem dabei ist, das er mir immer wieder meldet, das ORDER ein Schlüsselwort ist und deswegen eine andere Syntax erwartet, auch mit eckigen Klammern('[]') gehts nicht!

Vielleicht kann mir jemand helfen

MfG

  1. Hallo Thomas,

    Das Problem dabei ist, das er mir immer wieder meldet, das ORDER ein Schlüsselwort ist und deswegen eine andere Syntax erwartet, auch mit eckigen Klammern('[]') gehts nicht!

    Vielleicht kann mir jemand helfen

    Warum hilfst Du Dir denn nicht selbst und änderst den Namen Order in der entsprechenden Tabelle auf z.B. dbOrder, oder myOrder, oder idOrder, oder ....?

    Eine andere Möglichkeit hast Du nicht.

    Viele Grüße aus Köln
    Markus

    1. Hallo Thomas,

      Das Problem dabei ist, das er mir immer wieder meldet, das ORDER ein Schlüsselwort ist und deswegen eine andere Syntax erwartet, auch mit eckigen Klammern('[]') gehts nicht!

      Vielleicht kann mir jemand helfen

      Warum hilfst Du Dir denn nicht selbst und änderst den Namen Order in der entsprechenden Tabelle auf z.B. dbOrder, oder myOrder, oder idOrder, oder ....?

      Eine andere Möglichkeit hast Du nicht.

      Viele Grüße aus Köln
      Markus

      Das problem ist das liegt alles auf einem Serer in einer Firma und da komm ich nicht dran, aber trotzdem vielen Dank

      MfG aus Trippstadt

      TS

      1. Hallo Thomas,

        Sorry, ich hab mir gerade nochmals die SQL Syntax angeschaut. Da ist IMO etwas grundlegendes falsch.

        Abgesehen davon das ein * in einer Abfrage eher unperformant ist, sieht in der Theorie eine Select-Anweisung wie folgt aus:

        Select Tabelle(Name).* FROM Tabelle(Name);

        Select * From dbo.Order Details"

        Das würde bedeuten, daß Deine Tabelle dbo.Order Details heißt. Zumindest Access läßt solche Konstrukte überhaupt nicht zu. Ich könnte mir vorstellen, daß Deine Tabelle dbo heißt, mit einem Datenfeld Order (Details). Wenn dem so ist, sollte die richtige SQL-Syntax wie folgt lauten:

        SELECT dbo.*, dbo.[Order Details] FROM dbo;

        oder besser:

        SELECT dbo.[Order Details] FROM dbo;

        Viele Grüße aus Köln
        Markus

        1. Hallo Thomas,

          Sorry, ich hab mir gerade nochmals die SQL Syntax angeschaut. Da ist IMO etwas grundlegendes falsch.

          Abgesehen davon das ein * in einer Abfrage eher unperformant ist, sieht in der Theorie eine Select-Anweisung wie folgt aus:

          Select Tabelle(Name).* FROM Tabelle(Name);

          Select * From dbo.Order Details"

          Das würde bedeuten, daß Deine Tabelle dbo.Order Details heißt. Zumindest Access läßt solche Konstrukte überhaupt nicht zu. Ich könnte mir vorstellen, daß Deine Tabelle dbo heißt, mit einem Datenfeld Order (Details). Wenn dem so ist, sollte die richtige SQL-Syntax wie folgt lauten:

          SELECT dbo.*, dbo.[Order Details] FROM dbo;

          oder besser:

          SELECT dbo.[Order Details] FROM dbo;

          Viele Grüße aus Köln
          Markus

          Wenn es nur so einfach wär. Aber jede Tabelle in dieser Datenbank fängt mit dbo an dann kommt ein'.' und dann der eigentliche Name, is halt so, wenns anders wär hätte dieser Müll auch schon längst geklappt. und mir Access, da hast du recht, man kann keine Tabelle so umbenennen das ein punkt drin vorkommt, allerdings wenn schon einer drin ist, dann ersetzt Access diesen in einem Aufruf einfach in einen '_' so einfach machen die das, funktioniert aber in ASP auch nicht hab ich alles schon probiert.
          Dann muss ich es wohl irgendwie schaffen die tabellen umzubenennen, trotzdem nochmal vielen Dank!

          MfG
          Thomas

          1. Hallo Thomas,

            allerdings wenn schon einer drin ist, dann ersetzt Access diesen in einem Aufruf einfach in einen '_' so einfach machen die das, funktioniert aber in ASP auch nicht hab ich alles schon probiert.

            Irgendwie versteh ich das ehrlich gesagt nicht, da Access seit 2.0 über die Buggyversion A95 bis zu A2000 grundsätzlich keinen Punkt in Objektnamen akzeptiert.

            <Auszug Hilfe>
            ..können beliebige Kombinationen von Buchstaben, Zahlen, Leerzeichen und Sonderzeichen einschließen, mit Ausnahme von einem Punkt (.), Ausrufezeichen (!), Accent grave (`), und eckigen Klammern ([ ]).
            </Auszug Hilfe>

            Oder ist das garkeine AccessDB?

            Für zukünftige Entwicklungen und Benamsungen hier ein kleiner Tipp:
            http://www.xoc.net/standards/

            Gruß
            Markus

            1. Hallo Thomas,

              allerdings wenn schon einer drin ist, dann ersetzt Access diesen in einem Aufruf einfach in einen '_' so einfach machen die das, funktioniert aber in ASP auch nicht hab ich alles schon probiert.

              Irgendwie versteh ich das ehrlich gesagt nicht, da Access seit 2.0 über die Buggyversion A95 bis zu A2000 grundsätzlich keinen Punkt in Objektnamen akzeptiert.

              <Auszug Hilfe>
              ..können beliebige Kombinationen von Buchstaben, Zahlen, Leerzeichen und Sonderzeichen einschließen, mit Ausnahme von einem Punkt (.), Ausrufezeichen (!), Accent grave (`), und eckigen Klammern ([ ]).
              </Auszug Hilfe>

              Oder ist das garkeine AccessDB?

              Für zukünftige Entwicklungen und Benamsungen hier ein kleiner Tipp:
              http://www.xoc.net/standards/

              Gruß
              Markus

              Also die Datei wurde auf einem Server erstellt und ist eine SQL Datenbank, man soll auch nur auf den Server zugreifen und dann etwas aus der Datenbank auslesen, hat mit Access eigentlich reichlich wenig zu tun, aber zur Kontrolle braucht man das halt. Und das in der hilfe hab ich auch gesehen, ist mir schon klar das man von Access keine Tabelle so nennen kann, deswegen ist das ja ein problem, ich kann auch nicht einfach so auf den Server zugreifen und die Tabellen umbenennen, is nicht so einfach!