Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Textfeld aus Formular in neue Textdatei kopieren
Gehe zu Seite 1, 2  Weiter
zurück: Suchfunktion im Formular weiter: Label ändern per VBA ! Funktioniert nicht..... Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
jonnyb2006
VBA Dummie


Verfasst am:
10. Okt 2007, 17:35
Rufname:
Wohnort: Kassel

Textfeld aus Formular in neue Textdatei kopieren - Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo,
habe folgendes Problem:
Habe in einem Textfeld einen Code generiert so das mir der Inhalt in ein xfdf konformes Format umgewandelt wird! War ziemlich aufwendig das ganze!
Hier mal der Code im Textfeld:
Code:
=Ersetzen(Ersetzen(Ersetzen("<?xml version=" & Zchn(34) & "1.0" & Zchn(34) & " encoding=" & Zchn(34) & "UTF-8" &
Zchn(34) & " ?>" & Zchn(13) & Zchn(10) & "<xfdf xmlns=" & Zchn(34) & "http://ns.adobe.com/xfdf/" & Zchn(34) & "
xml:space=" & Zchn(34) & "preserve" & Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(3) & "<ids original=" &
Zchn(34) & Zchn(34) & " modified=" & Zchn(34) & Zchn(34) & "></ids>" & Zchn(13) & Zchn(10) & Leerzchn(3) &
"<fields>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" &
Zchn(34) & "A_Projekt" & Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & [A_Projekt] & "</value>"
& Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) &
"o_name1" & Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & [o_name1] & "</value>" & Zchn(13) &
Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_stras_se"
& Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & [o_strasse] & "</value>" & Zchn(13) & Zchn(10)
& Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_plz" & Zchn(34) &
">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & [o_plz] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) &
"</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_ort" & Zchn(34) & ">" & Zchn(13) &
Zchn(10) & Leerzchn(9) & "<value>" & [o_ort] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field> &
Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "Bem_Techniker" & Zchn(34) & ">" & Zchn(13) &
Zchn(10) & Leerzchn(9) & "<value>" & [Bem_Techniker] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>"
& Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "typ1" & Zchn(34) & ">" & Zchn(13) & Zchn(10) &
Leerzchn(9) & "<value>" & [typ1] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) &
Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_person1" & Zchn(34) & ">" & Zchn(13) & Zchn(10) &
Leerzchn(9) & "<value>" & [o_person1] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) &
Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_person1_tel" & Zchn(34) & ">" & Zchn(13) & Zchn(10) &
Leerzchn(9) & "<value>" & [o_person1_tel] & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13)
& Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "AN_1" & Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9)
& "<value>" & Format$([Auftragsart];"00") & Format$([o_gebiet];"00") & "</value>" & Zchn(13) & Zchn(10) &
Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "o_zone" & Zchn(34) &
">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & Format$([o_zone];"""ZO""#") & "</value>" & Zchn(13) &
Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" & Zchn(34) & "AN_2" &
Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" & Format$([Datum];"jj") & Format$([Nr];"0000") &
"</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "<field name=" &
Zchn(34) & "AA" & Zchn(34) & ">" & Zchn(13) & Zchn(10) & Leerzchn(9) & "<value>" &
Format$([Auftragsart];"""AA""#") & "</value>" & Zchn(13) & Zchn(10) & Leerzchn(6) & "</field>" & Zchn(13) &
Zchn(10) & Leerzchn(3) & "</fields>" & Zchn(13) & Zchn(10) & "</xfdf>";"ä";"ä");"ö";"ö");"ü";"ü")
Die Ausgabe sieht dann so aus:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
   <ids original="" modified=""></ids>
   <fields>
      <field name="A_Projekt">
         <value>251.006</value>
      </field>
      <field name="o_name1">
         <value>Einkaufzentrum Müggelpark</value>
      </field>
      <field name="o_stras_se">
         <value>Am Müggelpurk 10 - 12</value>
      </field>
      <field name="o_plz">
         <value>15537</value>
      </field>
      <field name="o_ort">
         <value>Gosadsen</value>
      </field>
      <field name="Bem_Techniker">
         <value>Festtermin am 12.06.07</value>
      </field>
      <field name="typ1">
         <value>DTqa 2000</value>
      </field>
      <field name="o_person1">
         <value>Herr Pihl</value>
      </field>
      <field name="o_person1_tel">
         <value>02232-82380</value>
      </field>
      <field name="AN_1">
         <value>0301</value>
      </field>
      <field name="o_zone">
         <value>Anfahrtzone 3</value>
      </field>
      <field name="AN_2">
         <value>071040</value>
      </field>
      <field name="AA">
         <value>WARTUNG</value>
      </field>
   </fields>
</xfdf>
Und genau diesen Inhalt brauche ich für meine xfdf Datei (Formulardaten für ein PDF Formular)

Ich möchte nun das per Knopfdruck aus diesem Inhalt eine Texdate mit dem Name n:
Code:
 [AN_1] & [AN_2] & ".xfdf"
erzeugt wird!

Welche Möglichkeit bietet sich da an und wie kann ich das realisieren?

gruß

Bernd

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
steffen0815
VBA-Programmierer


Verfasst am:
10. Okt 2007, 20:04
Rufname:


AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo Bernd,
ich finde du hast das "Pferd irgendwie von hinten aufgesattelt".
Was wollen die Daten denn erst in einem Textfeld und dann noch mit diesem "Wahnsinns"-Code?
Ich vermute mal, dass du ein VBA-Verweigerer bist Wink. Du solltest dich dringend mit diesem Thema beschäftigen !!!!

Hier ein erster Ansatz:
Code:
Option Compare Database
Option Explicit

Private Sub DeinExportKnopf_Click()
Const AusgDat = "d:\tar\mytest.txt"
Dim oDatNum As Integer
Close ' in testphase
oDatNum = FreeFile
Open AusgDat For Output As oDatNum
Print #oDatNum, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & _
                Chr(34) & "UTF-8" & Chr(34) & " ?>"
Print #oDatNum, "<xfdf xmlns=" & Chr(34) & "http://ns.adobe.com/xfdf/" & Chr(34) & _
                "xml:space=" & Chr(34) & "preserve" & Chr(34) & ">"
Print #oDatNum, Space(3) & "<ids original=" & Chr(34) & Chr(34) & " modified=" & _
                Chr(34) & Chr(34) & "></ids>"
Print #oDatNum, Space(3) & "<fields>"
Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "A_Projekt" & Chr(34) & ">"
Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![A_Projekt]) & "</value>"
Print #oDatNum, Space(6) & "</field>"
Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_name1" & Chr(34) & ">"
Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_name1]) & "</value>"
' .....
Close oDatNum
End Sub

Function fncUmlaute(AltText As String)
Dim tmpstr As String
    tmpstr = Replace(AltText, "ä", "&##228;")
    tmpstr = Replace(tmpstr, "ü", "&##246;")
    tmpstr = Replace(tmpstr, "ö", "&##252;")
    fncUmlaute = Replace(tmpstr, "ß", "&##223;")
End Function



Btw.: Ich vermute mal, dass das ganze mit "richtigen" XML-Funktionen wesentlich einfacher zu machen ist. Ich kenne mich da allerdings nicht aus Embarassed

_________________
Gruß Steffen
jonnyb2006
VBA Dummie


Verfasst am:
10. Okt 2007, 20:25
Rufname:
Wohnort: Kassel

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo Steffen,
sieht ja wunderbar übersichtlich aus. Vielen Dank für den Lösungsansatz.
Das mit dem "Sub" ist mir nun soweit klar aber wo füge ich die Funktion ein?
Bin leider ein VBA Dummie ;-(

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
steffen0815
VBA-Programmierer


Verfasst am:
10. Okt 2007, 20:36
Rufname:

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo,
du solltest dir solche Grundlagen selbst erlesen.
Access für Anfänger ( VBA, Programmierung)
Wo schreibe ich den VBA-Code hin?
Ich weiß nicht wie professionell du Access betreiben willst, aber ich behaupte mal, dass man auf Dauer nicht ohne VBA auskommt.

_________________
Gruß Steffen
jonnyb2006
VBA Dummie


Verfasst am:
10. Okt 2007, 20:44
Rufname:
Wohnort: Kassel


Re: AW: Textfeld aus Formular in neue Textdatei kopieren - Re: AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Bei mir ist es eher der Faktor Zeit, Access muß irgendwie nebenbei laufen Wink
_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
steffen0815
VBA-Programmierer


Verfasst am:
10. Okt 2007, 20:49
Rufname:

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo,
wie lang hast du an dem oberen Code gefeilt 1-2 Stunden oder 3-4 Wink.
Auf lange Sicht rechnet sich die Investition in Wissen.

_________________
Gruß Steffen
jonnyb2006
VBA Dummie


Verfasst am:
10. Okt 2007, 20:52
Rufname:
Wohnort: Kassel

Re: AW: Textfeld aus Formular in neue Textdatei kopieren - Re: AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

naja waren wohl eher 6-8 Stunden. Du hast Recht mit VBA ist alles einfacher, sitze grade dran den Code zu vervollständigen.

Kann ich die Ausgabe so steuern:
Code:
    Const AusgDat = "d:\Kundendienst\eServicebericht\eSB_" & _
                    [A_Projekt] & "A" & Format$([Auftragsart];"00") & _
                    Format$([o_gebiet];"00") & "-" & Format$([Datum];"jj") & _
                    Format$([Nr];"0000") & ".xfdf""

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
steffen0815
VBA-Programmierer


Verfasst am:
10. Okt 2007, 21:00
Rufname:

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo,
erst lesen (lernen), dann programmieren !!!
Const heißt Konstante, deshalb kannst du dieser keine Variable zuordnen.
Auch solltest du erst mal kleine Schritte machen, funktioniert denn der bisherige Code, bevor du anfängst diesen zu erweitern.
UNGETESTET:
Code:
    Dim AusgDat As String
   
    AusgDat = "d:\Kundendienst\eServicebericht\eSB_" & Me![A_Projekt] & _
              "A" & Format([Auftragsart], "00") & _
              Format(Me![o_gebiet], "00") & "-" & Format(Me![Datum], "yy") & _
              Format(Me![Nr], "0000") & ".xfdf"

_________________
Gruß Steffen
jonnyb2006
VBA Dummie


Verfasst am:
10. Okt 2007, 22:47
Rufname:
Wohnort: Kassel

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

jonnyb2006 am 10. Okt 2007 um 21:27 hat folgendes geschrieben:
Ja es der Code funktioniert bis hier ich bin begeistert....

Das macht richtig Spaß, danke für die tolle Hilfe Wink

Aktueller funktionierender Code:
Code:
Option Compare Database
Option Explicit

Private Sub Generiere_xfdf_Click()
    Dim oDatNum As Integer
    Dim AusgDat As String
   
    AusgDat = "d:\Kundendienst\eServicebericht\eSB_" & Me![A_Projekt] & _
              "A" & Format([Auftragsart], "00") & _
              Format(Me![o_gebiet], "00") & "-" & Format(Me![Datum], "yy") & _
              Format(Me![Nr], "0000") & ".xfdf"
    Close ' in testphase
    oDatNum = FreeFile
    Open AusgDat For Output As oDatNum
    Print #oDatNum, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & _
                    " encoding=" & Chr(34) & "UTF-8" & Chr(34) & " ?>"
    Print #oDatNum, "<xfdf xmlns=" & Chr(34) & "http://ns.adobe.com/xfdf/" & _
                    Chr(34) & " xml:space=" & Chr(34) & "preserve" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(3) & "<ids original=" & Chr(34) & Chr(34) & _
                    " modified=" & Chr(34) & Chr(34) & "></ids>"
    Print #oDatNum, Space(3) & "<fields>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "A_Projekt" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![A_Projekt]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_name1" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_name1]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_strasse" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_strasse]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_plz" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_plz]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_ort" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_ort]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_person1" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_person1_tel" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1_tel]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "AN_1" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Auftragsart], "00") & _
                    Format(Me![o_gebiet], "00")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "AN_2" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Datum], "yy") & _
                    Format(Me![Nr], "0000")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "typ1" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![typ1]) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "Auftragsart" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Auftragsart], """AA""#")) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_zone" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![o_zone], """ZO""#")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(3) & "</fields>"
    Print #oDatNum, "</xfdf>"
    Close oDatNum
End Sub

Function fncUmlaute(AltText As String)
    Dim tmpstr As String
   
    tmpstr = Replace(AltText, "ä", "ä")
    tmpstr = Replace(tmpstr, "Ä", "Ä")
    tmpstr = Replace(tmpstr, "ü", "ü")
    tmpstr = Replace(tmpstr, "Ü", "Ü")
    tmpstr = Replace(tmpstr, "ö", "ö")
    tmpstr = Replace(tmpstr, "Ö", "Ö")
    tmpstr = Replace(tmpstr, "AA1", "SERVICE")
    tmpstr = Replace(tmpstr, "AA2", "UMBAU")
    tmpstr = Replace(tmpstr, "AA3", "WARTUNG")
    tmpstr = Replace(tmpstr, "AA4", "MONTAGE")
    tmpstr = Replace(tmpstr, "AA5", "SERVICE")
    tmpstr = Replace(tmpstr, "AA6", "SERVICE")
    tmpstr = Replace(tmpstr, "ZO1", "Anfahrtzone 1")
    tmpstr = Replace(tmpstr, "ZO2", "Anfahrtzone 2")
    tmpstr = Replace(tmpstr, "ZO3", "Anfahrtzone 3")
    tmpstr = Replace(tmpstr, "ZO4", "Anfahrtzone 4")
    tmpstr = Replace(tmpstr, "ZO6", "Anfahrtzone Globus")
    tmpstr = Replace(tmpstr, " & ", " & ")
    fncUmlaute = Replace(tmpstr, "ß", "ß")
End Function

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
Willi Wipp
Moderator


Verfasst am:
11. Okt 2007, 01:11
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld aus Formular in neue Textdatei kopieren - Re: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hi jonnyb2006,

was soll es bringen die Umlaute durch Umlaute zu ersetzen? Confused
BTW Wenn Groß und Klein dabei beachtet werden soll, dann verwende vbBinaryCompare

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
jonnyb2006
VBA Dummie


Verfasst am:
11. Okt 2007, 07:43
Rufname:
Wohnort: Kassel

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

jonnyb2006 am 11. Okt 2007 um 07:10 hat folgendes geschrieben:
Hallo Willy,
das Forum hat mir den Code durch Umlaute ersetzt.
Sollte eigentlich so
Code:
    Replace(AltText, "ä", "&##228;")
ausehen nur mit 1#, aber dann wird der Code ersetzt. In der xfdf Datei dürfen keine Umlaute stehen im Formular sollen die Umlaute aber wieder erscheinen!
gruß
Bernd

P.S. Hier noch mal die Funktion:

Code:
Function fncUmlaute(AltText As String)
    Dim tmpstr As String

    tmpstr = Replace(AltText, "ä", "&##228;")
    tmpstr = Replace(tmpstr, "Ä", "&##196;")
    tmpstr = Replace(tmpstr, "ü", "&##252;")
    tmpstr = Replace(tmpstr, "Ü", "&##220;")
    tmpstr = Replace(tmpstr, "ö", "&##246;")
    tmpstr = Replace(tmpstr, "Ö", "&##214;")
    tmpstr = Replace(tmpstr, "AA1", "SERVICE")
    tmpstr = Replace(tmpstr, "AA2", "UMBAU")
    tmpstr = Replace(tmpstr, "AA3", "WARTUNG")
    tmpstr = Replace(tmpstr, "AA4", "MONTAGE")
    tmpstr = Replace(tmpstr, "AA5", "SERVICE")
    tmpstr = Replace(tmpstr, "AA6", "SERVICE")
    tmpstr = Replace(tmpstr, "ZO1", "Anfahrtzone 1")
    tmpstr = Replace(tmpstr, "ZO2", "Anfahrtzone 2")
    tmpstr = Replace(tmpstr, "ZO3", "Anfahrtzone 3")
    tmpstr = Replace(tmpstr, "ZO4", "Anfahrtzone 4")
    tmpstr = Replace(tmpstr, "ZO6", "Anfahrtzone Globus")
    tmpstr = Replace(tmpstr, " & ", " &##038; ")
    fncUmlaute = Replace(tmpstr, "ß", "&##223;")
End Function

Hallo, habe nun folgendes Problem wo ich nicht weiterkomme:
Der Code sieht so aus:
Code:
Private Sub Generiere_xfdf_Click()
    Dim oDatNum As Integer
    Dim AusgDat As String
   
    AusgDat = "d:\Kundendienst\eServicebericht\eSB_" & Me![A_Projekt] & _
              "A" & Format([Auftragsart], "00") & _
              Format(Me![o_gebiet], "00") & "-" & Format(Me![Datum], "yy") & _
              Format(Me![Nr], "0000") & ".xfdf"
    Close ' in testphase
    oDatNum = FreeFile
    Open AusgDat For Output As oDatNum
    Print #oDatNum, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & _
                    " encoding=" & Chr(34) & "UTF-8" & Chr(34) & " ?>"
    Print #oDatNum, "<xfdf xmlns=" & Chr(34) & "http://ns.adobe.com/xfdf/" & _
                    Chr(34) & " xml:space=" & Chr(34) & "preserve" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(3) & "<ids original=" & Chr(34) & Chr(34) & _
                    " modified=" & Chr(34) & Chr(34) & "></ids>"
    Print #oDatNum, Space(3) & "<fields>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "A_Projekt" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![A_Projekt]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_name1" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_name1]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_strasse" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_strasse]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_plz" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_plz]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_ort" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_ort]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_person1" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_person1_tel" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1_tel]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_person1_fax" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1_fax"]) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "AN_1" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Auftragsart], "00") & _
                    Format(Me![o_gebiet], "00")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "AN_2" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Datum], "yy") & _
                    Format(Me![Nr], "0000")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "typ1" & Chr(34) & _
                    ">"
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![typ1]) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "Auftragsart" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![Auftragsart], """AA""#")) & _
                    "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(6) & "<field name=" & Chr(34) & "o_zone" & _
                    Chr(34) & ">"
    Print #oDatNum, Space(9) & "<value>" & _
                    fncUmlaute(Format(Me![o_zone], """ZO""#")) & "</value>"
    Print #oDatNum, Space(6) & "</field>"
    Print #oDatNum, Space(3) & "</fields>"
    Print #oDatNum, "</xfdf>"
    Close oDatNum
