I have read a number of the threads on using a variable in Select statements using VBA code, however I gather my limited knowledge of VBA within a module is catching me off guard in making it work. The report the query is attached to requires a bit of sorting and would be much easier to modify if a variable rather than a parameter, in this case 120. The following is the 'query' sql code attached to the form, and it works fine as long as I only use a number. Please help me modify it to allow a variable for the '120', the variable is a temp variable - [TempVars]![TempNoQuestions]. The program runs in ACCESS 2007 & 2010 fine otherwise. Any assistance to resolve this would be grandly appreciated and eliminate additional months of headache pondering this issue.
SELECT TOP 120 TestBank.ID, TestBank.RndNo, TestBank.QuesNo, TestBank.Question, TestBank.AnswerA, TestBank.AnswerB, TestBank.AnswerC, TestBank.AnswerD, TestBank.AnswerE, TestBank.AnswerF, TestBank.CorrectAnswer, TestBank.Comment, TestBank.QuestionType, TestBank.PointBiserial, TestBank.BloomsTax, TestBank.DateRevised, TestBank.[NCCPAKnowledge&Skills], TestBank.E_Label, TestBank.Exam1, TestBank.Exam2, TestBank.Exam3, TestBank.Exam4, TestBank.Status, "A. " & [AnswerA] AS Expr1, "B. " & [AnswerB] AS Expr2, "C. " & [AnswerC] AS Expr3, "D. " & [AnswerD] AS Expr4, [E_Label] & [AnswerE] AS Expr5, "F. " & [AnswerF] AS Expr6, TestBank.Image, TestBank.Author, TestBank.Grading, TestBank.DateEntered, TestBank.BlueprintOrganSystem, TestBank.BlueprintOrganSubCat, TestBank.BlueprintTopic, TestBank.Syllabus, TestBank.[Learning Objective], TestBank.Source, TestBank.BlueprintTopic2, TestBank.BlueprintTopic3, TestBank.BlueprintTopic4, TestBank.[NCCPA Knowledge&Skills2], TestBank.[NCCPA Knowledge&Skills3], TestBank.Pvalue
FROM TestBank INNER JOIN BloomsTaxonomy ON TestBank.BloomsTax = BloomsTaxonomy.ID
WHERE (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam1)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam2)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam3)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam4)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus]))
ORDER BY TestBank.RndNo;
SELECT TOP 120 TestBank.ID, TestBank.RndNo, TestBank.QuesNo, TestBank.Question, TestBank.AnswerA, TestBank.AnswerB, TestBank.AnswerC, TestBank.AnswerD, TestBank.AnswerE, TestBank.AnswerF, TestBank.CorrectAnswer, TestBank.Comment, TestBank.QuestionType, TestBank.PointBiserial, TestBank.BloomsTax, TestBank.DateRevised, TestBank.[NCCPAKnowledge&Skills], TestBank.E_Label, TestBank.Exam1, TestBank.Exam2, TestBank.Exam3, TestBank.Exam4, TestBank.Status, "A. " & [AnswerA] AS Expr1, "B. " & [AnswerB] AS Expr2, "C. " & [AnswerC] AS Expr3, "D. " & [AnswerD] AS Expr4, [E_Label] & [AnswerE] AS Expr5, "F. " & [AnswerF] AS Expr6, TestBank.Image, TestBank.Author, TestBank.Grading, TestBank.DateEntered, TestBank.BlueprintOrganSystem, TestBank.BlueprintOrganSubCat, TestBank.BlueprintTopic, TestBank.Syllabus, TestBank.[Learning Objective], TestBank.Source, TestBank.BlueprintTopic2, TestBank.BlueprintTopic3, TestBank.BlueprintTopic4, TestBank.[NCCPA Knowledge&Skills2], TestBank.[NCCPA Knowledge&Skills3], TestBank.Pvalue
FROM TestBank INNER JOIN BloomsTaxonomy ON TestBank.BloomsTax = BloomsTaxonomy.ID
WHERE (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam1)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam2)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam3)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus])) OR (((TestBank.PointBiserial) Is Null Or (TestBank.PointBiserial) Between [TempVars]![TempPointBiserialLow] And [TempVars]![TempPointBiserialHigh]) AND ((TestBank.BloomsTax) Is Null Or (TestBank.BloomsTax) Between [TempVars]![TempBloomsTaxLow] And [TempVars]![TempBloomsTaxHigh]) AND ((TestBank.DateRevised) Is Null Or (TestBank.DateRevised) Between [TempVars]![TempDateRange1] And [TempVars]![TempDateRange2]) AND ((TestBank.[NCCPAKnowledge&Skills]) Is Null Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas1] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas2] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas3] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas4] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas5] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas6] Or (TestBank.[NCCPAKnowledge&Skills])=[TempVars]![TempKnowledge&SkillAreas7]) AND ((TestBank.Exam4)=[TempVars]![TempExam]) AND ((TestBank.Status)=[TempVars]![TempStatus]))
ORDER BY TestBank.RndNo;