5k Aufrufe
Gefragt in Datenbanken von
Hallo!
Ich habe ein Problem mit meiner Access Datenbank an der ich zurzeit arbeite. Ich habe historische Jahreszahlen in ein Feld eingegeben, welches ich vorher als Text definiert habe, weil ich sowohl Zahlen als auch Text verwendet habe um die Jahre vor bzw. nach Christus zu verdeutlichen. Ich möchte jetzt gerne die ganze Tabelle chronologisch ordnen (Bsp. von 280 BC bis 272 AD, wobei BC für "vor Christus" stehen soll und AD für "nach Christus"). Jetzt stehe ich nur vor dem Problem, dass ich keine Ahnung habe wie sowas geht. Ich bräuchte eine geeignete Sortierformel für die Filterfunktion, oder ein VBA Macro damit mir dies gelingt. Da ich aber nicht sehr viel davon verstehe, hoffe ich, dass mir hier jemand helfen kann.

Danke

18 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
Nochmal zur Erklärung: Ich habe "before Christ" durch eine Zahl mit vorangestelltem Minuszeichen ersetzt und "Anno Domini" durch eine positive Zahl. Lies Dir mal die Val- Funktion durch, dann siehst Du, dass Du jetzt mit den Zahlen sogar rechnen könntest.

Allerdings musst Du eine 0 eintragen, wenn nicht überall eine Zahl jetzt drinsteht, sonst kriegst Du eine Fehlermeldung beim Sortieren, weil Access das dann wieder als Text ansehen würde. Der Einfachheit halber habe ich jetzt nur die Datensätze anzeigen lassen, wo year nicht leer ist. Sollte Dir das nicht reichen, und Du es nicht alleine hinkriegen, dann sag es, dann hängen wir die Null noch rein in Datensätze ohne Zahlenwert in Year.
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Du kannst doch jetzt damit machen was Du willst, Du musst nur die eine Spalte so lassen, die wird doch gar nicht angezeigt. Wenn Du es korrekt so geschrieben hast wie ich gesagt habe, bekommst Du exakt deine Spalte year mitsamt den Buchstaben angezeigt. Die Sortierspalte ist ausgeblendet. Und Du kannst jetzt beliebig Viele Spalten bzw alle hinzufügen. oder auch absteigend sortieren.

Sag halt genau was Du willst. Oder kopier mal das rein, dann merkst Du es, dann werden alle Spalten angezeigt:

SELECT deinetabelle.*
FROM deinetabelle
WHERE (((deinetabelle.year) Is Not Null))
ORDER BY IIf(Right$([year],2)="BC",-Val([year]),Val([year]));


Gruß marie
0 Punkte
Beantwortet von
Nein, den Befehl verstehe ich schon, ich frage mich nur ob man diesen auch auf die Haupttabelle anwenden kann, da ich mit deiner Methoda ja "nur" eine Nebentabelle (query) erstelle in der die Daten geordnet sind.
Die zeitiche Ordnung ist dür die Haupttabelle deshalb so wichtig, weil ich diese für das fertige Ausfüllen der Tabelle mit dem Lookup Wizard (mehrfachauswahl aus einer Tollbox) brauche.

LG
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Ich hatte Dir doch in Antwort 7 schon geschrieben, dass Du dann in der Entwurfsansicht alle Spalten deiner Tabelle nach Belieben hinzufügen kannst wie Du willst. Da kannst Du dann die Reihenfolge der Anzeige wählen und noch weitere Spalten sortieren, das musst Du doch auch lernen :-)))

Einfach den Spaltennamen in der Entwurfsansicht doppelt anklicken.

Wenn Du das Sternchen machst werden einfach nur sämtliche Spalten angezeigt. Wenn Dir das genügt, weil 333 nur Issos Keilerei war und sonst nichts, dann kannst Du das Sternchen lassen. :-))

Liebe grüße Marie
0 Punkte
Beantwortet von
Hey!
Alles klar! Hab's gebacken gekriegt!

Danke nochmal für die Hilfe! Echt super nett von dir!

LG, Main
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Hey, du erstellst doch keine neue Tabelle, sondern eine Abfrage, die Du wann auch immer benutzen kannst. Sortieren tut man mit Abfragen.
0 Punkte
Beantwortet von
Alles klar, ich glaub jetzt raff ich's!

Danke
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Okay, dann schlaf gut. :-))
...