Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: maniaspets am November 22, 2010, 09:29:19

Titel: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 09:29:19
habe schon etwas gebastelt funktioniert auch aber will dies auch noch bei NameFirma haben.

Und wenn es bei beiden zutrifft sollte es auch bei beiden so sein.

Hier der Code ich weiß es würde auch anders gehen:

Private Sub Drucken_Click()
If Len(Me!Strasse) <= 23 Then

    If Absender = True Then
      Call EPL_File_export("Adressen_op", "Absender:", "Krankenhaus der Barmherzigen", "Schwestern Ried", "Schlossberg 1", "4910 Ried", "Zentral OP", "", "", "", "", "1")
    sTestSleep
    End If
   
        If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & vbCrLf & _
                    Me!Strasse & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                     
                   
                   Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), Nz(Me!Strasse), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "", "", "1")
                   
       
                End If
        Else
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & vbCrLf & _
                    "z.Hd. " & Me!zHdAnrede & vbCrLf & _
                    Me!zHdName & vbCrLf & _
                    Me!Strasse & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!zHdAnrede) Or Not IsNull(Me!zHdName) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                    Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), "z.Hd. " & Nz(Me!zHdAnrede), Nz(Me!zHdName), Nz(Me!Strasse), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "1")
               End If
        End If
   Else

    If Absender = True Then
      Call EPL_File_export("Adressen_op", "Absender:", "Krankenhaus der Barmherzigen", "Schwestern Ried", "Schlossberg 1", "4910 Ried", "Zentral OP", "", "", "", "", "1")
    sTestSleep
    End If
   
        If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & " " & vbCrLf & _
                    Left(Me!Strasse, 24) & " " & vbCrLf & _
                    Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                     
                   
                   Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), Nz(Left(Me!Strasse, 23)), Nz(Mid(Me!Strasse, 24, Len(Me!Strasse) - 23)), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "", "1")
                   
             
                End If
        Else
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & " " & vbCrLf & _
                    "z.Hd. " & Me!zHdAnrede & vbCrLf & _
                    Me!zHdName & vbCrLf & _
                    Left(Me!Strasse, 23) & " " & vbCrLf & _
                    Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!zHdAnrede) Or Not IsNull(Me!zHdName) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                    Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), "z.Hd. " & Nz(Me!zHdAnrede), Nz(Me!zHdName), Nz(Left(Me!Strasse, 23)), Nz(Mid(Me!Strasse, 24, Len(Me!Strasse) - 23)), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "1")
                             
                End If
                   
                   
        End If
End If
End Sub
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: MzKlMu am November 22, 2010, 09:36:00
Hallo,
und was ist jetzt Deine Frage/Problem?


Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 09:45:55
Bei "Me!NameFirma"will ich genauso wie nach Me!Strassee einen Zeilenumbruch nache 23 Zeichen machen.
und in der Nächsten zeile soll der rest dann rein geschrieben werden.
Bei der Strasse funktioniert das auch schon sehr gut.

habe mich jetzt schon eine Weile damit gespielt und komme nicht drauf wie das funktioniert.

Natürlich soll es dann auch funktionieren wenn beide einträg länger als 23 zeichen lang sind.

Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: database am November 22, 2010, 10:06:59
Hallo,

warum ersetzt du dann nicht einfach die Feldnamen?


    Left(Me!NameFirma, 23) & " " & vbCrLf & _
    Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23) & vbCrLf & _


Grüße
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 10:28:47
hallo

das habe ich bereits auch schon versucht will aber nicht funktionieren.
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: MzKlMu am November 22, 2010, 10:47:06
Hallo,
Zitatwill aber nicht funktionieren.
sehr erschöpfende Antwort.
Bedenke bei Deinen Antworten, dass Du Hilfe haben willst.
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 12:01:08
ja ich meine ich habs auch schon geändert aber es ändert nichts in der ausführung.

Also es ändert sich nur bei der Strasse etwas wie schon zuvor.

Ich werde wahrscheinlich noch eine If schleife benötigen damit es sich bei NameFirma ebesnso ändert als auch bei der Strasse?
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: database am November 22, 2010, 12:39:58
Naja, ...

und was genau geht nicht?

Versuche mal ...   Left(Me!NameFirma, 23)  ... alleine

Und If ist keine Schleife sondern eine Bedingung!

Was kommt dabei raus?
Setze einen Haltepunkt auf die Routine und springe per F8 durch den Code...

p.s. außerdem hast du in deinem Code ein paar Leerzeichen zu viel - bzw. an Stellen, an denen du sie nicht brauchst!

Gruß

Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 12:44:50
hab ich gemacht dann kommt immer der Fehler:

"Ungültiger Prozedurdurchlauf oder ungültiges Argument"
an der stelle wo das mit dem NameFirma und Straße geändert habe

ZitatUnd If ist keine Schleife sondern eine Bedingung!
das meinte ich auch^^ :D
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: database am November 22, 2010, 12:50:06
Hi,

K O P I E R E den Code, der den Fehler J E T Z T verursacht hat hier rein...
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 12:55:08
Hier
If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Left(Me!NameFirma, 23) & "  " & vbCrLf & _
                    Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23) & " " & vbCrLf & _
                    Left(Me!Strasse, 24) & " " & vbCrLf & _
                    Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                     
                   
                   Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Left(Me!NameFirma, 23)), Nz(Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23)), Nz(Left(Me!Strasse, 23)), Nz(Mid(Me!Strasse, 24, Len(Me!Strasse) - 23)), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "1")
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 13:03:10
Hier der gesamte code:

