beim Klicken soll für ein ungebundenes Textfeld dieser Code ausgeführt
werden:
Me!MeinTextfeld.SelStart = 0
Me!MeinTextfeld.SelLength = Len("" & Me!MeinTextfeld)
Das soll den Feldinhalt markieren - sozusagen "nach den Regeln der Kunst"
(FAQ 4.24)
Aber anscheinend versteht mein Feld nichts von Kunst. Denn wenn ich darauf
klicke bleibt der Inhalt eisern unmarkiert. Was könnte ihm denn da noch
fehlen? Oder funktioniert das nicht bei ungebundenen Feldern?
Ich meine, wenn's gar nicht anders geht, dann nehme ich halt wieder SendKeys
(Ihr wisst schon - pfui, pfui).
Gruß - Rüdiger
Gruß Andreas
Andreas Vogt schrieb folgendes:
> wenn schon dann so:
> Me!MeinTextfeld.SelStart = 0
> Me!MeinTextfeld.SelLength = Len(NZ(Me!MeinTextfeld,0))
Len("" & ... passt schon.
Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
Rüdiger Gram schrieb folgendes:
sollte auch bei ungebundenen Feldern funktionieren.
Probiere einmal:
Me!MeinTextfeld.SelStart = 0
Me!MeinTextfeld.SelLength = Len("" & Me!MeinTextfeld.Text)
Gruß Andreas
BTW: als Ereignis würde sich z.B. bem Focuserhalt anbieten.
Andreas Vogt schrieb folgendes:
> JA das "" hab ich weggelassen weil unwichtig.
Naa, nicht unwichtig, wenn nicht NZ verwendet wird.
> Wichtig ist aber der Einsatz von NZ. Wenn du das Formular öffnest und
> den Focus verschiebst, hat das Feld den Wert Null, und die Länge von
> Null ist??
Lese mal www.donkarl.com?FAQ4.24 "" oder NZ, funktionieren tut beides.
> Lese mal www.donkarl.com?FAQ4.24 "" oder NZ, funktionieren tut beides.
Funktionieren tut in dem Fall aber leider keines. Was ich bisher nicht
erwähnt habe, weil es mir nicht wichtig vorkam: Das Feld ist ein Kombifeld.
Kann es sein, daß sich ein Kombifeld bezügl. des Markierens anders verhält
als ein Standard-Textfeld?
Gruß - Rüdiger
Doch, funktioniert genauso. Vielleicht konzentrieren wir uns mal auf das
Ereignis.
Du schreibst im OP "beim Klicken". Ist das woertlich zu verstehen?
Normalerweise gehoert der Code nach MeinTextfeld_Enter, also Beim Hingehen.
Die Selektion des Feldinhalts wird sicher auch bei dir korrekt ausgefuehrt
(navigiere mal per Tab, ohne Maus), aber durch den Klick /in/ das
Steuerelement eine neue Position/Markierung festgelegt wird.
Das liesse sich umgehen, wenn du als Ereignis MouseUp verwendest, mit allen
Nebenwirkungen, z.B. dass du per Maus Teile des Inhalts nicht mehr
auswaehlen kannst.
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Ja.
> Normalerweise gehört der Code nach MeinTextfeld_Enter, also Beim Hingehen.
> Die Selektion des Feldinhalts wird sicher auch bei dir korrekt ausgeführt
> (navigiere mal per Tab, ohne Maus), aber durch den Klick /in/ das
> Steuerelement eine neue Position/Markierung festgelegt wird.
Der zweite Satz ist für mich ein bischen rätselhaft (vielleicht war es
gestern doch schon sehr spät)
Bei FAQ 4.24 gibt es den Link 'KB-Artikel mit Beispiel-DB'.
Dort (bei MS) steht w ö r t l i c h :
Um bei Mausklick auf ein Feld den ganzen Text zu markieren, schreiben Sie in
der Ereignisprozedur "Beim Klicken" des Steuerelementes:
Me!Feldname.SelStart = 0
Me!Feldname.SelLength = Len("" & Me!Feldname)
Der Feldinhalt markiert sich jedoch weder beim Klicken, noch bei
Fokuserhalt, noch beim Hingehen.
Gruß - Rüdiger
Joo. Kombis verhalten sich diesbez. anders als Textfelder.
Das Cursor-Setzen funktioniert bei ihnen nur sehr eingeschränkt.
"Beim Klicken" geht gar nix, "Beim Hingehen" kommt's auf die
gebundene Spalte an usw.
Wenn dir das Markieren beim Klicken wichtig ist, kannst du dir
z.B. mit einer transparenten Schaltfläche über dem Textteil des
Kombis behelfen, die beim Klicken ein SetFocus aufs Kombi macht.
Bei Standard-Tastatureinstellungen wird dann alles markiert.
--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Access-Entwickler-Konferenz: www.donkarl.com/?AEK
SQL Server-Entwickler-Konferenz: www.donkarl.com/?SEK
Rüdiger Gram wrote:
> Peter Doering schrieb:
>>
>> Normalerweise gehört der Code nach MeinTextfeld_Enter, also Beim Hingehen.
>> Die Selektion des Feldinhalts wird sicher auch bei dir korrekt ausgeführt
>> (navigiere mal per Tab, ohne Maus), aber durch den Klick /in/ das
>> Steuerelement eine neue Position/Markierung festgelegt wird.
>
> Der zweite Satz ist für mich ein bischen rätselhaft (vielleicht war es
> gestern doch schon sehr spät)
Was verstehst du nicht? Probier's einfach mal aus.
> Bei FAQ 4.24 gibt es den Link 'KB-Artikel mit Beispiel-DB'.
> Dort (bei MS) steht w ö r t l i c h :
>
> Um bei Mausklick auf ein Feld den ganzen Text zu markieren, schreiben Sie in
> der Ereignisprozedur "Beim Klicken" des Steuerelementes:
Da gibt es einen kleinen aber feinen Unterschied: ... Mausklick *auf* oder
*in* das Feld. Wenn du hineinklickst, wird die gerade gesetzte Markierung
uebersteuert.
> Me!Feldname.SelStart = 0
> Me!Feldname.SelLength = Len("" & Me!Feldname)
>
> Der Feldinhalt markiert sich jedoch weder beim Klicken, noch bei
> Fokuserhalt, noch beim Hingehen.
Beim Kombifeld gibt es noch etwas zu beachten: Sollte die angezeigte Spalte
nicht die gebundene sein, musst du die angezeigte ueber .Column(x) angeben,
also z.B. ...=Len("" & Me!Feldname.Column(1))
Peter Doering wrote:
> Rüdiger Gram wrote:
>>> ...
>>> Normalerweise gehört der Code nach MeinTextfeld_Enter, also Beim
>>> Hingehen. Die Selektion des Feldinhalts wird sicher auch bei dir
>>> korrekt ausgeführt (navigiere mal per Tab, ohne Maus), aber durch den
>>> Klick /in/ das Steuerelement eine neue Position/Markierung festgelegt
>>> wird.
>>
>> Der zweite Satz ist für mich ein bischen rätselhaft (vielleicht war es
>> gestern doch schon sehr spät)
>
> Was verstehst du nicht? Probier's einfach mal aus.
>
>> Bei FAQ 4.24 gibt es den Link 'KB-Artikel mit Beispiel-DB'.
>> Dort (bei MS) steht w ö r t l i c h :
>>
>> Um bei Mausklick auf ein Feld den ganzen Text zu markieren, schreiben
>> Sie in der Ereignisprozedur "Beim Klicken" des Steuerelementes:
Der Autor bezog sich nur auf Textfelder, hätte das aber nicht
nur in die Problembeschreibung schreiben sollen, sondern auch
nochmal in den "Beim Klicken"-Teil des Artikels. Ich habe ihn
schon beschimpft deswegen.
> Da gibt es einen kleinen aber feinen Unterschied: ... Mausklick *auf* oder
> *in* das Feld. Wenn du hineinklickst, wird die gerade gesetzte Markierung
> uebersteuert.
Naa, die Ursache liegt anderswo:
Ein Kombi unterscheidet sich bez. "Beim Klicken" von einem Textfeld.
Das Ereignis tritt nämlich bei einem Kombi nur beim Klicken auf die
Auswahlliste ein, nicht beim Klicken auf den Textteil des Kombis.
Nix Ereignis - nix Code-Ausführung - nix Markierung, egal ob in oder auf,
"" oder Nz. ;-)
>> Me!Feldname.SelStart = 0
>> Me!Feldname.SelLength = Len("" & Me!Feldname)
>>
>> Der Feldinhalt markiert sich jedoch weder beim Klicken, noch bei
>> Fokuserhalt, noch beim Hingehen.
>
> Beim Kombifeld gibt es noch etwas zu beachten: Sollte die angezeigte
> Spalte nicht die gebundene sein, musst du die angezeigte ueber .Column(x)
> angeben, also z.B. ...=Len("" & Me!Feldname.Column(1))
Joo.
--
cu
>> Da gibt es einen kleinen aber feinen Unterschied: ... Mausklick *auf*
>> oder
>> *in* das Feld. Wenn du hineinklickst, wird die gerade gesetzte Markierung
>> uebersteuert.
>
> Naa, die Ursache liegt anderswo:
> Ein Kombi unterscheidet sich bez. "Beim Klicken" von einem Textfeld.
> Das Ereignis tritt nämlich bei einem Kombi nur beim Klicken auf die
> Auswahlliste ein, nicht beim Klicken auf den Textteil des Kombis.
> Nix Ereignis - nix Code-Ausführung - nix Markierung, egal ob in oder auf,
> "" oder Nz. ;-)
Ich werde die Anregungen ausprobieren und melde mich dann wieder.
Bis dahin vielen Dank für die Hilfe.
Gruß - Rüdiger
Karl Donaubauer wrote:
> Peter Doering wrote:
>> Rüdiger Gram wrote:
>>
>>> Bei FAQ 4.24 gibt es den Link 'KB-Artikel mit Beispiel-DB'.
>>> Dort (bei MS) steht w ö r t l i c h :
>>>
>>> Um bei Mausklick auf ein Feld den ganzen Text zu markieren, schreiben
>>> Sie in der Ereignisprozedur "Beim Klicken" des Steuerelementes:
>
> Der Autor bezog sich nur auf Textfelder, hätte das aber nicht
> nur in die Problembeschreibung schreiben sollen, sondern auch
> nochmal in den "Beim Klicken"-Teil des Artikels. Ich habe ihn
> schon beschimpft deswegen.
;-)
>> Da gibt es einen kleinen aber feinen Unterschied: ... Mausklick *auf* oder
>> *in* das Feld. Wenn du hineinklickst, wird die gerade gesetzte Markierung
>> uebersteuert.
>
> Naa, die Ursache liegt anderswo:
> Ein Kombi unterscheidet sich bez. "Beim Klicken" von einem Textfeld.
Jo, das hatte ich beim Testen falsch interpretiert: der Klick auf das
gebundene Label markiert den Feldinhalt wegen des Fokuserhalts, nicht wegen
der Codezeilen im Click-Event.
> Das Ereignis tritt nämlich bei einem Kombi nur beim Klicken auf die
> Auswahlliste ein, nicht beim Klicken auf den Textteil des Kombis.
Und spaetestens deshalb ist es im Click-Event des Kombifelds wertlos, weil
nach dem Klick der ausgewaehlte Wert sowieso komplett markiert ist. Wollte
man nur Teile markieren, haette man hier das naechste Problem.