J'ai un formulaire avec un ComboBox (YearToBeBuilt
) et deux champs textBox (Cost
et YearofExpenditureCost
). Tous les contrôles sont liés à une table principale et la table est mise à jour une fois que les sélections/entrées ont été faites sur le formulaire.Si [ComboBox] est une instruction null dans VBA/Access 2007
J'ai écrit une procédure en VB appelée ReCalcIt()
qui effectue la procédure en cas d'appel suivant:
Private Sub ReCalcIt()
If Me.YearToBeBuilt = "" Then
Me.YearofExpenditureCost = Me.Cost
Else
Me.YearofExpenditureCost = Me.Cost * (1 + 0.031)^(Me.YearToBeBuilt - 2010)
End If
End Sub
Quand j'ai écrit ce je pensais que cela procédez comme suit:
Si le ComboBox [YearToBeBuilt]
est vide (par exemple, aucune sélection effectuée) puis la zone de texte [YearOfExpenditureCost]
renverra la valeur de la zone de texte [Cost]
. Sinon, le calcul pour YearofExpenditureCost
est effectué.
Mais cela ne fonctionne pas la façon dont il devrait
Qu'est-ce que je fais mal? Je suis un VBA n00b alors peut-être ma syntaxe est incorrecte?
Voulez-vous vraiment utiliser un exposant pour la dernière partie de votre calcul? Vous réalisez que 'Me.Cost * (1 + 0.031)^(Me.YearToBeBuilt - 2010)' est l'équivalent de x^N où N est le résultat de la différence entre YearToBeBuilt et 2010, donc si N = 3, ce sera Me.Cost * (1 + 0.031) en cubes? –