Microsoft Access - Erstellen einer nummerischen Reihenfolge basierend auf dem Feld-value-änderungen?
Zur Abfrage von Daten wie diese:
+-------+---------+
| Name | Details |
| JEFF | TEST1 |
| JEFF | TEST2 |
| JEFF | TEST3 |
| BOB | TEST1 |
| BOB | TEST2 |
+-------+---------+
Wie kann ich die Abfrage so, dass ein numerischer Reihenfolge (1,2,3...) Hinzugefügt werden können, dass ein Reset auf 1 jedes mal den Namen ändert (also von JEFF BOB)?
Ist es möglich, verwenden Sie die DCOUNT-Funktion?
Was ich habe, so weit ist (es spielt keine Sequenz korrekt):
Number: (SELECT COUNT(*) FROM [dQuery]
WHERE [dQuery].[Name] = [dQuery].[Name]
AND [dQuery].[sequence] >= [dQuery].[sequence])
UPDATE1:
Den richtigen Abfrage:
SELECT [dQuery].Name, [dQuery].[sequence], (select count([dQuery].Name) + 1
from [dQuery] as dupe where
dupe.[sequence]< [dQuery].[sequence] and dupe.name = [dQuery].name
) AS [Corrected Sequence]
FROM [dQuery]
WHERE ((([dQuery].Name)="jeff"))
ORDER BY [dQuery].Name, [dQuery].[sequence];
- Warum, glauben Sie, werden Sie brauchen, um dies zu tun?
- Es ist für einen benutzerdefinierten Bericht - die Sequenz zeigt die Schritt-für-Schritt-auftreten von einer Reihe von Aktivitäten und diese Reihenfolge ändert sich dynamisch, basierend auf der source-Daten.
- Ist die Sequenz, die Sie versuchen zu generieren, die aus anderen Daten abgeleitet? Wenn dem so ist, warum nicht verwenden die Daten, abgeleitet aus, um die Reihenfolge der Ergebnisse? Sollten diese Daten nicht überall gespeichert, dann vielleicht das Daten-Modell ist nicht so vollständig wie es sein sollte.
- die Daten von einem tool, dass ich keine Kontrolle habe. Und angesichts der Tatsache, wie die Daten strukturiert ist, erfordert das Echtzeit-Sequenz generation. Die Freuden von extrem-code angepasst!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick hier. Ich denke, der Autor hat das Problem bereits gelöst einige sehr ähnliche Probleme.
Wenn Sie wollen, fügen Sie die Seriennummer in Ihrem Bericht dynamisch als, erstellen einen Bericht für die Tabelle und öffnen Sie den Bericht in der Entwurfsansicht. Fügen Sie dann ein Textfeld auf der linken Seite von der die Daten Zeile und geben Sie "=1" ein (ohne Doppelpunkt) auf seine Eigenschaft Steuerelementinhalt @ "Data" - Registerkarte. Und ändern Sie "No" auf "Über Gruppe" seiner "running sum" - Eigenschaft @ "Data" - Registerkarte. Auf die Laufzeit dieses Textfeld zeigt die Daten in der Reihenfolge wie 1, 2, 3 in jeder Reihe.
Dank