Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: fautec56 am Juli 23, 2013, 16:48:34

Titel: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 23, 2013, 16:48:34
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



Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 23, 2013, 17:27:16
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)
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 24, 2013, 08:59:55
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?

Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: MzKlMu am Juli 24, 2013, 09:25:24
Hallo,
versuche es mal mit der Formel.
Telefon_: Wenn(Links([Telefon];2)="0-";"+049-" & Teil([Telefon];3);[Telefon])
Kommt ohne Ersetzen aus.
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 24, 2013, 10:17:46
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)
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 24, 2013, 10:19:32
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.








Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 24, 2013, 10:38:19
Hallo,

hast Du auch mal das Excel2010-Format versucht?
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 24, 2013, 10:47:00
Ja, da kommt der gleiche Fehler.


??
Du DF6GL   AFU ?

ich DG5KAC  ;)
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 24, 2013, 10:55:08
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
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 24, 2013, 12:00:04
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]
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 24, 2013, 14:15:32
Hallo,

hast Du die angegebenen Fehlersituationen auch mal überprüft und ausgeschlossen?


Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 24, 2013, 15:17:20
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.  :-\  :'(
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 24, 2013, 16:29:54
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.

Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 25, 2013, 10:36:55
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.  :'(
Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: fautec56 am Juli 25, 2013, 13:33:13
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  -.-.  --.-  -..  --.  ....  -.-  .-  -.-.

;)


Titel: Re: Funktion "Ersetze" in Access 2010
Beitrag von: DF6GL am Juli 25, 2013, 13:40:26
--... ...--  . ...  ..... .....  -.. .  -.. ..-. -.... --. .-..   --.- .-. -   ...-.-