2017-04-18 1 views
0

저는 과거에 여기에 다른 게시물을 의지했습니다. 누군가가 저에게 약간의 도움을 줄 수 있기를 바랍니다. 이것은 내 자신의 VBA 기능을 처음 만든 것입니다.MS Access Query 기존 데이터를 기반으로 열을 추가하는 기능

하나의 열 (이 경우 계산 된 백분율 필드)을보고 백분율이 속하는 범위를 기준으로 새 열에 값을 배치하는 쿼리를 만들려고합니다. : 80 % -90 %는 B가됩니다.

문제는 기준과 함께 제공됩니다. 이 함수에는 과학 수업에 A, B, C 등의 다른 범위가있는 경우와 같이 비율 범위를 변경하는 세 번째 열이 있습니다. 나는 클래스과 5 등급가 반환되어야하므로, 쿼리에 IIF() 진술이 조금 많이 보였습니다. 관련 정보는 아래에 포함되어 있습니다 :

  1. 쿼리 이름 : Test_Percentage_Qry

  2. '클래스'열 이름 : 소스

  3. 퍼센트 열 이름 : CalcPerc

  4. '학년'열 이름 : 점수

기존 기능 코드 :

Public Function fFCRScore() As String 
If Test_Percentage_Qry.Source = "Science" Then 
    If Test_Percentage_Qry.CalcPerc = "100.00%" Then 
     fFCRScore = 10 
    ElseIf Test_Percentage_Qry.CalcPerc >= "85.00%" Then 
     fFCRScore = 10 
    ElseIf Test_Percentage_Qry.CalcPerc >= "80.00%" And Test_Percentage_Qry.CalcPerc < "85.00%" Then 
     fFCRScore = 8 
    ElseIf Test_Percentage_Qry.CalcPerc >= "75.00%" And Test_Percentage_Qry.CalcPerc < "80.00%" Then 
     fFCRScore = 6 
    ElseIf Test_Percentage_Qry.CalcPerc >= "70.00%" And Test_Percentage_Qry.CalcPerc < "75.00%" Then 
     fFCRScore = 4 
    ElseIf Test_Percentage_Qry.CalcPerc < "70.00%" Then 
     fFCRScore = 2 
    End If 
End If 

미리 도움을 청하십시오!

편집 : 나는이

424 개체 필요한 런타임 오류 받고 있어요 지적해야

나는 내 쿼리의 열을 말하는 겁니다 어떻게 그것의 생각하지만 해요 100 % 확신하지 못한다. 나는 MS Access가 그 일을 원했던 방식을 결코 기억하지 않는 것 같습니다.

+0

필자가 생각하거나'dlookup '하는'recordset' 객체를 보거나 각 주제에 대한 등급 임계 값이있는 표를 사용하여 결합해야합니다 –

답변

1

각 주제에 대한 등급 임계 값이있는 표를 사용하여 참여하십시오.설명하기 위해 아래 참조 :

두 테이블 (tblResults, tblSubjects)

enter image description here

enter image description here

(내부는 주제에 대한 두 개의 테이블을 조인) 쿼리를 작성 만들기

이는 추종 g 출력이 IIF() 문 사용할 수 있도록이

IIf([Result] > [AStart], "A", 
    IIf([result] > [Bstart], "B", 
     IIf([result] > [Cstart], "C", "Ungraded"))) As SubjectScore 

enter image description here

처럼이 예 뭔가를 사용

enter image description here

을 이미지 참고는 별명 SubjectScore

없이 또한,이그런 다음쿼리를 다른 요구에 대한 삽입/업데이트 쿼리로 수정할 수 있습니다.

관련 문제