Private Sub Drucken_Click()
If Len(Me!Strasse) <= 23 Then
   
        If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & vbCrLf & _
                    Me!Strasse & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                     
                   
                   Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), Nz(Me!Strasse), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "", "", "1")
                   
       
                End If
        Else
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Me!NameFirma & vbCrLf & _
                    "z.Hd. " & Me!zHdAnrede & vbCrLf & _
                    Me!zHdName & vbCrLf & _
                    Me!Strasse & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!zHdAnrede) Or Not IsNull(Me!zHdName) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                    Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Me!NameFirma), "z.Hd. " & Nz(Me!zHdAnrede), Nz(Me!zHdName), Nz(Me!Strasse), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "1")
               End If
        End If
   Else

    If Absender = True Then
      Call EPL_File_export("Adressen_op", "Absender:", "Krankenhaus der Barmherzigen", "Schwestern Ried", "Schlossberg 1", "4910 Ried", "Zentral OP", "", "", "", "", "1")
    sTestSleep
    End If
   
        If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Left(Me!NameFirma, 23) & "  " & vbCrLf & _
                    Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23) & " " & vbCrLf & _
                    Left(Me!Strasse, 24) & " " & vbCrLf & _
                    Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                     
                   
                   Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Left(Me!NameFirma, 23)), Nz(Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23)), Nz(Left(Me!Strasse, 23)), Nz(Mid(Me!Strasse, 24, Len(Me!Strasse) - 23)), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "", "", "1")
                   
             
                End If
        Else
            Me!Vorschaufeld = Me!Anrede & vbCrLf & _
                    Left(Me!NameFirma, 23) & "  " & vbCrLf & _
                    Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23) & " " & vbCrLf & _
                    "z.Hd. " & Me!zHdAnrede & vbCrLf & _
                    Me!zHdName & vbCrLf & _
                    Left(Me!Strasse, 23) & " " & vbCrLf & _
                    Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & " " & vbCrLf & _
                    Me!PLZ & " " & Me!Ort & vbCrLf & _
                    Me!Land & vbCrLf & _
                    Me!FreiTextfeld
                If Not IsNull(Me!Anrede) Or Not IsNull(Me!NameFirma) Or Not IsNull(Me!zHdAnrede) Or Not IsNull(Me!zHdName) Or Not IsNull(Me!Strasse) Or Not IsNull(Me!PLZ) Or Not IsNull(Ort) Or Not IsNull(Me!Land) Or Not IsNull(Me!FreiTextfeld) Then
                    Call EPL_File_export("Adressen", Nz(Me!Anrede), Nz(Left(Me!NameFirma, 23)), Nz(Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23)), "z.Hd. " & Nz(Me!zHdAnrede), Nz(Me!zHdName), Nz(Left(Me!Strasse, 23)), Nz(Mid(Me!Strasse, 24, Len(Me!Strasse) - 23)), Nz(Me!PLZ) & " " & Nz(Me!Ort), Nz(Me!Land), Nz(Me!FreiTextfeld), "1")
                             
                End If
                   
                   
        End If
End If
End Sub
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: database am November 22, 2010, 13:14:38
Versuch mal folgenden Code in deinen zu implementieren bzw. auszutauschen ...
Der Teil nach Else wird ja nur ausgeführt, wenn der Strassennahme > 23 ist.
Daher muss die Bedingung für dien Firmennamen speziell implementiert werden..



Else
   If Absender = True Then
       Call EPL_File_export("Adressen_op", "Absender:", "Krankenhaus der Barmherzigen", "Schwestern Ried", "Schlossberg 1", "4910 Ried", "Zentral    OP", "", "", "", "", "1")    sTestSleep
   End If

If IsNull(Me!zHdAnrede) And IsNull(Me!zHdName) Then
   Me!Vorschaufeld = Me!Anrede

   'Die Bedingung wenn der Firmenname länger als 23 Zeichen ist...
   If Len(Me!NameFirma)> 23 Then
      Me!Vorschaufeld = Me!Vorschaufeld & vbCrLf & _
      Left(Me!NameFirma, 24) & vbCrLf & _
      Mid(Me!NameFirma, 24, Len(Me!NameFirma) - 23)
   Else
      Me!Vorschaufeld = Me!Vorschaufeld & vbCrLf & _
      Me!NameFirma
   End If

   Me!Vorschaufeld = Me!Vorschaufeld & vbCrLf & _
   Left(Me!Strasse, 24) & vbCrLf & _
   Mid(Me!Strasse, 24, Len(Me!Strasse) - 23) & vbCrLf & _
   Me!PLZ & " " & Me!Ort & vbCrLf & _
   Me!Land & vbCrLf & _
   Me!FreiTextfeld

...
..
.


Für den 2. Teil (wenn z.Hd. auch eingetragen wurde musst du noch nach diesem Muster implementieren.

Das sollte laufen!

Peter
Titel: Re: Zeilenumbruch nach zeichen
Beitrag von: maniaspets am November 22, 2010, 13:26:37
Ja genau das wars! ;D

Danke für die Hilfe.