Avatar billede kontorchefen Nybegynder
31. januar 2013 - 11:57 Der er 3 kommentarer

Tæller i en udvægelsesforespørgsel

Hvordan får jeg sat en tæller ind i en udvægelsesforespørgsel, således der i resultatet i post nr. 1 står 1, post nr. 2 står 2 o.s.v.
Avatar billede Slettet bruger
31. januar 2013 - 15:57 #1
Det er en af relationsdatabasens principper at poster er en mængde - dermed skal sortering angives explicit - vha. feltindhold. Ofte er det også tilfældet - nummerering er funktionalitet af værdien i ethvert, med tal sammenligneligt, unikt, felt.
udtrykket DCount("id","TestTable","id <= " & [id])) er herfra:
http://www.vb123.com/toolshed/07_access/countercolumn.htm

Det er nok den sikreste måde - men, fordi alle poster gennemløbes for hver eneste post, kan jeg ikke lade være med at vise princippet i (lazy initialization) caching - IKKE TESTET

Public numposObj As Collection

Function numpos(tableN,idFld$)
    If numposObj Is Nothing Then
        Set numposObj = New Collection
        With CurrentDb.OpenRecordset(tableN, dbOpenSnapshot): While Not .EOF
            numposObj.Add .AbsolutePosition, CStr(!id)
            .MoveNext: Wend: End With: End If
    numpos = numposObj(idFld) + 1
End Function


Og så skal huske at indkapsle i noget clearing: set numposOb=nothing - ellers læses der måske pludselig i en gammel cache
Avatar billede terry Ekspert
31. januar 2013 - 18:28 #2
example: which needs a field to sort on and unique

SELECT Emp1.LastName, Emp1.HireDate, (Select Count (*) from Employees Where [HireDate] < [Emp1].[HireDate])+1 AS Seniority
FROM Employees AS Emp1
ORDER BY Emp1.HireDate;
Avatar billede terry Ekspert
02. februar 2013 - 10:26 #3
question obviously isnt important
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester