1 code "Bij verplaatsen muis" over verschillende teksvakken.

Status
Niet open voor verdere reacties.

Jantje041

Gebruiker
Lid geworden
16 apr 2020
Berichten
8
Hoi,

Ik heb 15 identieke tekstvakken waar elk een verschillende waarde in kan voorkomen. Onderstaande werkt voor 1 tekstvak. Maar nu wil ik 1 code hebben die wordt gedraaid wanneer op elk afzonderlijk tekstvak de muis bewogen wordt en dan de bijbehorende waarde laat zien. Ik zit te denk aan een identificatie van het tekstvak die dan als basis gebruikt wordt voor de code. Nu kan ik wel ActiveControl.Name gebruiken maar als ik een ander tekstvak als actief heb staan dan geeft hij een foute tekst weer. Ik zal dus eerst het tekstvak (waar de muis overheen beweegt, moeten identificeren en dan deze identificatie gebruiken als input voor de code. Ik kom er alleen niet uit! Hoe los ik dit op?

Code:
Private Sub Tekstvak1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Tekstvak1 = "*" Then
   Tekstvak1.ControlTipText = "See 7.2.7" 
ElseIf Tekstvak1 = "X" Then
        Tekstvak.ControlTipText = "Not Required"
ElseIf Tekstvak1 = "1" Then  
    Tekstvak1.ControlTipText = "Away from"
End If
 
Plaats eens een voorbeeldje, dan kunnen we wat beter zien wat er aan de hand is, en wat voor jou de beste oplossing is. Dat hoeft namelijk geen klassemodule te zijn, maar kan ook met een gewone functie. Vermoed ik. Heb dat zelf ook wel eens op die manier opgelost.
 
Knipsel.JPG

Hierbij een voorbeeld. De *, X, 1,2,3,4 kunnen dus veranderen. Nu wordt bij de meeste linkse "*" de tekst weergegeven. Maar de "*" kan ook een ander cijfer of X worden en dan moet de weergegeven tekst weer anders worden. Voor de tekstvakken rechts van de eerste "X" geldt hetzelfde criterium en heb ik opgelost met bovenstaande Code. eigenlijk wil ik dus 1 algemene code die ik aan kan spreken voor alle vakken maar dan afhankelijk van de waarde in het tekstvak.
 
Dit is geen voorbeeld, maar een plaatje. Daar kunnen we niks mee.
 
Als de tekst in een label of bij aanwijzen flexibel moet worden , voorbeeld: een applicatie in meerdere , dan maak ik een tabel met: code - taal - tekst. Bij de labels die moeten vertaald worden zet ik een "T=" (T van Translate) + de code die overeenkomt met het veld code uit mijn tabel in de tag eigenschap.
In mijn formulier/rapport zet ik dan een code bij de OnOpen event die alle controle elementen die een tag = "T=" hebben de tekstwaarde wordt opgezocht en ingevuld.

Je zou iets dergelijks kunnen doen: een tabel maken met de tekstcode, de waarde (*, X, 1,...) die de tekst bepaalt en de tekst die getoond moet worden en op je formulier de tag eigenschap in de controle-elementen met wisselende tekst invullen.
Waarschijnlijk zal je dan het zetten van de aanwijsteksten moeten oproepen bij de OnCurrent eigenschap en bij het veranderen van de waardes die de tekst bepalen.
 
De techniek die noella beschrijft is te vinden in de Handleidingen sectie in de cursus Access, met code en al, dus je hoeft het wiel niet zelf uit te vinden :).
 
Hoi,

Hierbij een voorbeeld. Ik hoop dat het duidelijk is. De Code is eenvoudig maar doet even wat het moet doen om het duidelijk te maken.

Ik hoop dat zo mijn uitdaging duidelijk is.
 

Bijlagen

Vreemd dacht dat er meer reacties waren.

Jammer dat ts geen re geeft.

volgens mij zag ik nog een reactie van OctaFish dat hij niets zag van de knoptekst.
Helaas weer zo'n minpunt van de ontwerpers.
Je moet even geduld hebben voor je dit ziet.

OctaFish gaf volgens mij een re dat hij zelf iets had gemaakt wat de Knoptekst of wat dan ook liet meelopen met de velden, zou hier graag een voorbeeld van willen zien.
Zelf ben ik nog aan het stoeien geweest om zonder de focus op een veld te zetten, dus alleen bij muisover de waarde te kunnen uitlezen.
Misschien kan ik dit (de Knoptekst of wat dan ook liet meelopen met de velden) van OctaFish samenvoegen.
 
Laatst bewerkt:
OctaFish gaf volgens mij een re dat hij zelf iets had gemaakt wat de Knoptekst of wat dan ook liet meelopen met de velden, zou hier graag een voorbeeld van willen zien.
Zal het voorbeeldje posten. Overigens moet MouseOver juist werken als je met de muis ergens overheen gaat. Dus ongeacht of een tekstvak de focus heeft of niet :).
 
Klopt, maar dan kan je niet de waarde uitlezen met z = Me.fdfddgf omdat de focus op een ander veld staat.
door met controls te werken lukt dit wel, zelfs als het veld niet de focus heeft. Kan nu ook een soort tiptool bericht mee laten lopen.
 
Laatst bewerkt:
Hoi,

Dank jullie voor de reacties. Late reactie van mijn kant, maar er waren even wat privé omstandigheden die voorrang hadden. Ik ga voor de optie van Pletter (dat3forum). Ik wil geen apart mededeling vak (hoewel dit wel sneller werkt) ivm ruimte op het formulier. De eerste optie is helemaal goed zo.
 
Ik wil geen apart mededeling vak (hoewel dit wel sneller werkt) ivm ruimte op het formulier.
Krijg je ook niet; ik gebruik een tijdelijk label voor de uitleg, dat dus altijd op een vaste plek t.o.v. het tekstvak staat waar je met de muis overheen gaat. Dit label ligt dan bovenop de rest op dat formulier. En dat verdwijnt dus weer als de muis ergens anders is. Maar je moet uiteraard de optie gebruiken die voor jou het beste uitkomt :).
 
De laatste versie geeft mooi snel de gewenste tekst. Hier kom ik zeker verder mee. Mooi om te zien dat ik aan het "knutselen" ben en jullie dit, zo lijkt het, uit de losse pols doen.

Ik ga aan de slag:)
 
Soms krijg je eerder een stijve pols door al die code's kloppen :p

Maar dit was weer leuk om te doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan