Laden...

Sortierreihenfolge in Access einstellen

Erstellt von T-Man vor 14 Jahren Letzter Beitrag vor 14 Jahren 728 Views
T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 14 Jahren
Sortierreihenfolge in Access einstellen

verwendetes Datenbanksystem: Access und MSSQL

Moin allerseits,

ich habe das ss/ß Problem.
In einer Spalte, die Primary Key ist, will ich sowohl dass als auch daß eintragen können. Leider sehen Access und MSSQL die Worte als identisch an und es geht nicht. Habe schon viel gegoogelt und dabei immer wieder den Tipp gefunden, man solle die Sortierreihenfolge ändern. Z.B. auf LATIN1_GENERAL_BIN. Wie das geht habe ich nirgends gefunden.
Optimal wäre, wenn ich für eine Spalte per SQL Befehl diese Sortierreihenfolge ändern könnte.
Es wäre aber auch OK, wenn ich die Einstellung für die gesammte DB angeben müsste.

Kann mir da jemand weiterhelfen?

Ich brauche sowohl für ACCESS als auch für MSSQL eine Lösung.

Vielen Dank schon mal in vorraus!

Gruß
T-Man

M
24 Beiträge seit 2009
vor 14 Jahren

Hallo T-Man

verwendetes Datenbanksystem: Access und MSSQL
Habe schon viel gegoogelt und dabei immer wieder den Tipp gefunden, man solle die Sortierreihenfolge ändern. Z.B. auf LATIN1_GENERAL_BIN. Wie das geht habe ich nirgends gefunden.

In SQL Server Studio Express kannst du die Sotierreihenfolge Spaltenweise festlegen:
Tabelle -> Ändern -> Spaltenname auswählen
In den Spalteneigenschaften die Sortierreihenfolge (steht meist <Datenbankstandard>) festlegen.
Funktioniert meines Wissens aber nicht bei Primary Keys, die sind wohl immer auf Datenbankstandard gestellt.

Gruß marc_bee

J
3.331 Beiträge seit 2006
vor 14 Jahren

Hallo,

diese Situation deutet auf schlechtes Datenbank-Design hin. Eine Spalte, die den PK darstellt, sollte in aller Regel keine andere Bedeutung haben. Dem widerspricht es, wenn die Art der Reihenfolge eine Rolle spielt.

Grundsätzlich kann mit **COLLATE **die Sortierung auch bei jeder Abfrage eingestellt werden, z.B.:

ORDER BY <Spalte> COLLATE <Collation-Name>

Ob Access das unterstützt und ggf. mit welchen Begriffen, musst du selbst recherchieren. (Die MSDN streikt im Moment.)

Gruß Jürgen

T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 14 Jahren

Das Datenbankdesign ist in der tat nicht das beste, aber ich kann es jetzt nicht mal eben ändern.

Es geht hier um Schlagworte, die ich in einer Tabelle speichere. Jedes sollte natürlich nur einmal vorkommen, daher der PK. Nun kann ich aber nicht mehr 'dass' eintragen, wenn schon 'daß' drin steht. Eben so nicht 'Masse', wenn schon 'Maße' drin steht, was viel schlimmer ist, da es sich hier um verschiedene Worte handelt.

Es geht nicht um Sortierung bei einem Select, sondern um das Speichern ansich (INSERT). Das funktioniert schon nicht...

Desshalb muss ich der Spalte eine andere Sortierregel geben. Und das muss ich programmatisch (z.B. per SQL) machen können, da ich nicht zu jedem Kunden rennen kann um in seiner DB die Spalte zu bearbeiten.
Und ich möchte es den Kunden auch nicht zumuten das selbst machen zu müssen.

Da meine Applikation sowohl MSSQL als auch ACCESS unterstützt benötige ich für beide DBs eine Lösung. Meine App erstellt die Tabellen und Spalten selbst. Sie sollte auch solche Regeln einstellen können...

Noch jemand eine Idee?

Danke!
T-Man

T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 14 Jahren

Eine Möglichkeit ist natürlich, eine weitere Spalte mit der Länge oder dem Hashcode des Wortes einzufügen und diese dann mit in den PK aufzunehmen. Bei einer schon bestehenden Tabelle ist diese Änderung allerdings nicht so trivial. Und außerdem gefällt es mir nicht eine weitere Spalte einzubauen, die ich eigentlich gar nicht benötige, nur weil ACCESS und MSSQL scheinbar nicht in der Lage sind dass von daß zu unterscheiden.

T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 14 Jahren

Hatte tatsächlich noch niemand dieses Problem?
Muss ich es wirklich selber lösen?

Wenn ich mal Zeit dafür habe, werde ich es wohl tun müssen. Dann stelle ich hier die Lösung ein...

Gruß
T-Man