SQL-Abfrage mit Nummierung

  • VB6

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mike.

    SQL-Abfrage mit Nummierung

    Hallo zusammen,

    ich bastel im Moment mit VB6 an einer Datenbank rum (Access, DAO), und habe da ein Problem mit ner SQL-Abfrage.
    Bei der SQL-Abfrage wird eine Rangliste erstellt und ich möchte daher eine fortlaufende Nummer erzeugen. Bin nach langem suchen auf folgende Lösung gestoßen:


    Lösung:
    Angenommen, Sie haben eine Tabelle "tbl_Artikel" mit einem Zählerfeld (Autowert) "ID" und einem Textfeld "Bezeichnung". Der SQL-Text für das Feld mit der laufenden Nummer in einer Abfrage könnte lauten:

    Nummer: (Select Count (*) FROM [tbl_Artikel] as X WHERE [X].[ID] < [tbl_Artikel].[ID])+1

    Bekomme das aber irgenwie nicht hin und bekomme ständig den Fehler "Unzulässige Option"

    Meine Abfrage ist einiges umfangreicher, und habe daher zum probieren erstmal ne ganz einfache erstellt:

    SQL = "update charts set index = (Select Count (*) FROM [charts] as Temp WHERE [Temp].[index] < [charts].[index])+1;"


    Kann mir jemand sagen, was ich da falsch mache ?

    Grüße Joshua
    Hallo Joshua,

    probiers mal so mit Deiner Abfrage:

    select (Select Count (*) FROM tbl_Artikel as X WHERE X.ID < tbl_Artikel.ID) as Rank, tbl_Artikel.* from tbl_Artikel

    Das funktioniert zumindest auf dem MS SQL Server.
    Ob Access das abkann bin ich mir nicht so sicher.

    Hoffe Dir geholfen zu haben.

    mfg

    Mike