2017-07-07 3 views
0

Je pense que cela devrait être simple. J'ai une requête d'insertion. Je modifie un champ de requête qui appelle une fonction publique qui effectue un dlookup et calcule les remises. Je veux seulement appeler cette fonction si un identifiant est inférieur à un certain nombre. Si au-dessus de ce nombre, je veux le remplir avec un champ de mon formulaire. Ce est l'appel initial:Instruction IIf d'accès à la requête

GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms! 
[createinvoice]!BillCycleID,Forms![createinvoice]![1DayAfterschool15],Forms! 
[createinvoice]![TuitionToPay]) AS Fee 

Mais quand j'ajoute un IIF, il se bloque

IIf (Forms![createinvoice]!ScholarID <4 
(GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms! 
[createinvoice]!BillingCycleID, 
Forms![createinvoice]![1DayAfterschool15], 
Forms![createinvoice]![TuitionToPay]) , Forms![createinvoice]!TuitionCost)) 
AS Fee 

Toutes les idées seraient grandement appréciés.

Répondre

1

Vous avez fait une erreur avec vos parenthèses (vous devez supprimer le dernier et le 2ème), et il manque un , après la condition if.

Ce problème est résolu:

IIf (Forms![createinvoice]!ScholarID <4, 
GetTuition(Forms![createinvoice]!AfterschoolFrame,Forms! 
[createinvoice]!BillingCycleID, 
Forms![createinvoice]![1DayAfterschool15], 
Forms![createinvoice]![TuitionToPay]) , Forms![createinvoice]!TuitionCost) 
AS Fee 
+0

J'ai fait vos modifications (perdu la, dans ma couper/coller) et il ne fonctionne toujours pas. J'ai vérifié mes deux conditions, elles fonctionnent bien lorsqu'elles sont faites séparément. Mais quand je les mets dans la déclaration de l'IIF, j'obtiens une erreur de "décalage de données". – JMarie

+0

Je les ai même inversés (en changeant à> 4- mettre cette valeur simple sinon faire le dlookup Mais la même chose- – JMarie

+0

Quel est le type de données sur ScholarID? –