afbeelding op formulier op basis van voorwaarden zichtbaar maken of verbergen

Status
Niet open voor verdere reacties.

Peer44

Gebruiker
Lid geworden
25 jan 2008
Berichten
224
Hallo,

Ik ben bezig een programma te maken voor een kwaliteitscontrole,
Ik heb nu de invulvelden (formulierweergave) voorzien van voorwaardelijke opmaak, de velden kleuren rood wanneer de max. afwijking wordt overschreden.

De toegestane afwijkingen haal ik op middels een query die als een subformulier aan het hoofdformulier gekoppeld is.

Om het voor de gebruiker duidelijk te maken dat hij de batch moet blokkeren wil ik een afbeelding zichtbaar maken, bij een overschrijding van een van de voorwaarden.

Hoe kan ik een afbeelding zichtbaar maken en weer onzichtbaar maken als het binnen de grenzen blijft?
 
Met de gebeurtenis <Bij aanwijzen>. Je hebt de voorwaarde al op het formulier staan, dus met Me.Picture.Visible=False/True kun je het afbeeldingsobject zichtbaar maken of verbergen.
 
Gaat nog niet helemaal goed:

Code:
Private Sub Form_Current()

If Me.WerkelijkAfgevuld1 > Forms("Subformulier qryafwijkingen")("MaxAfvul") Then _
Me.BLOK.Visible = True
Else: Me.BLOK.Visible = False
End If

End Sub

krijg nu de fout "compileerfout: Else zonder if"
 
Het is zowiezo een wat vreemde manier van werken, want zo verwijs je niet naar een subformulier.
Code:
Private Sub Form_Current()

If Me.WerkelijkAfgevuld1 > Me![Subformulier qryafwijkingen].Form!MaxAfvul Then
    Me.BLOK.Visible = True
Else
    Me.BLOK.Visible = False
End If
 
vandaar, hoe kan er nu nog zorgen dat dit een "live" actie wordt?
als ik nu op het formulier de waarde aanpas gebeurd er met de afbeelding nog niets, sluit en open ik het formulier vervolgens dan is de actie uitgevoerd; de afbeelding wordt getoond.


scherm.jpg
 
Form_Current werkt bij het bladeren door records. Het formulier sluiten en opnieuw openen is dus een beetje drastisch, want doorbladeren en terugbladeren zou hetzelfde effect moeten hebben. Wat Form_Current uiteraard niet doet is het geopende record bijwerken. De code wordt uitgevoerd als je een record opent, en verder niet. Je moet de code dus ook bij je knoppen opnemen.
Overigens ging ik er vanuit dat de waarden al op het formulier berekend zijn.

De toegestane afwijkingen haal ik op middels een query die als een subformulier aan het hoofdformulier gekoppeld is.
Dus waar is die knop nog voor nodig? De query rekent toch netjes de nieuwe waarde uit? Je zou hooguit een requery kunnen opnemen op de velden die je verandert, of Call Form_Current als actie doen bij After_Update van de veranderde velden. Knop lijkt mij niet nodig en extra handeling voor de gebruiker waar die niet op zit te wachten.
 
Er hoeft inderdaad geen knop voor gebruikt te worden, heb nu de code van de bestaande buttons voorzien van me.requery.

is opgelost! bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan