Weer een berekend veld...

Status
Niet open voor verdere reacties.

pbrants

Gebruiker
Lid geworden
26 dec 2009
Berichten
14
In bijgevoegd mdb bestand zou het aankruisvakje Rockberekend moeten berekend worden aan de hand van de eerste 4 tekens van RelatiefPad; de formule die er al staat werkt niet, samen met alle andere probeersels..

Help aub

Ik werk in Acces 2007 met een 2003-mdb bestand

Groetjes
Paul
 

Bijlagen

Ik zie geen aankruisvakje Rockberekend; wel twee selectievakjes, en een pad, maar nergens een berekening te bekennen, dus ook geen niet-werkende...
 
Sorry, verkeerde term gebruikt: de berekening zit bij het selectievakje Selectievakje8 naast het bijschrift Rockberekend: in het formulier Muziek

Groetjes

Paul
 
Ik denk toch dat je een verkeerde versie hebt gepost...
Dit is alles wat ik zie in het formulier.
 

Bijlagen

  • fMuziek.jpg
    fMuziek.jpg
    16,1 KB · Weergaven: 37
Sorry

Sorry, nogmaals verkeerd, ik was het formulier vergeten op te slaan, hierbij de goede versie
 

Bijlagen

OK, ik zie 'm. Maar wat moet er gebeuren? Ik zie een formule waar ik de bedoeling niet van snap...
 
De bedoeling is dat het selectievakje wordt aangekruisd als de eerste karakters van het RelatievePad overeenkomen met "Rock" zodanig dat het selectievakje aangeeft of het betreffende bestand in de map Rock staat (er moet nog een analoog selectievakje komen voor de map Klassiek); de velden Rock en Klassiek in de tabel zelf zouden dus overbodig (want berekend) moeten worden. De formule die er al staat zou er zo ongeveer moeten uitzien, maar ze werkt niet...

Groetjes
 
En gaat in deze vorm nooit werken. Het vakje moet blijkbaar een waarde krijgen op basis van de waarde die in de padverwijzing is neergezet.
De formule die er nu staat moet weg, en op het formulier moet het volgende komen te staan:
Code:
Private Sub Form_Current()
    If Left(Me.RelatiefPad, 4) = "Rock" Then
        Me.chkRockBerekend.Value = -1
    Else
        Me.chkRockBerekend.Value = 0
    End If
End Sub
Ik heb overigens de naam van het selectievakje wel veranderd...
 
En gaat in deze vorm nooit werken. Het vakje moet blijkbaar een waarde krijgen op basis van de waarde die in de padverwijzing is neergezet.
De formule die er nu staat moet weg, en op het formulier moet het volgende komen te staan:
Code:
Private Sub Form_Current()
    If Left(Me.RelatiefPad, 4) = "Rock" Then
        Me.chkRockBerekend.Value = -1
    Else
        Me.chkRockBerekend.Value = 0
    End If
End Sub
Ik heb overigens de naam van het selectievakje wel veranderd...

En waar in het formulier moet ik dat dan juist zetten? Ik heb nog niet veel ervaring met het opzetten van een database... Wat is trouwens die Me van Me.RelatiefPad?

Groetjes en bedankt voor de vlugge antwoorden trouwens...
Paul
 
De code wordt aangemaakt als je een gebeurtenis zet onder <Bij Aanwijzen>. Als je het via Eigenschappen doet, kun je daar dit deel van de code plakken:

Code:
    If Left(Me.RelatiefPad, 4) = "Rock" Then
        Me.chkRockBerekend.Value = -1
    Else
        Me.chkRockBerekend.Value = 0
    End If
De rest staat er dan al. Als je gelijk met <Alt>+<F11> naar het VBA scherm gaat, moet de hele code worden gekopieerd.

Het Me. deel in de code is een handigheidje van Access: ME staat voor het huidige object, in dit geval een formulier. Met de punt achter Me roep je vervolgens alle eigenschappen/objecten van het huidige object op. In het voorbeeld heb ik het selectievakje hernoemd naar chkRockBerekend. Door ME.chk te typen, wordt gelijk het juiste object in een keuzelijst getoond, zodat ik zonder al teveel moeite het juiste object (chkRockBerekend) kan selecteren. Het is dus handig en snel, en je voorkomt fouten in de code.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan