nach Umstellung auf CDX Problem beim SUCHEN!
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
nach Umstellung auf CDX Problem beim SUCHEN!
Hi @ALL
nach Umstellung von DBEDBF auf DBEFOX und NTX auf CDX und ANSI
ist jetzt folgende Problem aufgetreten ...
Name: Härtel
wenn ich danach suchen lasse "Härtel" obwohl mehrer angelegt sind -> findet er in der Suchfunktion keinen einzigen !!!
gebe ich "Hä" findet er alle die mit "Hä" anfangen und alle "Härtel"
WARUM - liegt das bei CDX am Umlaut ä oder woher kommt nach der Umstellung jetz auf einmal das Problem ?
Mfg. Klaus
nach Umstellung von DBEDBF auf DBEFOX und NTX auf CDX und ANSI
ist jetzt folgende Problem aufgetreten ...
Name: Härtel
wenn ich danach suchen lasse "Härtel" obwohl mehrer angelegt sind -> findet er in der Suchfunktion keinen einzigen !!!
gebe ich "Hä" findet er alle die mit "Hä" anfangen und alle "Härtel"
WARUM - liegt das bei CDX am Umlaut ä oder woher kommt nach der Umstellung jetz auf einmal das Problem ?
Mfg. Klaus
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2832
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 98 Mal
- Danksagung erhalten: 13 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Hallo, Klaus -
da gibt es einige Stellschrauben, die zu solchen Problemen führen können. Mir fallen da folgende ein:
da gibt es einige Stellschrauben, die zu solchen Problemen führen können. Mir fallen da folgende ein:
- SET CHARSET/SET COLLATION: die CDX-Dateien sollten mit der gleichen Einstellung erstellt und genutzt werden;
- Datenherkunft: wenn die Daten als OEM in die Dateien geschrieben wurden, hast Du sie bei der Umstellung von OEM nach ANSI konvertiert?
- die Suche mit "Hä" - aus dem Programmquelltext (Compiler-Schalter /ga?) oder aus einer Eingabe?
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Xbase++ erkennt intern, ob ein dbf in ANSI oder ASCII erstellt wurde. Und konvertiert intern entsprechend um.
Wenn Dein Programm ein "Hä" findet, ein "Härtel" aber nicht, dann kann das ja kein Umlaut-Problem sein.
Jan
Wenn Dein Programm ein "Hä" findet, ein "Härtel" aber nicht, dann kann das ja kein Umlaut-Problem sein.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Ich indiziere seit Clippertagen mit KeinUmlaut(Name) ...
Härtel, Haertel, HÄRTEL etc. alle will ich als Treffer haben und das geht nur wenn man die Umlaute ausschaltet.
CDX hat auch eine Umlautunabhängige Suche, wobei das genaue Verhalten ab und an zu diskussionen führt...
hier wäre es besser den Zeichensatz (ANSI / OEM) abzufragen und mit chr(x) zu tauschen.
Härtel, Haertel, HÄRTEL etc. alle will ich als Treffer haben und das geht nur wenn man die Umlaute ausschaltet.
CDX hat auch eine Umlautunabhängige Suche, wobei das genaue Verhalten ab und an zu diskussionen führt...
Code: Alles auswählen
*---------------------------------------------------------------------------
function keinumlaut (txt) // keine deutschen Umlaute in INDEX
local TextLen
TextLen := len( Txt ) // Bei Indexen sind keine kürzeren
// Rückgabewerte erlaubt !
txt:=upper(txt)
txt:=STRTRAN(txt,"Ä","AE") // A C H T U N G !!!
txt:=STRTRAN(txt,"Ö","OE")
txt:=STRTRAN(txt,"Ü","UE") // OEM <-> ANSI könnte Probleme geben.
txt:=STRTRAN(txt,"ß","SS")
txt:= left( txt , TextLen ) // Schlüssellänge auf
// alten Wert setzen
return txt
Code: Alles auswählen
*--------------------------------------------------------------------------------
function IsOEM()
return ( set(_SET_CHARSET) = 1 )
*--------------------------------------------------------------------------------
function IsAnsi()
return ( set(_SET_CHARSET) = 0 )
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Stimmt es ist kein Umlaute ProblemJan hat geschrieben:Xbase++ erkennt intern, ob ein dbf in ANSI oder ASCII erstellt wurde. Und konvertiert intern entsprechend um.
Wenn Dein Programm ein "Hä" findet, ein "Härtel" aber nicht, dann kann das ja kein Umlaut-Problem sein.
Jan
weil z.B. "Böhm" habe ich auch mehrere und die findet er auch direkt alle !
ABER "Härtel" nicht -> es muß aber ein INDEX CDX Problem sein , da ich einen INDEX Kundname habe und er mit SEEK darüber sucht !
und bei Eingabe von "Härtel" findet er NICHTS ... habe den INDEX auch gelöscht und neu erstellt KEINE Änderung ... BIN SPRACHLOS
Mfg Klaus
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Ich habe die Datenbank in VDBU geladen
alle Umlaute sind in ANSI !
habe dazu den Index Kundname geladen
Alle "Härtel" werden auch in der Tabelle mit dem Index nacheinander richtig angezeigt - jetzt verstehe ich gar nix mehr
dann muß er sie doch bei SEEK finden ?
kann der TRIM Befehl stören ?
alle Umlaute sind in ANSI !
habe dazu den Index Kundname geladen
Alle "Härtel" werden auch in der Tabelle mit dem Index nacheinander richtig angezeigt - jetzt verstehe ich gar nix mehr
dann muß er sie doch bei SEEK finden ?
Code: Alles auswählen
set index to kundname
seek trim(sname)
if eof()
@21,2 say "Kein Datensatz mit "+sname
wait("Weiter mit Taste")
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Klaus,
Du hast Dir die Anwort schon gegeben. Mach NIEMALS ein Trim/RTrim/LTrim/AllTrim auf den Suchbegriff! Das muß scheppern.
Jan
Du hast Dir die Anwort schon gegeben. Mach NIEMALS ein Trim/RTrim/LTrim/AllTrim auf den Suchbegriff! Das muß scheppern.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Der Suchbegriff kann getrimmt werden wie er will, nur beim Indizieren darf man die Länge nicht ändern !
Ich nutze normal alltrim()
In der Datenbank müssen die Namen natürlich linksbündig stehen, führende Blanks ... kann man aber ausschließen, sonst würde "Hä" auch nix finden.
Ich nutze normal alltrim()
In der Datenbank müssen die Namen natürlich linksbündig stehen, führende Blanks ... kann man aber ausschließen, sonst würde "Hä" auch nix finden.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Beim Suchen dürfte das doch egal sein. Er findet ja ein "Hä". (Da ich es aber generell nicht mache (glaube ich) vermute ich das mal.) Beim Index selbst darf man das nicht, das ist klar.
Verflixt, Hubert war schneller. Hoffentlich nicht auch einsamer
Verflixt, Hubert war schneller. Hoffentlich nicht auch einsamer
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
Re: nach Umstellung auf CDX Problem beim SUCHEN!
sname:= space(30)Jan hat geschrieben:Klaus,
Du hast Dir die Anwort schon gegeben. Mach NIEMALS ein Trim/RTrim/LTrim/AllTrim auf den Suchbegriff! Das muß scheppern.
Jan
sname ist das was ich eingebe zu vergleichen ... verwende ich hier kein TRIM findet er garnichts ...
das ist nicht der INDEX
bei "H" findet er was
bei "Hä" findet er was
bei "Här" findet er schon nichts mehr
gebe ich z.B.
Suchwort "Böhm"
"B" "Bö" "Böh" "Böhm" findet er immer was !!!
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
mach doch mal einen Softseek und schaue mal wo er landet. Dann versuche es mal statt mit EOF() mit Found() nur mal so zur Probe. Ich habe schon die dollsten Sachen erlebt. Oder geh mal zu der Stelle im Debugger und tippe den Seek in der Console ein um zu schauen, was er dann macht. Nur mal so um evtl. andere blödsinnige Fehler zu finden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Jungs,
natürlich habt Ihr Recht - Trim auf den Suchbegriff ist natürlich in Ordnung. Nur bei der Indexerstellung gilt das, was ich geschrieben hatte.
Jan
natürlich habt Ihr Recht - Trim auf den Suchbegriff ist natürlich in Ordnung. Nur bei der Indexerstellung gilt das, was ich geschrieben hatte.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
Re: nach Umstellung auf CDX Problem beim SUCHEN!
OK ... setze ich am Anfang SET SOFTSEEK ONManfred hat geschrieben:mach doch mal einen Softseek und schaue mal wo er landet. ...
Suchwort: "Härtel"
Dann findet er "Haertel" und alle "Härtel"
also muß ich SOFTSEEK auf ON setzen !
Wenn ich SOFTSEEK auf ON setze findet er auch alle "Härtel" überall auf anhieb ...
Mfg Klaus
-
- Rekursionen-Architekt
- Beiträge: 246
- Registriert: Mi, 04. Jun 2014 12:01
- Wohnort: FRANKEN
Re: nach Umstellung auf CDX Problem beim SUCHEN!
kann mir dann BITTE auch jemand erklären warum das so ist ! Damit ich nicht dumm sterbe
Anscheinend war auf jeden Fall das Problem das es auch noch einen "Haertel" gab !
Anscheinend war auf jeden Fall das Problem das es auch noch einen "Haertel" gab !
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Simple Frage: Schon ein Reindex ausgeführt?
Softseek ist gefährlich, weil es den Datensatzzeiger dort positioniert, wo der "nächsthöhere" Indexeintrag gemäß Suchbegriff zu finden ist. Wenn der Index beispielsweise mit DtoS() auf ein Datumsfeld erzeugt wurde und man sucht nach dem 01.01.2017, "findet" DbSeek() den 02.01.2017, wenn Softseek aktiv ist. Ohne Softseek würden Found() auf .F. und Eof() auf .T. gehen. Ist also kein "Härtel" in der Tabelle, dafür aber ein "Meier", wobei es dazwischen keine Einträge gibt, findet Deine Suche eben "Meier", obwohl Du nach "Härtel" gesucht hast.
Da "Böhm" ordnungsgemäß gefunden wird, gibt es neben Indexfehlern auch die Möglichkeit, dass Du beispielsweise irgendwie nur die ersten 4 Buchstaben verwendest. Oder vergleichbare Fehler machst. Hol Dir doch an den entsprechenden Programmstellen mal Informationen wie "IndexKey()" und "&(IndexKey())" sowie den Suchbegriff. Positioniere direkt auf "Härtel" und lass Dir das dort auch anzeigen. Das ist kein Fehler der DBE, sondern mit Sicherheit Deiner.
Und Softseek nur verwenden, wenn Du dieses spezielle Verhalten auch wirklich brauchst. Das Beispiel mit dem Datum ist so falsch nicht - will man beispielsweise wissen, ob irgendein Mitarbeiter gemäß Tabelle im aktuellen Monat einen Urlaubsbeginn hat, sucht man schlicht mit aktivem Softseek nach dem ersten des Monats. Anschließend muss man natürlich prüfen, ob das möglicherweise falsche Ergebnis auch im fraglichen Monat liegt. Bei konkreter Suche ist Softseek gefährlich.
Softseek ist gefährlich, weil es den Datensatzzeiger dort positioniert, wo der "nächsthöhere" Indexeintrag gemäß Suchbegriff zu finden ist. Wenn der Index beispielsweise mit DtoS() auf ein Datumsfeld erzeugt wurde und man sucht nach dem 01.01.2017, "findet" DbSeek() den 02.01.2017, wenn Softseek aktiv ist. Ohne Softseek würden Found() auf .F. und Eof() auf .T. gehen. Ist also kein "Härtel" in der Tabelle, dafür aber ein "Meier", wobei es dazwischen keine Einträge gibt, findet Deine Suche eben "Meier", obwohl Du nach "Härtel" gesucht hast.
Da "Böhm" ordnungsgemäß gefunden wird, gibt es neben Indexfehlern auch die Möglichkeit, dass Du beispielsweise irgendwie nur die ersten 4 Buchstaben verwendest. Oder vergleichbare Fehler machst. Hol Dir doch an den entsprechenden Programmstellen mal Informationen wie "IndexKey()" und "&(IndexKey())" sowie den Suchbegriff. Positioniere direkt auf "Härtel" und lass Dir das dort auch anzeigen. Das ist kein Fehler der DBE, sondern mit Sicherheit Deiner.
Und Softseek nur verwenden, wenn Du dieses spezielle Verhalten auch wirklich brauchst. Das Beispiel mit dem Datum ist so falsch nicht - will man beispielsweise wissen, ob irgendein Mitarbeiter gemäß Tabelle im aktuellen Monat einen Urlaubsbeginn hat, sucht man schlicht mit aktivem Softseek nach dem ersten des Monats. Anschließend muss man natürlich prüfen, ob das möglicherweise falsche Ergebnis auch im fraglichen Monat liegt. Bei konkreter Suche ist Softseek gefährlich.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
der Softseek war auch nur um den/einen Fehler mal einzugrenzen. Das sollte nicht auf Dauer so bleiben. Es könnte an dem EOF() liegen, deshalb ja auch mein Vorschlag mal Found() und im Debugger zu schauen wo er denn landet bei EOF(). Ich habe im Debugger schon des öfteren erlebt, dass ein ! Found() z.B. zurückkam, obwohl der Satz gefunden wurde.
Wenn es aber mit Softseek gefunden wird, scheint das EOF() falsch zu sein.
Wobei ich aber auch wieder darauf hinweisen will, alles ohne Aliasangabe. Wer weiß, was Klaus da so abfragt.....
Wenn es aber mit Softseek gefunden wird, scheint das EOF() falsch zu sein.
Wobei ich aber auch wieder darauf hinweisen will, alles ohne Aliasangabe. Wer weiß, was Klaus da so abfragt.....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Meine Test ergeben auch ein Problem mit den Suchbegriffen (DBF mit CDX)
Hä findet Härtel, aber Ha findet kein Haertel den ich auch eingetragen hab ...
Ich meine mich zu erinnern, dass es für uns 2 Sortiervorschriften gibt, DIN und DIN2 in Clipper, für die Behandlung von Umlauten.
Aus meiner Sicht ist das aber alles daneben, und unnötig, wenn man die Umlaute im Index (und in der Suche) mit meiner Funktion umwandelt.
Ein Anwender kann einen Müller eben auch als Mueller erfassen (müssen) ... teilweise weil die Leute tatsächlich so heißen oder weil er es will.
Eine Suche nach Müller muss also auch Mueller finden und in der Liste sauber einsortieren.
Hä findet Härtel, aber Ha findet kein Haertel den ich auch eingetragen hab ...
Code: Alles auswählen
PROCEDURE dbeSys()
SET DATE TO GERMAN
SET EPOCH TO year(date())-80
SET COLLATION TO GERMAN // SYSTEM ???
SET CHARSET TO OEM / ANSI // beides probiert
IF ! DbeLoad( "DBFDBE", .t.)
Alert( "DBFDBE wurde nicht geladen" , {"OK"} )
ENDIF
IF ! DbeLoad( "NTXDBE", .t.)
Alert( "NTXDBE wurde nicht geladen" , {"OK"} )
ENDIF
IF ! DbeBuild( "DBFNTX","DBFDBE","NTXDBE" )
Alert( "DBFNTX wurde nicht erstellt" , {"OK"} )
ENDIF
IF ! DbeLoad( "CDXDBE", .t.)
Alert( "CDXDBE wurde nicht geladen" , {"OK"} )
ENDIF
IF ! DbeBuild( "DBFCDX","DBFDBE","CDXDBE" )
Alert( "DBFCDX wurde nicht erstellt" , {"OK"} )
ENDIF
* DbeInfo( COMPONENT_DATA, FOXDBE_MEMOBLOCKSIZE , 80 )
DbeInfo( COMPONENT_ORDER, DBE_LOCKMODE , LOCKING_EXTENDED )
RETURN
Aus meiner Sicht ist das aber alles daneben, und unnötig, wenn man die Umlaute im Index (und in der Suche) mit meiner Funktion umwandelt.
Ein Anwender kann einen Müller eben auch als Mueller erfassen (müssen) ... teilweise weil die Leute tatsächlich so heißen oder weil er es will.
Eine Suche nach Müller muss also auch Mueller finden und in der Liste sauber einsortieren.
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Hallo, Hubert.
Allerdings ist die realistische Ersetzungsliste noch deutlich länger. Unsere Anwender haben Patienten oder Kunden aus aller Herren Länder, also gibt es beispielsweise noch französische, polnische, dänische/skandinavische und (ohnehin viele) türkische Sonderzeichen. Nicht zu vergessen das Es-Zett. Und ob sich Lefevre so schreibt oder Léfevre oder Lèfevre oder Lêfevre - das weiß nur die Person selbst genau.
Ich hab's übrigens auch getestet. FOXCDX mit ANSI (auch mit ANSI erzeugt!), COLLATION GERMAN. Ich finde Härtel.
Tatsächlich mache ich das auch so, aber nicht, um Indexprobleme zu beheben, sondern um die Suche zu erleichtern. Manchmal schreibt man Namen nicht mit Umlauten, obwohl sie mit Umlauten gesprochen werden.Aus meiner Sicht ist das aber alles daneben, und unnötig, wenn man die Umlaute im Index (und in der Suche) mit meiner Funktion umwandelt.
Allerdings ist die realistische Ersetzungsliste noch deutlich länger. Unsere Anwender haben Patienten oder Kunden aus aller Herren Länder, also gibt es beispielsweise noch französische, polnische, dänische/skandinavische und (ohnehin viele) türkische Sonderzeichen. Nicht zu vergessen das Es-Zett. Und ob sich Lefevre so schreibt oder Léfevre oder Lèfevre oder Lêfevre - das weiß nur die Person selbst genau.
Ich hab's übrigens auch getestet. FOXCDX mit ANSI (auch mit ANSI erzeugt!), COLLATION GERMAN. Ich finde Härtel.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
klar das ist auch mein HauptzweckTom hat geschrieben:Hallo, Hubert.
Tatsächlich mache ich das auch so, aber nicht, um Indexprobleme zu beheben, sondern um die Suche zu erleichtern.
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2128
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Servus Hubert,brandelh hat geschrieben:Ich indiziere seit Clippertagen mit KeinUmlaut(Name) ...
damit hat Du im Index aber evtl. nicht mehr den kompletten Namen. Hattest Du damit noch keine Probleme? Oder sind Deine Namens-Felder so extrem groß?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Im Index benötigt man den kompletten Namen meistens auch nicht - er steht ja im Tabellenfeld. Und notfalls generiert man einfach einen weiteren Index ohne Konvertierung.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Meine Namensfelder haben normal 40 Zeichen und die sind alle im Index
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2128
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Eben nicht, wenn Du Umlaute ersetzen lässt, der Name aber schon 40 Zeichen hat. Dann steht er nicht mehr komplett im Index.brandelh hat geschrieben:Meine Namensfelder haben normal 40 Zeichen und die sind alle im Index
Ist jetzt aber auch nicht so tragisch - denke ich. Muss man halt bei allen Suchoperationen entsprechend berücksichtigen.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
OK wenn 40 Stellen ausgefüllt sind und 2 Ä dabei sind wird im Index Ä zu Ae und bei 40 gekürzt.
Natürlich MÜSSEN alle Suchbegriffe auch mit der Funktion bei DBSEEK() behandelt werden, somit merkt der Anwender davon nix.
Auch bei normalem Suchen (do while cSuch = cFeld ...) nutze ich normal die Funktion.
Ich kann mir nicht vorstellen, dass es einen Namen gibt, der tatsächlich die 40 Stellen braucht
Natürlich MÜSSEN alle Suchbegriffe auch mit der Funktion bei DBSEEK() behandelt werden, somit merkt der Anwender davon nix.
Auch bei normalem Suchen (do while cSuch = cFeld ...) nutze ich normal die Funktion.
Ich kann mir nicht vorstellen, dass es einen Namen gibt, der tatsächlich die 40 Stellen braucht
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: nach Umstellung auf CDX Problem beim SUCHEN!
Vor allem das jemand Lust hat, einen 40-stelligen Suchbegriff einzugeben.
Gruß
Klaus
Klaus