End Sub

Function fncUmlaute(AltText As String)
    Dim tmpstr As String

    tmpstr = Replace(AltText, "ä", "&##228;")
    tmpstr = Replace(tmpstr, "Ä", "&##196;")
    tmpstr = Replace(tmpstr, "ü", "&##252;")
    tmpstr = Replace(tmpstr, "Ü", "&##220;")
    tmpstr = Replace(tmpstr, "ö", "&##246;")
    tmpstr = Replace(tmpstr, "Ö", "&##214;")
    tmpstr = Replace(tmpstr, "AA1", "SERVICE")
    tmpstr = Replace(tmpstr, "AA2", "UMBAU")
    tmpstr = Replace(tmpstr, "AA3", "WARTUNG")
    tmpstr = Replace(tmpstr, "AA4", "MONTAGE")
    tmpstr = Replace(tmpstr, "AA5", "SERVICE")
    tmpstr = Replace(tmpstr, "AA6", "SERVICE")
    tmpstr = Replace(tmpstr, "ZO1", "Anfahrtzone 1")
    tmpstr = Replace(tmpstr, "ZO2", "Anfahrtzone 2")
    tmpstr = Replace(tmpstr, "ZO3", "Anfahrtzone 3")
    tmpstr = Replace(tmpstr, "ZO4", "Anfahrtzone 4")
    tmpstr = Replace(tmpstr, "ZO6", "Anfahrtzone Globus")
    tmpstr = Replace(tmpstr, " & ", " &##038; ")
    fncUmlaute = Replace(tmpstr, "ß", "&##223;")
