Uitvouwvakje met enter functie

Status
Niet open voor verdere reacties.

Jesse2

Gebruiker
Lid geworden
3 mei 2011
Berichten
340
Op het moment maak ik gebruik van uitvouwvakjes voor aantekenings velden.
dit doe ik met de volgende code:

DoCmd.RunCommand acCmdZoomBox

Het probleem hierbij is op het moment dat het uitvouwvakje verschijnt is alle tekst goed te overzien. De enter functie sluit het vakje echter weer, het is dus niet mogelijk om makkelijk bewerkingen te doen vanuit het uitvouwvakje.

Nu zou ik graag een uitvouwvakje voor een veld willen waarin de entertoets gewoon werkt.

alle suggesties zijn welkom! :)
 
Gebruik de toetscombinatie <CTRL> <ENTER> ipv <ENTER>

Tardis
 
Bedankt daar had ik nog niet aan gedacht, toch zou de normale enter beter zijn.
ik laat het nog even open staan voor verdere reacties.
 
Maak een zelf popup formulier met een groot tekstvak, dat je laadt vanuit je formulier. Met een Public variabele kun je een parameter meegeven, die je weer terugzet bij het sluiten van dat formulier.
 
ik heb het formulier gemaakt maar hoe krijg ik het dan voor elkaar dat als ik op de tekst klik het daarin verschijnt?
naam formulier: Uitvouwvak
 
Je hebt een formulier, dat je kunt openen met DoCmd.OpenForm ""Uitvouwvak"", WindowMode:=acDialog, OpenArgs:=Me.tekstvak. Dat openen kun je dan zetten op een gebeurtenis naar keuze. Bij Klikken zou kunnen, maar dan wordt het extra formulier gelijk geopend als je er in klikt, dus <Bij Dubbelklikken> zou ook een goeie zijn. Met acDialog wordt het formulier dwingend geopend; je kunt pas weer verder met het originele formulier als het wordt gesloten. En OpenArgs gebruik je om de tekst vanuit het tekstvak op het formulier mee te geven aan het formulier Uitvouwvak.
In een module maak je dus eerst een public variabele:
Code:
dim tmp as Variant
Op je hoofdformulier maak je op je tekstvak een dubbelklik actie:
Code:
Private Sub Tekstvak_DblClick(Cancel As Integer)
    tmp = Null
    DoCmd.OpenForm "Uitvouwvak ", WindowMode:=acDialog, OpenArgs:=Me.Tekstvak
    Me.Tekstvak = tmp
End Sub
Op het formulier Uitvouwvak heb je twee acties nodig: één die de tekstvariabele bij openen in het zoomveld plaatst, en één die de tekst toekent aan de variabele bij het afsluiten, zodat je 'm weer kunt uitlezen.
Bij laden:
Code:
Private Sub Form_Load()
    If Not Me.OpenArgs = "" Then
        Me.Zoomtekst.Value = Me.OpenArgs
    End If
End Sub
En bij sluiten:
Code:
Private Sub Form_Close()
    tmp = Me.Zoomtekst.Value
End Sub

En dat is het wel zo'n beetje. Je kunt ook op een andere manier gegevens overhevelen, want vanuit het formulier Uitvouwvak kun je bijvoorbeeld ook gelijk de tekst in het eerste formulier laten zetten. Maar deze code is een stuk simpeler in te bouwen.
 
Ik heb precies alles gedaan volgens de instructies gedaan.
als ik nu dubbelklik krijg ik een foutmelding bij het gedeelte me.Zoomtekst bij beide codes.
 
Geef je code er ook bij, want zo kan ik er weinig van zeggen...
 
Compileerfout:
kan de methode of het gegevenslid niet vinden

Private Sub Form_Close()
tmp = Me.Zoomtekst.Value
End Sub

Compileerfout:
kan de methode of het gegevenslid niet vinden

Private Sub Form_Load()
If Not Me.OpenArgs = "" Then
Me.Zoomtekst.Value = Me.OpenArgs
End If
End Sub
 
dat was inderdaad de fout het uitvouwen werkt nu.
op het moment dat ik het uitvouwformulier sluit is mijn tekstvak leeg.
er zit dus nog ergens een foutje in het opslaan.

op het moment is het tekstvak in mijn uitvouwformulier niet-afhankelijk.
ik maak ook niet gebruik van macros om af te sluiten maar klik gewoon op het kruisje.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan