Hallo,
ich bin hier neu und hab zu meiner Frage nichts passendes gefunden.
Es gibt in Access die Funktion "Ersetzen". Ich habe diese versucht zu nutzen, um Telefonnummern zu ändern.
Es sollte so sein, dass wenn eine "0-" gefunden wird dies ersetzt wird mit "+49"
Es klappt auch, aber wenn die gleiche Kombination innerhalb der Telefonnummer nochmal kommt, wird diese ebenfalls ersetzt.
Hier mein Abfrage:
Telefon_: Wenn([Telefon];Ersetzen([Telefon];"0-";"+49-";1;1);Nicht Null)
Ergebnis:
aus 0-2323-209-170 wird +49-2323-209-170
aber auch
0043-3862-2+49-37266 hier war vorher 0043-38620-37266
Kennt sich einer mit dieser Funktion aus? Es darf nur in den ersten zwei Zeichen gesucht werden. Nicht der ganze String.
Fautec56
Hallo,
wenn grundsätzlich nur die ersten (2) Ziffern berücksichtigt werden sollen, dann müssen vom Ausgangsstring zunächst diese Zeichen abgetrennt werden, sodann ersetzt und mit dem Rest-String wieder zusammengesetzt werden.
Replace(Left([Telefon], 2), "0-", "+49-") & Mid([Telefon], 3)
Danke für die schnelle Hilfe. :-*
mit Telefon_: Ersetzen((Links([Telefon];2));"0-";"+49-") & Teil([Telefon];3) klappt es nun.
Jedoch hab ich jetzt bei dem Import in die Tabelle die Fehlermeldung, dass es Umwandlungsfehler gibt. Das nervt.
Grund dafür leeren Datensätze ( keine Telefonnumer vorhanden ). Hier wird nun eine Fehlermeldung eingetragen. #Fehler
Ich hatte das vorher mit einer Wennabfrage abgefangen (siehe meinen Eintrag). Bei der neuen Abfrage bekomme ich die WennAbfrage aber nicht mehr eingebaut.
Es endet immer wieder bei einer Fehlermeldung.
Hast Du da ebenfalls eine Lösung?
Ich hätte dann noch eine Ungereimtheit beim Export, aber dazu würde ich gerne später was fragen?
Hallo,
versuche es mal mit der Formel.
Telefon_: Wenn(Links([Telefon];2)="0-";"+049-" & Teil([Telefon];3);[Telefon])
Kommt ohne Ersetzen aus.
Hallo,
bei meinem Vorschlag wäre noch die nz()-Funktion erforderlich, beim Vorschlag von MzKlMu ist sie überflüssig.
Telefon_: Ersetzen((Links(nz([Telefon];"");2));"0-";"+49-") & Teil([Telefon];3)
Danke, das funktioniert. :-*
Jetzt meine letzte angedrohte Frage.
Export einer Tabelle
Ich exportiere die Daten einer Tabelle nach Excel. Die Kontaktdaten werden daraus in Outlook importiert.
Grund dafür ist, dass ich auf einem Arbeitsplatz nur fehlerhaft dierekt aus der Tabelle Kontakt die Daten importuieren kann.
Mit Excel geht es. weiss nicht warum!
Ok. Soweit ganz gut. Ich hatte anfangs den Export über ein Macro ausgeführt. Funktionierte!!
Dann nicht mehr. Outlook beschwert sich über das Format.
Wenn ich jedoch den export manuell durchführe, funktioniert der Import in Outlook ohne Probleme.
Ich gehe davon aus, dass irgend etwas mit der Formatierung nicht stimmt. Beim manuellen Export ist keine Formatierung zu sehen.
Ich arbeite mit Access 2010. Beim erstellen des Macros finde ich jedoch nur eine Funktion ExportierenMitFormatierung.
Oder was Übersehen? ich glaube nicht.
Für Outlook muss ich das Ausgabeformat"Excel 97 - Excel 2003-Arbeitsmappe (*.xls)" nutzen.
So das war es.
Nochmals Danke für deine beiden Hilfen.
Hallo,
hast Du auch mal das Excel2010-Format versucht?
Ja, da kommt der gleiche Fehler.
??
Du DF6GL AFU ?
ich DG5KAC ;)
DG5KAC de DF6GL + QSL
kann zu dieser Konstallation (mit Makros) schlecht Näheres sagen.
Würde aber an dieser Stelle nachhaken:
"nur fehlerhaft dierekt aus der Tabelle Kontakt die Daten importuieren kann."
Was heißt das? WIE wird importiert, welche Fehler treten auf?
73 es 55 de DF6GL
Ganz normaler import über Outlook
Datei/öffnen/import
Auswahl:
Aus anderern Programmen oder Dateien importieren
weiter
Microsoft Excel 97-2003
weiter
Datei aussuchen kontakte.xls
Syncordner aussuchen und ab die Post.
Es hat ja ein paar Mal über das Macro geklappt. Das ist ja das verrückte.
Fehlermeldung siehe JPG-Datei
55 73 DG5KAC
[Anhang gelöscht durch Administrator]
Hallo,
hast Du die angegebenen Fehlersituationen auch mal überprüft und ausgeschlossen?
Ja. Ich kann die Datei ganz normal aufrufen.
Die Datei die Tabelle, die ich manuell exportiere, liegt im gleichen Verzeichnis.
Die Rechte sind die gleichen. Ich habe die die Datei schon mal in einen anderen Ordner lokal abgelegt. Die gleiche Fehlermeldung.
Das hab ich alles schon überprüft. :-\ :'(
Hallo,
"Das hab ich alles schon überprüft."
Ab 2007 gibt es die "vertrauenswürdigen Speicherorte" , die in der jeweiligen Office-Anwendung unter "Optionen Sicherheitseinstellungen" zu definieren sind, außerdem der Zugriff auf Makros und VBA-Prozeduren. Insofern solltest Du diese Einstellungen überprüfen.
Hallo,
werde ich überprüfen. Jedoch sehe ich da keine Logik. Denn wenn ich den Export manuell durchführe, ( auf Tabelle mit Mauszeiger und rechte Maustaste/Export ) klappt alles.
Es ist auch das gleiche Verzeichnis, wo die Tabelle dann liegt.
Ich werd´s prüfen. :'(
so, alles geprüft, nichts zu finden.
Ich hab es jetzt in VBA eingebaut. Da Kann ich Formatieren, oder es bleiben lassen.
Hier das funktionierende Modul. Ich fand es so in etwa im WEB und hab entsprechend angepasst und in mein Menü eingebunden.
Sub ExportKontakte()
Dim xlAnw As Object
' Export
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Kontakte", "O:\Auswertungen\Officeline\Kontakte\Kontakte.xls", , "Kontakte"
' Nun werden die Daten in Excel formatiert
Set xlAnw = CreateObject("excel.application")
xlAnw.Visible = False ' läuft unsichtbar im Hintergrund
xlAnw.Workbooks.Open FileName:="O:\Auswertungen\Officeline\Kontakte\Kontakte.xls"
xlAnw.Sheets("Kontakte").SELECT
xlAnw.Rows("1:1").SELECT
' xlAnw.Selection.Font.Bold = True ' Schrift = Fett
xlAnw.Cells.SELECT
' xlAnw.Selection.Columns.AutoFit ' optimale Zellenbreite
xlAnw.activeWorkbook.Save
xlAnw.activeWorkbook.Close
xlAnw.Quit
Set xlAnw = Nothing
End Sub
Vielen Dank für deine Mühe, insbesondere für die ersten Lösungen.
55 73 -.-. --.- -.. --. .... -.- .- -.-.
;)
--... ...-- . ... ..... ..... -.. . -.. ..-. -.... --. .-.. --.- .-. - ...-.-