End Function
Nun ist das Problem das wenn z.B das Feld
Code:
    Print #oDatNum, Space(9) & "<value>" & fncUmlaute(Me![o_person1_fax"]) & _
                    "</value>"
einen Nullwert enthält kommt ein
Zitat:
Laufzeitfehler 94: unzulässige Verwendung von null
Nun ist es so das aber Werte die null enthalten später im Formular z.B. durch folgenden Text ersetzt werden sollen: "BITTE FELD AUSFÜLLEN!", wie kann ich das bewerkstelligen?

gruß
Bernd

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
steffen0815
VBA-Programmierer


Verfasst am:
11. Okt 2007, 08:00
Rufname:

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo,
wenn auch Nullwerte vorkommen, muss der Kopf der Funktion verändert werden (Variant) und eine entsprechende Bedingung eingefügt werden:
Code:
Function fncUmlaute(AltText As Variant)
    Dim tmpstr As String

    If IsNull(AltText) Then
        fncUmlaute = "BITTE FELD AUSFÜLLEN!"
        Exit Function
    End If
    ' ......
    ' ....

_________________
Gruß Steffen
jonnyb2006
VBA Dummie


Verfasst am:
11. Okt 2007, 08:24
Rufname:
Wohnort: Kassel

AW: Textfeld aus Formular in neue Textdatei kopieren - AW: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hallo Steffen, prima das geht soweit Wink Danke!
Der Code sieht nun so aus:
Code:
Function fncUmlaute(AltText As Variant)
    Dim tmpstr As String

    If IsNull(AltText) Then
        fncUmlaute = "AUSFUELLEN"
        Exit Function
    End If
    tmpstr = Replace(AltText, "ä", "&##228;")
    tmpstr = Replace(tmpstr, "Ä", "&##196;")
    tmpstr = Replace(tmpstr, "ü", "&##252;")
    tmpstr = Replace(tmpstr, "Ü", "&##220;")
    tmpstr = Replace(tmpstr, "ö", "&##246;")
    tmpstr = Replace(tmpstr, "Ö", "&##214;")
    tmpstr = Replace(tmpstr, "AA1", "SERVICE")
    tmpstr = Replace(tmpstr, "AA2", "UMBAU")
    tmpstr = Replace(tmpstr, "AA3", "WARTUNG")
    tmpstr = Replace(tmpstr, "AA4", "MONTAGE")
    tmpstr = Replace(tmpstr, "AA5", "SERVICE")
    tmpstr = Replace(tmpstr, "AA6", "SERVICE")
    tmpstr = Replace(tmpstr, "ZO1", "Anfahrtzone 1")
    tmpstr = Replace(tmpstr, "ZO2", "Anfahrtzone 2")
    tmpstr = Replace(tmpstr, "ZO3", "Anfahrtzone 3")
    tmpstr = Replace(tmpstr, "ZO4", "Anfahrtzone 4")
    tmpstr = Replace(tmpstr, "ZO6", "Anfahrtzone Globus")
    tmpstr = Replace(tmpstr, " & ", " &##038; ")
    tmpstr = Replace(tmpstr, "!", " &##033; ")
    fncUmlaute = Replace(tmpstr, "ß", "&##223;")
