Ein Kollege zeigte mir heute eine Auswahlabfrage unter Access 2003,
die sich ausgesprochen merkwürdig verhielt. Auf einer Tabelle
Foo
==========================
Lorem ipsum dolor sit amet
lieferte eine Abfrage analog zu
SELECT Foo AS A, Len(Foo) AS B, "" & Foo AS C FROM Bar;
folgendes seltsames Ergebnis:
A B C
==================================
## 26 Lorem ipsum dolor sit amet
Dabei steht # für ein chinesisches Zeichen. Die Spalten B und C habe
ich erst zur Fehleranalyse eingebaut; die Verkettung mit einem leeren
String hat das Symptom also offenbar beseitigt, die Ursache aber
natürlich nicht.
Die Datenbank liegt mir leider derzeit nicht vor. Ich möchte aber
trotzdem fragen, ob jemand so ein Verhalten schon einmal beobachtet
hat.
--
<http://schneegans.de/web/xhtml/> · Klare Antworten zu XHTML
Christoph Schneegans wrote:
Bei sowas kommt mir als erstes die Collation in den Sinn. Was ist denn fuer
die MDB eingestellt? Menue Tools - Options - Tab General - New database
sort order (unten rechts). Wenn nichts abweichendes verlangt ist, sollte da
General stehen.
Gruss - Peter
--
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
NEK1 Zusatztermin wg. hoher Nachfrage:
Sa/So 21./22.3.2009 http://www.donkarl.com/NEK
Christoph Schneegans wrote:
> Lorem ipsum dolor sit amet
> lieferte eine Abfrage analog zu
> SELECT Foo AS A, Len(Foo) AS B, "" & Foo AS C FROM Bar;
> folgendes seltsames Ergebnis:
> A B C
> ==================================
> ## 26 Lorem ipsum dolor sit amet
>
> Dabei steht # für ein chinesisches Zeichen. Die Spalten B und C habe
> ich erst zur Fehleranalyse eingebaut; die Verkettung mit einem leeren
> String hat das Symptom also offenbar beseitigt, die Ursache aber
> natürlich nicht.
Handelt es sich vielleicht bei dem Feld um ein Memo-Feld ?
Mich hat jetzt weniger Deine Beschreibung, denn Deine Lösung (Verkettung)
auf die mögliche Ursache (Memo) aufmerksam gemacht, denn mit der von Dir
beschrieben Methode habe ich auch einmal in Allen Brownes MemoBug-Demo
erfolgreich gespielt gehabt.
http://allenbrowne.com/bug-18.html
Gruss
Jens
> Bei sowas kommt mir als erstes die Collation in den Sinn. Was ist
> denn fuer die MDB eingestellt?
Wo sehe ich denn, welche Kollation für die _aktuelle_ Datenbank oder
ein Feld verwendet wird? Die "Sortierreihenfolge für neue DB" kann
ja nachträglich jederzeit geändert werden.
Christoph Schneegans wrote:
> Peter Doering schrieb:
>
>> Bei sowas kommt mir als erstes die Collation in den Sinn. Was ist
>> denn fuer die MDB eingestellt?
>
> Wo sehe ich denn, welche Kollation für die _aktuelle_ Datenbank oder
> ein Feld verwendet wird?
Im Direktfenster (Ctrl-G):
? CurrentDb.CollatingOrder
"General" waere 1033
Um sie fuer die aktuelle DB zu aendern, musst du nach der Aenderung hier
einen Compact/Repair ausfuehren.
> Handelt es sich vielleicht bei dem Feld um ein Memo-Feld ?
Ja.
> http://allenbrowne.com/bug-18.html
Paßt genau, besten Dank. Die "ErsterWert" statt "Gruppierung" tritt
der Fehler nicht mehr auf, und ohnehin war "Gruppierung" in dieser
Abfrage logisch verkehrt.
>> Wo sehe ich denn, welche Kollation für die _aktuelle_ Datenbank
>> oder ein Feld verwendet wird?
>
> ? CurrentDb.CollatingOrder
Argh, und ich habe im Objektkatalog nach "collate" und "collation"
gesucht.
> "General" waere 1033
Ist eingestellt. Das Problem wurde ja erkenntlich nicht durch eine
abweichende Kollation ausgelöst, aber ich finde das Thema trotzdem
sehr spannend. Besten Dank für deine Hinweise.
--
<http://schneegans.de/sv/> · Schema-Validator für XML
Es gibt übrigens auch einen KB-Artikel:
http://support.microsoft.com/kb/889490/en-us
Bei den diversen NG-Diskussionen fand ich bisher die Theorie
mit der chinesischen Industriespionage als eigentliche Ursache
am einleuchtendsten:
http://groups.google.com/group/microsoft.public.de.access/browse_frm/thread/d2b040630f792e32/3e083f8618f77a14
--
cu
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
1. .NET-Entwickler-Konferenz für Accessler: www.donkarl.com?nek
> http://support.microsoft.com/kb/889490/en-us
Wow, der Bug ist erst seit 10 Jahren bekannt...