Hallo liebes Forum!
Ich habe eine Abfrage erstellt und möchte die Telefonnumer formatieren.
Auskunft: [VVerh1] & ", " & [Anreden.Bezeichnung] & " " & [Titel.Bezeichnung] & " " & [Vornamen] & " " & [Nachname] & ", " & [Strasse] & ", " & [PLZ] & " " & [Ort] & ", " & Format([Telefon_p];"\(99999") "00099999")
Aber mein Ausdruck sei syntaktisch falsch sagt Access.
Wo liegt mein Fehler?
Dorian
Hallo,
hier:
... "\(99999") "00099999" ...
Hallo Franz!
Auskunft: [VVerh1] & ", " & [Anreden.Bezeichnung] & " " & [Titel.Bezeichnung] & " " & [Vornamen] & " " & [Nachname] & ", " & [Strasse] & ", " & [PLZ] & " " & [Ort] & ", " & Format([Telefon_p];"\(99999") "00099999"
Es kommt immer noch eine Fehlermeldung.
Was ist jetzt noch falsch ?
Dorian
[Anhang gelöscht durch Administrator]
Hallo,
hast Du denn nun etwas geändert? (die Gänsefüße in der Formatierungsmaske sind falsch gesetzt...)
Ja ich habe Deine Formatierung übernommen. Bei meiner war zuerst eine schließende Klammer am Schluss. Die habe ich entfernt. Geht aber immer noch nicht...
Wie muss denn die Abfrage richtig lauten?
Auskunft: [VVerh1] & ", " & [Anreden.Bezeichnung] & " " & [Titel.Bezeichnung] & " " & [Vornamen] & " " & [Nachname] & ", " & [Strasse] & ", " & [PLZ] & " " & [Ort] & ", " & Format([Telefon_p];"\(99999") "00099999"
Dorian
Hallo,
ich hab Dir doch nur gezeigt, WO der Fehler liegt und keine Korrektur gegeben...
Ich weiß ja nicht, wie die Formatierung nun genau passieren soll.
vermutlich:
... & Format([Telefon_p];"\(99999\) 00099999")
Hallo Franz!
Achso.... ich dacht Du hast etwas geändert...
Aber jetzt geht die Abfrage. Nur das Ergebnis passt noch nicht so richtig. Ich probiere mal weiter!
Danke schon mal!
Dorian
Hallo,
WAS passt noch nicht richtig?
Poste halt mal, wie das Ergebnis aussieht und auch, wie es denn aussehen soll.
Das Ergebnis passt noch nicht richtig.
Ich habe die Datenherkunft als Textfeld und als Zahl eingestellt.
Das Ergebnis ist das Gleiche. Die Telefonnummer wird so dargestellt:
(99999) ********99999
Die Sternchen sind die richtige Telefonnummer ohne die führende Nul?
Und das Format in der Abfrage wird geändert (siehe Bild) obwohl ich es so eingetragen habe wir Du geschrieben hast? Macht Access selbstständig?Wie kann ich das verhindern?
Dorian
[Anhang gelöscht durch Administrator]
Hallo,
und wie soll das überhaupt funktionieren?
Wenn die TelNr als reine Zahl (Ziffernfolge) abgelegt ist, woher soll die Format-Funktion erkennen, was daraus die Vorwahl und die eigentliche Rufnummer ist?
Wenn Du eine Formatierung der TEL-Nr brauchst, dann müßte die Formatierung UND deren Speicherung bei der Eingabe der TELNR über ein EINGABEformat (nicht ANZEIGEformat) in einem Form passieren.
Auch da habe ich schon beide Varianten probiert. Das "Eingabeformat" ist:
\(99999\)00099999;;_
Ich dachte das könnte ein Fehler sein und habe es probehalber entfernt, aber das Ergebnis bleibt gleich. In der Tabelle sind die Tel-Nrn richtig gespeichert und werden so angezeigt:
(*****) ******
Und wenn ich in der Abfrage aber kein Format angebe, ist das Ergebnis:
************
Und warum Access das Format in der Abfrage ändert weiss ich auch nicht.
Dorian
Hallo,
na, wenn "In der Tabelle sind die Tel-Nrn richtig gespeichert und werden so angezeigt: (*****) ****** "
das so ist, das lass doch die Format-Funktion in der Abfrage aussen vor...
Die Formatmaske sollte ungeachtet dessen so aussehen:
... & Format([Telefon_p];"(#####) ######")
Ja, im Formular wird die TelNr auch richtig dargestellt.
Nur in einer Abfrage ohne Format wird es falsch dargestellt:
************
Alles richtig nur die Klammer fehlen?
Und bei meiner Abfrage wird dieses Ergebnis ( Auskunftgeber ) zum füllen eines Feldes gebraucht. Und da es mehrer Teilergebnisse zusammenfasst, kann ich das Feld nicht formatieren. Also wollte ich die TelNr in der Abfrage formatieren.
Dorian
Hallo,
kein leichtes Unterfangen, wie Franz schon richtig festgestellt hat.
Beim Formatieren von Telefonnummern gibts immer wieder mal Brösel.
Ich habe mir einmal eine Funktion gebastelt, die mir für Abfrageergebnisse die Formatierung vorgenommen hat.
Allerdings MUSS dabei festgelegt sein, dass ALLE Telefonnummern mit Vorwahl samt führender Null eingegeben wurden und die Länge der Vorwahl 5 Stellen beträgt.
Die Function kannst du in ein Standardmodul kopieren und dann in deiner Abfrage den Teil --- & Format([Telefon_p];"\(99999") "00099999" ---- durch
---- & telFormat([Telefon_p]) ----- ersetzen.
Natürlich jeweils OHNE die Bindestriche!
Der Code der Function:
Public Function telFormat(ByVal tel As String) As String
telFormat = "(" & Left(tel, 5) & ")" & Right(tel, Len(tel) - 5)
End Function
Vielleicht kannst du damit was anfangen?
p.s. sehe eben, dass Franz geantwortet hat - Wenn die Telefonnummern in der Tabelle so zu lesen sind, dann brauchst du keine Formatierung.
LG
Peter
Hallo Peter!
Ja damit werde ich mal heutenachmittag etwas rumprobieren.
Danke Euch Beide!
Dorian
Na dann guten Erfolg
und Mahlzeit!
Peter
Hallo Peter und Franz!
Jetzt habe ich es gelöst! :)
Ich habe:
1. In der Tabelle Format auf Text, leere Zeichenfolge nein, Uni Code Kompression ja, IME Modus aus, IME Satzmodus Ausdrucksvorhersage (Schriftsprache) und Textausrichtung Standard.
2. Im Formular Eingabeformat: \(99999") "00099999;0;_
3. In der Abfrage keine Formatierung.
Jetzt wird in der Abfrage das richtige Format angezeigt: z.B. (00000) 00000
Ich weiß zwar nicht was den Ausschlag gegeben hat, aber jetzt geht es.
Peter, Kannst es vieleicht gebrauchen...
LG
Dorian
Hallo,
der Unterschied ist die "0" im Eingabeformat. Dadurch wird die Formatierung (d. h.: der Text ganz genau so, wie er formatiert wird ) mit im Tabellenfeld gespeichert.
Und natürlich Punkt 3. ;)
Hi,
danke Dorian für den gut gemeinten Rat, aber auf Grund der Probleme die es beim Formatieren gibt,
weigere ich mich ohnehin Telefonnummern zu speichern.
Ich lass mich lieber anrufen, das erspart den Formatierungsärger und kommt außerdem billiger :) ;D ;)
Schönen Sonntag
Peter
Ja, war garnicht so einfach. Habe es aber nicht meinem Wissen sondern dem Zufall ;D zu verdanken.
Euch auch allen einen schönen sonnigen Sonntag!
Dorian