Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Nur 255 Zeichen bei Übergabe???

Begonnen von Umbauwfb, Februar 06, 2022, 13:50:39

⏪ vorheriges - nächstes ⏩

Umbauwfb

Hallo,
ich übergebe mit einer ComboBox bei Aktualisierung den Lang-Text eines Tabellenfelds.
Offensichtlich werden nur 255 Zeichen (???) übergeben...
Liegt das am Befehl?
Was muss ich ändern? Kann da mal jemand draufschauen?
Vielen Dank für die Unterstützung!
Harry


Private Sub cbxInhaltLang_AfterUpdate()
Me.txtInhalt = cbxInhaltLang.Column(2)
End Sub






Beaker s.a.

Hallo Harry,
Die Spaltenbreiten von List- + Kombifeldern ist IMO auf diesen Wert
beschränkt.
Hole den Wert direkt aus der Tabelle
Me.txtInhalt = DLookup("InhaltLang","DeineTabelle", "IDinTabelle = " & Me.cbxInhaltLangVoraussetzung: die erste Spalte des Kombis enthält die ID des gesuchten DS.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
das geht nicht mit einer ComboBox, diese kann in einer Spalte nur 255 Zeichen enthalten.
Das musst Du mit einer Anfügeabfrage erledigen.
Wieso muss da überhaupt der Langtext übergeben werden ?
Wo kommt der Langtext her ?
Wenn der aus einer Tabelle kommt, hat diese Tabelle keinen Primärschlüssel ?
Gruß Klaus

Umbauwfb

Danke für die erste Hilfe,

Zweck der Aktion ist das Befüllen des Textfelds [Me.txtInhalt]
mit einem Standard-Text aus der Tabelle [StandardTextInhaltT]
und dem Tabellenfeld [InhaltLang],
der dann im Textfeld [Me.txtInhalt] noch ergänzt wird.


Das Textfeld [Me.txtInhalt] wird im weiteren Prozess als Email-Body in einer Serien-Email verwendet.
Dieser ganze Ablauf läuft auch schon.
Bis auf die Begrenzung der Textlänge, die jetzt geklärt ist...

Ich wähle den gewünschten Text mit der ComboBox cbxInhaltLang aus und will das Schreiben in der ComboBox mit "After Update" auslösen...

cbxInhaltLang:
Spalte 1: ID             (wird in der ComboBox nicht angezeigt, weil Längenvorgabe:0cm)
Spalte 2: InhaltKurz     (dient zum Treffen der Auswahl)
Spalte 3: InhaltLang     (soll in [Me.txtInhalt] geschrieben werden)


Vermutlich klappt das nicht, weil ich mich dann auf mich selbst beziehe...
Ist es nicht möglich, in der ComboBox auszuwählen und dann mit dem ausgewählten Inhalt zu schreiben?

Private Sub cbxInhaltLang_AfterUpdate()

        Me.txtInhalt = DLookup("InhaltLang","StandardTextInhaltT", "ID = " & Me.cbxInhaltLang
       
End Sub


MzKlMu

Hallo,
es genügt doch vollständig nur die ID zu übertragen.
Für die EMail nimmst Du eine Abfrage mit der Tabelle [StandardTextInhaltT], dann hast Du direkt alle Felder aus beiden Tabellen zur Verfügung.
Gruß Klaus

Umbauwfb

Der Text wird in ein Textfeld gschrieben und dort noch händisch individuell ergänzt...deswegen ist die Weitergabe mit der ID leider nicht möglich...
siehe Anhang

Umbauwfb

Wenn der Transfer nicht mit der ComboBox zu machen ist, muss ich noch eine Cmd-Feld daneben legen...
schöner wäre es aber direkt mit Auswahl in der ComboBox und direktem speichern (nach Auswahl) in dem Textfeld ...

MzKlMu

Hallo,
Das geht nicht mit der Combobox.
Die Lösung von ekkehard in #1 sollte funktionieren.
Was genau klappt denn nicht?
Gruß Klaus

PhilS

Zitat von: Umbauwfb am Februar 06, 2022, 16:03:11Vermutlich klappt das nicht, weil ich mich dann auf mich selbst beziehe...
Ist es nicht möglich, in der ComboBox auszuwählen und dann mit dem ausgewählten Inhalt zu schreiben?
Das ist möglich und sollte auch mit deinem Code funktionieren, wenn du die fehlende Klammer am Ende deiner Codezeile ergänzt.

Wenn es nicht funktioniert, dann beschreibe bitte das Problem so, dass es andere Menschen auch verstehen können. "Klappt nicht" ist als Problembeschreibung unzureichend.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Umbauwfb

Stimmt!! Es geht mit der ComboBox...ich habe es eben auch gemerkt!
Trotzdem vielen Dank für den Hinweis!
Es läuft jetzt perfekt so wie es soll :)

Private Sub cbxInhaltLang_Click()
    Me.txtInhalt = DLookup("InhaltLang", "StandardTextInhaltT", "ID = " & Me.cbxInhaltLang)
End Sub

Grüße aus Lüneburg
Harry

Beaker s.a.

Was soll man da sagen; - lange Rede kurzer Sinn
Ich würde es aber beim Ereignis "AfterUpdate" belassen, weil das
Textfeld "Beim Klicken" schon vor der bzw. ohne explizite Auswahl
gefüllt wird. Oder es zu einem Fehler führt solange das Kombi NULL
ist.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)