Office: (Office 2010) Formular: Textfeld (RTF)

Helfe beim Thema Formular: Textfeld (RTF) in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, in Access 2010 verwenden wir ein Formular zur Ausgabe und Formatierung als Report. Für eine Aufzählungsliste mit Punkten, haben wir... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von geek_munich, 28. Januar 2013.

  1. Formular: Textfeld (RTF)


    Hallo zusammen,

    in Access 2010 verwenden wir ein Formular zur Ausgabe und Formatierung als Report.
    Für eine Aufzählungsliste mit Punkten, haben wir ein Textfeld als RTF eingefügt und verwenden aktuell HTML-Code.
    • Listenelement1


    Problem ist, dass bei längerem Text automatisch Zeilenumbruch kommt und dann wird Listenelement nicht eingerückt angedruckt.
    Kompletter Bereich soll noch zusätzlich als Block formatiert werden.

    Wie kann man Aufzählungslisten formaitieren?

    Als Beispiel, wie es sein sollte:
    • Das ist ein langes Listenelement und wird auf mehreren Zeilen ausgegeben, jedoch sollte es in der 2.Zeile eingerückt werden und auf gleicher Höhe beginnen, wie in Zeile 1. Aktuell wird es aber linksbündig angefangen. Der komplette Bereich wird als Block formatiert.

    Workaround fiel mir nur ein die Zeichen zu zählen und manuell Zeilenumbruch und Aufzählungszeichen zu setzen. Ist aber nicht generisch, weil es von Schritfgröße und Breite des RTF-Textfeldes abhängt.

    Danke für Eure Tipps.

    :)
     
    geek_munich, 28. Januar 2013
    #1
  2. Hallo und willkommen im Forum!

    Listendarstellung:
    Du könntest den Listenpunkt vor das Textfeld (vergrößerbar) setzen.
    Wenn sich Listen und andere Textarten vermischen evtl. mit Unterberichten arbeiten.
    Um hier konkrete Tipps zu geben, müsste man mehr über das Gesamtdokument erfahren.

    Verwendest du das RTF nur wegen der Liste oder kommen noch andere Formatierungen zum Zug?

    Zum Thema Blocksatz siehe z.B.:
    http://ms-office-forum.net/forum/sho...d.php?t=296898

    BTW:
    Warum nicht gleich einen Bericht?
     
    Marsu65, 29. Januar 2013
    #2
  3. Danke für die Antwort.

    Klingt nach einer Variante den Punkt davor zu setzen.
    Problem sehe ich nur zu erkennen an welcher Stelle neues Aufzählungselement beginnt. Wir laden die Aufzählungsliste via VBA aus der Datenbank und platzieren diese und die Aufzählungspunkte sind unterschiedlich lang bzw. es könnten auch welche übersprungen werden...


    Formular statt Bericht, weil wir zur Laufzeit noch Daten auslesen und z.B. bedingt im VBA-Code formatieren.
    RTF: Wg. Blocksatz, spezielle Schrift, etc.
     
    geek_munich, 29. Januar 2013
    #3
  4. Formular: Textfeld (RTF)

    Was heißt das genau?

    Für RTF wird intern auch HTML verwendet. Gibt es da eine Überschneidung von Euerem HTML-Code und dem internen?

    Mit Acc2010 und RTF bin ich noch Neuling. Allerdings kann man sich den HTML-Text eines RTF-Feldes als Normaltext, also inklusive der HTML-Tags, anzeigen lassen. Somit kann man umgedreht mit HTML-Kenntnissen einen Normaltext mit den Access-Bedürfnissen erstellen (wenn man schon per VBA arbeitet) und sich das Ganze dann in ein RTF-Feld ausgeben und anzeigen zu lassen.
     
  5. Wir haben einen Lösungsansatz gewählt, aber irgendwo gibt es noch einen Fehler, das es nicht immer 100%ig richtig funktioniert.
    Wir haben 2 RTF-Textfelder. Ein schmales, wo nur die Bullet Points eingefügt werden und rechts ein breiteres mit dem Text in Blocksatz formatiert.

    Wir zählen pro Aufzählungselement, wieviele Zeilen es geben sollte und haben einen Wert wieviele Zeichen minimal enthalten sein sollen und wieviele maximal. Es gibt ja leider keine Silbentrennung und bei längerern Wörtern ist die Überprüfung notwendig.
    Die Bullet Points setzen wir einfach mit HTML-Code im schmalen RTF-Textfeld neben dem Text.

    Für jedes Element rufen wir folgende Funktion auf, um die Bullet Points zu setzen und übergeben die Anzahl der Zeichen, die ins rechte Textelement passen...


    Freue mich über weitere Anregungen od. falls jemand noch einen Fehler entdekct. Danke an Euch.

    'load a text element strListElement into a listing with bullet points of boilerplates; in RTF-textfield
    'manuel new line is detected by the number of letters, therefore add what's the minimum and maximum number of letters that fit into one line
    'the end of a word is detected, since hyphenation is not build in with Access
    Function Section_list_load_formated_only_bulltet_points(strListElement As String, strBPResult As String, Optional intCountLettersMin As Integer = 35, Optional intCountLettersMax As Integer = 55)

    Dim strListElement2 As String
    Dim leftPart, wordEnd, wordEnd2 As Integer

    strListElement2 = ""

    'read the new element into strListElement

    'start with the minimum numbers of letters for a line
    leftPart = intCountLettersMin

    'repeat until not at the end of the current boilerplate-element
    Do While leftPart < Len(strListElement)
    'find the first space
    wordEnd = InStr(leftPart + 1, strListElement, " ")
    If wordEnd > 0 Then
    'if there is a space
    'check if there is still another space that's still within the limit (intCounterLetterMax)
    For i = wordEnd To (leftPart - intCountLettersMin + intCountLettersMax - 1) Step 1
    If InStr(i, strListElement, " ") < (wordEnd - intCountLettersMin + intCountLettersMax) Then
    wordEnd2 = InStr(i, strListElement, " ")
    End If
    Next
    'set wordEnd to the last available space within the min and max limit of letters
    If wordEnd2 > wordEnd Then
    wordEnd = wordEnd2
    End If
    'add the part of strListElement and add at the end a line break
    'strListElement2 = strListElement2 & Mid(strListElement, leftPart - intCountLettersMin + 1, wordEnd - leftPart + intCountLettersMin - 1) & "
    " & " "
    strListElement2 = strListElement2 & "
    " & " "
    'set leftPart to the detected and processed space, to continue with the rest in the next loop
    leftPart = wordEnd
    Else
    'no space detected: end of boiler plate that fits into one line
    'strListElement2 = strListElement2 & Mid(strListElement, leftPart, Len(strListElement) - leftPart + 1)
    'set leftPart to the size of strListElement to exit the loop
    leftPart = Len(strListElement)
    End If
    '""

    'check if there are enough words/letters left to check for the next line
    If (leftPart + intCountLettersMin) < Len(strListElement) Then
    leftPart = leftPart + intCountLettersMin
    Else
    'last line: add without linebreak at the end
    leftPart = leftPart + 1
    'strListElement2 = strListElement2 & Mid(strListElement, leftPart, Len(strListElement) - leftPart + 1)
    leftPart = Len(strListElement)
    End If
    Loop


    If strListElement2 = "" Then
    strBPResult = strBPResult
    Else
    'consider manuell line break
    'in the input text, there might be a manual line break
    If InStr(1, strBP, "
    ") > 0 Then
    strBP2 = strBP2 & "
    "
    End If
    'add new boiler plate element with line feeds and add a bullet point at the beginning and a line feed at the end
    strBPResult = strBPResult & "" & Chr(149) & "" & " " & strListElement2 & "
    "
    End If


    End Function
     
    geek_munich, 4. März 2013
    #5
Thema:

Formular: Textfeld (RTF)

Die Seite wird geladen...
  1. Formular: Textfeld (RTF) - Similar Threads - Formular Textfeld RTF

  2. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  3. Schriftart im Formular

    in Microsoft Access Hilfe
    Schriftart im Formular: Hallo, ich habe folgendes Problem. in einem Formular gibt es ein Textfeld, in dem das Schriftformat auf Microsoft YaHei, Größe 10 und Schriftweite Normal eingestellt ist. Wenn ich einen neuen...
  4. Textfelder aus eine Formular in eine Fremdtabelle übertragen

    in Microsoft Access Hilfe
    Textfelder aus eine Formular in eine Fremdtabelle übertragen: Hallo zusammen, ich habe Berarbeitungsformular der sich auf eine Abfrage (Tabelle1) bezieht und einen Datensatz aus der Abfrage im Detailansicht darstellt. Ich möchte aus der...
  5. Textfeld in Formular mit Daten aus anderer Tabelle füllen

    in Microsoft Access Hilfe
    Textfeld in Formular mit Daten aus anderer Tabelle füllen: Hallo, ich möchte ein Textfeld in einem Formular mit Daten aus einer anderen Tabelle befüllen. Das Formular enthält ein Feld ProSite. Hier ist die eindeutige ID der Niederlassung eingetragen....
  6. Erstellen eines Textfelds in einem Formular, das einen Wert in einer Tabelle nachschlägt

    in Microsoft Access Tutorials
    Erstellen eines Textfelds in einem Formular, das einen Wert in einer Tabelle nachschlägt: Erstellen eines Textfelds in einem Formular, das einen Wert in einer Tabelle nachschlägt Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access...
  7. Hinzufügen eines Textfeld-Steuerelements zu einem Formular oder zu einem Bericht

    in Microsoft Access Tutorials
    Hinzufügen eines Textfeld-Steuerelements zu einem Formular oder zu einem Bericht: Hinzufügen eines Textfeld-Steuerelements zu einem Formular oder zu einem Bericht Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010...
  8. Zählen (Count) im Textfeld des Formular

    in Microsoft Access Hilfe
    Zählen (Count) im Textfeld des Formular: Hallo zusammen ich versuche seit Tagen in einem Formular in einem Textfeld die Anzahl eines Textes "Elektronik" zu Zählen und Als Summe auch dem entsprechend Anzuzeigen. Die Abfrage ist auch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden