endgegner
Goto Top

Abfrage in Access (Sortierung von Datensätzen)

Ich habe eine Accessdatenbank, in der es u.a. eine Firmenliste gibt.

Nun möchte ich diese Daten Sortieren:

Bsp.: Er soll mir alle Firmen anzeigen, die mit "a" beginnen.
d.h.: Wie "A*"
dazu kommt nun noch:
Oder " A*" (weil er: "Firma Administrator.de AG" z.B.: nicht nur unter F ausgeben soll)
Nun zeigt er mir dummerweise automatisch alle Aktiengesellschaften an.
D.h.: eine Firma, die z.B.: Berliner Busenfreunde AG heißt, würde er auch unter "a" anzeigen...

Das macht ja keinen Sinn.... Daher habe ich meine Abfrage nun so gestalltet:
Wie "A*" Oder Wie "* A*" Und Nicht Wie "*AG*"

Ich denke man erkennt mein Problem: Somit zeigt er automatisch alle Aktiengesellschaften nicht mehr an-d.h. eine Aachener Busenfreunde AG würde er nun auch nicht mehr unter "a" anzeigen...

Weiß jmd. wie ich die Abfrage gestallten könnte, in dem ich diese AG anzeigen kann? Also quasi so nach dem Motto: zeig die AG auch unter a an, aber nur, wenn ein anderes Wort in der Firmenbezeichnung auch mit "a" anfängt....

Hat jmd. eine Idee?

Ich möchte nämlich nicht alle Unternehmensformen aus der Liste rausstreichen und in ein Extrafeld schieben, da es sich um mehrere hundert Unternehmen handelt.... Das wäre ein unverhältnismäßiger Aufwand.....


gruß

Content-Key: 33006

Url: https://administrator.de/contentid/33006

Printed on: April 25, 2024 at 17:04 o'clock

Member: jato11
jato11 May 22, 2006 at 19:46:47 (UTC)
Goto Top
Mit *AG* ist nicht nur Deine Aktiengesellschaft weg,
sondern auch z.B. die Firma "Autowerke Langenhagen GmbH".

Ich würde in diesem Fall ein neues Feld für das Sortierkriterium (Sort) erstellen.
Da wird eingtragen unter welchem Buchstaben die Firma zu finden sein soll.
"Sort" kannst Du automatisch per Aktualisierungsabfrage mit dem Anfangsbuchstaben
von "Firmennamen" füllen.
Anschliessend müssen die Datensätze überarbeitet werden die noch nicht richtig
einsortiert sind, wie Firma....
Zusätzlich würde ich den Text Firma aus dem Feld Firmennamen rausnehmen und in ein
neues Feld Anrede, Titel o.ä schieben.

Sicher die DB vorher face-wink

Viele Grüße
Torsten
Member: Biber
Biber May 22, 2006 at 19:49:07 (UTC)
Goto Top
Moin Endgegner,
Angenommen, Deine Tabelle "Partner" würde die folgenden Firmen-"Namen" beinhalten:
SELECT Partner.Name
FROM Partner;

Name
---------
Adminworld
Micro$oft
Aldi Süd
Volksbanken Raiffeisenbanken
Besenfreunde Bochum AG
Erste Allgemeine Verunsicherung
Deutsche Bahn AG
AG Weser
Aachener Busenfreunde AG

Dann würdest Du Dein gewünschtes Ergebnis mit folgendem Statement hinbekommen:

Name
---------
Adminworld
Aldi Süd
Erste Allgemeine Verunsicherung
AG Weser
Aachener Busenfreunde AG

SELECT Name
FROM Partner
WHERE (
(Left(UCase(name),1))="A") OR ((InStr(UCase(name)," A")>0)   
AND 
(
(Instr(Name," AG") = 0) or  
( InStr(Name,"A") <=InStr( name,"AG")  AND (Right(name,3)<>" AG"))));  

Sieht unappetitlich aus (ist es auch) und vollzieht als verbal beschriebenen Algorithmus:

Zeige alle Felder "Namen" aus Tabelle "Partner
die (
als erstes Zeichen ein "A" (bzw. "a") ODER ein Vorkommnis von " A" im Namen haben
UND
( die kein " AG" enthalten ODER
( das "A" vor dem "AG" im Text vorkommt oder gleich ist UND die letzten drei Zeichen nicht =" AG" sind.
))))


Kurzgefasst: schöne Spiel-Übung für die Werbepausen im TV statt Sudoku oder Kreuzworträtseln, aber nicht als wartbare Abfrage für einen zuverlässigen Produktiveinsatz tauglich.

Meine Empfehlung:
Mach ein Tabellen-Review, mach aus dem einen Feld Firmenname zwei (oder drei).
In diesem Groß/Kleinschrift mit beliebigen Schreibweisen und Reihenfolgen kannst weder Du noch jemand anders etwas zuverlässig wiederfinden.

Lass dieses Feld drin und füge zwei weitere ein
(vorhanden) Name ---- Zeichen ----- alles erlaubt ------>zb "Besenfreunde Bochum AG"
(neu------) Matchcode Zeichen ------NUR GROSSBUCHSTABEN->zb "BESENFREUNDE BOCHUM"
(evtl neu ) Rechtsform- Werteliste _ zb. AG, GmbH, KG ,,,--> hier "AG"


Diese Matchcode/Kurzname-Funktionalität ist IMHO äußerst sinnvoll, BESONDERS weil Du schon Hunderte von Firmennamen ( evtl. Gläubigern?? face-wink ) in Deiner Tabelle stehen hast.

Hope That Helps
Biber