End Function

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
Willi Wipp
Moderator


Verfasst am:
11. Okt 2007, 12:55
Rufname:
Wohnort: Raum Wiesbaden

Re: Textfeld aus Formular in neue Textdatei kopieren - Re: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Hi jonnyb2006,

an dieser Stelle noch einmal der Hinweis auf vbBinaryCompare
Code:
Function fncUmlaute(AltText As Variant)
    Dim tmpstr As String

    If IsNull(AltText) Then
        fncUmlaute = "AUSFUELLEN"
        Exit Function
    End If
    tmpstr = Replace(AltText, "ä", "&##228;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "Ä", "&##196;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "ü", "&##252;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "Ü", "&##220;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "ö", "&##246;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "Ö", "&##214;", , , vbBinaryCompare)
    tmpstr = Replace(tmpstr, "AA1", "SERVICE")
    tmpstr = Replace(tmpstr, "AA2", "UMBAU")
    tmpstr = Replace(tmpstr, "AA3", "WARTUNG")
    tmpstr = Replace(tmpstr, "AA4", "MONTAGE")
    tmpstr = Replace(tmpstr, "AA5", "SERVICE")
    tmpstr = Replace(tmpstr, "AA6", "SERVICE")
    tmpstr = Replace(tmpstr, "ZO1", "Anfahrtzone 1")
    tmpstr = Replace(tmpstr, "ZO2", "Anfahrtzone 2")
    tmpstr = Replace(tmpstr, "ZO3", "Anfahrtzone 3")
    tmpstr = Replace(tmpstr, "ZO4", "Anfahrtzone 4")
    tmpstr = Replace(tmpstr, "ZO6", "Anfahrtzone Globus")
    tmpstr = Replace(tmpstr, " & ", " &##038; ")
    tmpstr = Replace(tmpstr, "!", " &##033; ")
    fncUmlaute = Replace(tmpstr, "ß", "&##223;")
End Function

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
jonnyb2006
VBA Dummie


Verfasst am:
11. Okt 2007, 13:40
Rufname:
Wohnort: Kassel


Re: Textfeld aus Formular in neue Textdatei kopieren - Re: Textfeld aus Formular in neue Textdatei kopieren

Nach oben
       Version: Office 2003

Was macht das genau? Die Umlaute dürfen nicht ersetzt werden sondern nur in Ihren ASCII Code umgewandelt werden!
gruß
Bernd

_________________
gruß
Bernd


Du mußt Deinen Traum finden dann wird der Weg leicht!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Formeln vom Formular, werden in der Abfrage nicht angezeigt 4 maddes 895 23. Nov 2004, 12:38
Skogafoss Formeln vom Formular, werden in der Abfrage nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Textlänge in einem Textfeld 4 brauchehilfe@office 2425 30. Okt 2004, 00:05
brauchehilfe@office Textlänge in einem Textfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Importspezifikationen kopieren 1 Barbara 4336 26. Okt 2004, 11:23
Skogafoss Importspezifikationen kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage nachträglich neue Tabelle einfügen 2 Chris79 498 13. Okt 2004, 22:18
Gast In Abfrage nachträglich neue Tabelle einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile der Dateneingabe (*) in einem Formular verschieben 2 Albertus 790 08. Okt 2004, 09:17
Albertus Zeile der Dateneingabe (*) in einem Formular verschieben
Keine neuen Beiträge Access Tabellen & Abfragen: Suchfunktion mit mehreren Kriterien aus Formular 5 Danny G. 2218 09. Sep 2004, 11:08
Danny G. Suchfunktion mit mehreren Kriterien aus Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle, Formular, Abfrage...und nun ? 3 Gags 790 29. Aug 2004, 22:05
lothi Tabelle, Formular, Abfrage...und nun ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragefeld nachträglich in Formular 3 Sebbl 1705 05. Aug 2004, 15:14
mabe38 Abfragefeld nachträglich in Formular
Keine neuen Beiträge Access Tabellen & Abfragen: 24 felder aus 1 DS in 24 versch. Datensätze kopieren. 3 Mirko 593 30. Jul 2004, 13:55
Willi Wipp 24 felder aus 1 DS in 24 versch. Datensätze kopieren.
Keine neuen Beiträge Access Tabellen & Abfragen: Formular aus Endlosformular öffnen ? 10 G-Markus 1619 20. Jul 2004, 15:38
Gast Formular aus Endlosformular öffnen ?
Keine neuen Beiträge Access Tabellen & Abfragen: in einem Textfeld letztes Zeichen löschen? 2 mokona.s 1923 19. Jul 2004, 13:24
mokona.s in einem Textfeld letztes Zeichen löschen?
Keine neuen Beiträge Access Tabellen & Abfragen: Kreuztabellenabfrage für neue Tabelle nutzen 3 WaterMan 805 06. Jul 2004, 14:39
mabe38 Kreuztabellenabfrage für neue Tabelle nutzen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks