Hallo!
Gibt es eigentlich die möglichkeit in einer Abfrage ein Feld zu generieren das die Datensätze anzeigt?
mfg
peter
Hallo,
hilft dir das? (http://support.microsoft.com/kb/510041/de)
Grüße
Christian
Hallo Peter,
du hast 2 Möglichkeiten:
1. ein Feld in einer Abfrage mit einer Unterabfrage:
Nummer: (Select Count (*) FROM [DeineTabelle] as Temp WHERE [Temp].[DeineID] < [DeineTabelle].[DeineID])+1
2. ein Feld in einer Abfrage mit einer Domänenfunktion:
Nummer: DomAnzahl("DeineID";"DeineTabelle";"DeineID< " & [DeineID])+1
Gruß Oma
Haalo!
Das ist die Lösung!
Besten Dank und viele Grüsse aus Wien
Peter
Hallo Leute,
existiert eine Möglichkeit in einer Abfrage einen solchen Autozähler ohne Kriterium einzubauen? Denn mein Problem ist, dass die zu zählenden Datenzeilen nach bestimmten Kriterien sortiert werden und dann die so sortierten Zeilen gezählt werden sollen. Daher kann ich nicht die ID als Kriterium benutzen. Da er sonst immer die kleinste ID als Nr. 1; die Zweitkleinste als Nr. 2 etc. setzt. Ein anderes Kriterium kann ich auch nicht benutzen, da bei den anderen Spalten identische Werte vorkommen können. Beipielhaft meine ich es so:
ID Zähler
1 1
4 2
5 3
3 4
2 5
Gruß
cyorps
Hallo,
ist nicht so leicht zu lösen wie es im ursprünglichen Beitrag geschehen ist, da du durch die Umsortierung auch die Nummernvergabe änderst.
Ich würde dir daher dazu raten die Nummernvergabe mittels einer neuen Tabelle zu realisieren, die einen neuen ID Wert generiert (Autowert)
Die Datensätze aus deiner Originaltabelle schreibst du mittels Anfügeabfrage in die neue Tabelle, wobei der neue ID-Wert von 1 an aufsteigend vergeben wird.
Alles nur ein Vorschlag, da ich ja nicht genau weiß was mit den Daten zu geschehen hat.
Die Tabelle kannst du ja theoretisch wieder löschen, wenn du sie nicht mehr benötigst.
Das Anlegen der Tabelle kannst du per VBA und SQL automatisieren, solltest du das Ding öfter benötigen.
HTH
Peter
Hallo Peter,
ja, genauso habe ich es im Moment. Im Moment sieht es so aus: Daten Temp-Tabelle löschen -> Autowert zurücksetzen -> Datensatz von Anfrage mit Sortierung einfügen. Das ganze sieht dann so aus:
Function loesche_tab()
DoCmd.SetWarnings False
DoCmd.OpenQuery "test_kind", acNormal, acEdit
'FnSetzeAutowertZurueck "[NameAutowertspalte]", "[Tabelle]"
FnSetzeAutowertZurueck "[id]", "[count_kind]"
DoCmd.OpenQuery "test_kind2", acNormal, acEdit
End Function
Doch da diese Funktion bei fast jeder DB-Operation ausgeführt wird, hatte ich gehofft, ich kann es weniger umständlich lösen. Denn die tmp-Tabelle bringt mir noch die Schwierigkeit, dass ich immer das UF, auf dem diese tmp-Tabelle basiert entladen und laden muss, damit das überhaupt funktioniert. Aber jetzt wird's offtopic.
Insofern danke ich erstmal für deine Antwort.
Gruß
cyorps