AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Zeichen bei SELECT ignorieren

Zeichen bei SELECT ignorieren

Ein Thema von fillibuster · begonnen am 29. Okt 2013 · letzter Beitrag vom 31. Okt 2013
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 06:26
Aber die Ergebnismenge bleibt überschaubar und kann zur Not nochmal genauer betrachtet werden.
Das muß nicht 'zur Not' genauer betrachtet werden, sondern in jedem Fall. Und wenn Du dich darauf verlässt...nun ja. Wenn die Stecknadel in einer Handvoll Heu steckt, ist sie immer noch schwer zu finden.

Ich stehe auf dem Standpunkt, das ein Problem, das ordentlich lösbar ist, auch ordentlich gelöst werden sollte.

PS: Als Lösung für die Eingabe kompletter Telefonnummern mag es als Notbehelf durchgehen, ich würde die paar Daten (da sie ja überschaubar sind) trotzdem in-Memory filtern, und dann richtig.

Geändert von Furtbichler (31. Okt 2013 um 06:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 06:35
Ich habe in meiner Datenbank das Problem, dass ein und die selbe Telefonnummer mehr als einmal in der Datenbank drin stehen kann.

z.B.
1. Hans Müller als Kunde mit Telefonnummer
2. Hans Müller als Ansprechpartner seiner Firma mit Privatnummer
3. Hans Müller als Ansprechpartner seiner 2. Firma mit Privatnummer
usw....

Sollte nun unser Telefon klingeln, und Hans Müller ruft von seinem Privattelefon an, wird's spannend
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 07:14
Namen sind nicht eindeutig, Telefonnummern schon (eher).

Ich sagt bereits, das dein Vorschlag als Notbehelft zu gebrauchen ist. Aber nur, wenn die Telefonnummern geeignet abgelegt ist. Und was ist morgen?

Konkret: Dein Vorschlag wird umgesetzt und alle sind zufrieden, denn er funktioniert für die aktuelle Problemstellung: Suche nach vollständiger(!) Telefonummer über die derzeit gespeicherten Nummern (die z.B. nach E.123 abgelegt sind).

Morgen werden jedoch die Outlook-Kontakte importiert und dort wird die Telefonnummer nach dem MS-Standard abgelegt, also +49(30)12345678 (in der DB sind sie jedoch im Format (030)12345678 abgelegt. Ja und dann ruft Hans Müller an, seine Nummer 03012345678 erscheint im Display und deine Suche findet -nichts-. Der Sachbearbeiter kann den Kunden nicht zuordnen und legt ihn im schlimmsten Fall neu an.

Irgendwann wird dann vergessen, das die Lösung erstens nicht immer das korrekte Ergebnis anzeigt, zweitens nur taugt, wenn man die zu suchende Telefonnummer vollständig angibt und drittens doch nur mit einem bestimme Format funktioniert, also eben z.B. nur E.123, aber nicht mit anderen Standards. Und spätestens dann ist die Suche keine Suche sondern ein Glücksspiel.

Deine Lösung zeigt also nicht nur zu viele an (was zu verschmerzen wäre), sondern ist leider unzuverlässig. Und damit imho so nicht zu gebrauchen.

PS: Mein Beispiel funktioniert auch, wenn die Nummern nur im MS-Format abgelegt sind, also mit internationaler Vorwahl, jedoch ohne führende Null in der Ortsvorwahl. Denn es gibt generell mindestens vier unterschiedliche Formatgruppen, die hinsichtlich der einfache Suche disjunkt sind:
Ortsvorwahl: (30) vs. (030).
Landeskennzahl: +49 vs. 0049 vs. ganz weglassen.

Wie Du siehst, wird es nie zuverlässig funktionieren, so elegant und kurz dein Vorschlag auch ist.

Ein Suchalgorithmus muss robust gegen alle Kombinationen sein, d.h. er muss die gespeicherten und die Such-Telefonnummer in LKZ, OnKZ und Rufnummer unterteilen und dann vergleichen.

Richtig richtig macht man es imho nur dann, wenn die Telefonnummern normalisiert abgelegt werden. Alles andere ist Murks.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 07:38
Ja, mit diesem einheitlichen Format habe ich mich lange und ausgiebig auseinandergesetzt. Sicherlich bin ich nicht die einzige, die solch eine Konstellation hat:

1. Firmeneigene Adressdatenbank
2. Exchange-Kontakte
3. Outlook auf PCs
4. SmartPhones mit verschiedenen Betriebssystemen

Meine Adressdatenbank füllt die Exchange-Datenbank, die Exchange-Kontakte werden mit den Outlooks und den SmartPhones synchronisiert.

Und nun die Sache mit dem Telefonnummern-Format. Microsoft war so frei sich ein eigenes Telefonnummern-Format zu erfinden, mit dem Exchange und Outlook problemlos arbeitet. Munter gibt man nun alle Telefonnummern in diesem MS-spezial-Format (siehe http://de.wikipedia.org/wiki/Rufnummer) ein. Und dann passiert es ... ich kann mich nicht mehr genau erinnern welches Smartphone mit welchem Betriebssystem es war, auf jeden Fall konnte man mit diesem Smartphone keine einzige Nummer aus dem Exchange-Telefonbuch anrufen, weil es mit dieser Formatierung nicht zurecht kam.

Aus diesem Grunde haben wir und dazu entschlossen dieses MS-Format nicht zu benutzen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 07:47
MS ist soweit mir bekannt ein großer Sponsor von Wikipedia.
Was das bedeutet, kann sich jeder selber überlegen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 08:06
MS ist soweit mir bekannt ein großer Sponsor von Wikipedia.
Was das bedeutet, kann sich jeder selber überlegen.
Dann würde Wikipedia das MS-Format als super gut hinstellen, oder die anderen genormten Formate erst gar nicht erwähnen ... ist aber nicht so.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 08:29
Mmh, wenn das so da stand, wie es nun da steht, dann habt Ihr Euch ja mit MS scheinbar freiwillig gegen ein sinnvolles Format entschieden oder?
Ich habe den Link ehrlich gesagt nicht gelesen, bevor ich meinen Beitrag geschrieben habe. Auch wenn der Artikel offenbar recht ausgewogen ist, kann der Hinweis auf den großen Spender sicher nicht schaden.
Gruß, Jo
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 09:44
Aus diesem Grunde haben wir und dazu entschlossen dieses MS-Format nicht zu benutzen.
Es kommt auch ohne MS zu Inkonsistenzen, nämlich genau dann, wenn man sich nicht auf ein Format festlegt und alle Importer und Eingaben entsprechend anpasst. Ideal wäre die Trennung von LKZ, OnKZ und Rufnummer. So haben wir das gemacht. Bei der Adresseingabe wird dann zum Land bzw. PLZ/ZIP gleich die LKZ und OnKZ vorgeschlagen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 12:24
Wir nutzen das MS-Format, da es dem "Ordnungssinn" des/der Datenerfassenden nahe kommt.
Insbesonders bei proportionalen Fonts ist die Darstellung von Leerzeichen so katastrophal, das man mit diesem Format gut bedient ist.
Und vom einen in das andere Format zu wechseln ist ja relativ einfach (ok, die Durchwahl wird nicht abgetrennt, aber die muß man nur dann kennen wenn man von der einen Nummer auf die andere schließen will, da kan man auch gleich erfasssen)


Zitat:
Richtig richtig macht man es imho nur dann, wenn die Telefonnummern normalisiert abgelegt werden. Alles andere ist Murks.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Zeichen bei SELECT ignorieren

  Alt 31. Okt 2013, 12:35
Ja eine Trennung in Ländervorwahl, Ortsvorwahl, Rufnummer und Durchwahl wäre traumhaft, nur wie bekomme ich meine aktuellen Daten in dieses Format ohne das manuell pflegen zu müssen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz