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
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
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 ?
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
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.
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
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 ...
Hallo,
Das geht nicht mit der Combobox.
Die Lösung von ekkehard in #1 sollte funktionieren.
Was genau klappt denn nicht?
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.
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
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.