Springen naar inhoud


- - - - -

Nakijken in alle records.


  • Log in a.u.b. om te beantwoorden
Er zijn 5 reacties in dit onderwerp

#1 Luc001

Luc001

    Senior Developer

  • Leden
  • PipPipPip
  • 220 berichten
    Laatst bezocht 26 feb 2012 17:05
  • LocatieVilvoorde

Geplaatst op 31 januari 2011 - 18:54

Dag allen,

Ik heb een access database met ongeveer 100 tekstvakken.
In enkele van deze tekstvakken kunnen negatieve getallen voorkomen.
Om deze onmiddellijk laten opvallen heb ik de kleuren veranderd op deze manier:

Visual Basic Code:
If Nummer5.Value <= 0 Then
Nummer5.ForeColor = vbRed
Else
Nummer5.ForeColor = vbBlue
End If

Dit werkt prima als er maar één record gebruikt wordt.
Aangezien het de bedoeling is om verschillende records te gebruiken had ik graag vernomen hoe ik deze controle in iedere record kan gebruiken voor hetzelfde tekstvak.

#2 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3600 berichten
    Laatst bezocht 06 feb 2020 16:38
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 31 januari 2011 - 23:01

In access ben ik niet zo goed thuis, maar kun je geen function maken  van je controle en deze aanroepen vanuit je velden ?

#3 Luc001

Luc001

    Senior Developer

  • Leden
  • PipPipPip
  • 220 berichten
    Laatst bezocht 26 feb 2012 17:05
  • LocatieVilvoorde

Geplaatst op 01 februari 2011 - 17:32

Dag RedThread,

De controle zal zeker moeten gebeuren vanuit de velden, maar mijn probleem is eigenlijk van verschillende aard.
Ik zal even verduidelijken wat er gebeurd.

In veld Nummer5 doe ik een controle van een getal kleiner of gelijk aan nul en geef het een kleurtje rood.
Wanneer ik echter in hetzelfde veld in ander record een getal groter dan 0 heb dan geef ik dat een kleurtje blauw.
En nu komt het probleem, wanneer ik terug ga naar het vorige record dan is het negatief getal eveneens blauw en dat mag natuurlijk niet.

Dus daarom had ik gedacht om een controle uit te voeren van het veld Nummer5 in alle records.

Bedankt reeds voor je antwoord.

#4 guest_BESLO_*

guest_BESLO_*
  • Gasten
    Laatst bezocht

Geplaatst op 14 maart 2011 - 14:35

In welk event plaats je die code?

Je moet dit in de form_current() zetten. Dit event wordt elke keer je van record verandert uitgevoerd.

Dus:

Visual Basic Code:
sub Form_Current()
  Nummer5.Setfocus ' nodig omdat je anders niet kan lezen in dat veld.
							 ' Access eist dat je waardes van velden leest wanneer ze de focus hebben
  If Nummer5.Value <= 0 Then
	 Nummer5.ForeColor = vbRed
  Else
	Nummer5.ForeColor = vbBlue
  End If
end sub


Ik ga er vanuit dat je hier op form niveau bezig bent.

#5 guest_ingrid_*

guest_ingrid_*
  • Gasten
    Laatst bezocht

Geplaatst op 14 maart 2011 - 15:48

Het ligt er ook aan hoe je een record aanroept. Als je eigen knoppen hebt om te 'bladeren' kan je de functie-aanroep daar ook in opnemen.

#6 guest_ingrid_*

guest_ingrid_*
  • Gasten
    Laatst bezocht

Geplaatst op 06 maart 2012 - 15:23

Het ligt er inderdaad aan hoe je navigeert wat de juiste/beste manier is om eea op te namen. Als je eigen 'blader' knoppen hebt kan je eea daaraan koppelen. Anders kan je het aan Form_current koppelen.

Mijn ervaring is dat veldnaam.value niet altijd een waarde teruggeeft (terwijl een veld wel gevuld is). Je kan dan beter veldnaam.text gebruiken.




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)