보고서 요약. Access 쿼리의 계산된 필드 보고서에 추가할 수 있는 집계 유형

Access의 요약 행을 사용하면 테이블 열의 데이터 요약을 빠르게 볼 수 있습니다. 예를 들어, 구매 내역이 포함된 테이블에 Total 행을 추가하면 판매량, 품목의 총 단위 수, 구매한 품목 수를 표시할 수 있습니다.

메모:열 값의 합계를 표시하려면 열의 데이터 유형을 숫자, 분수 또는 통화로 설정해야 합니다. 숫자가 아닌 열의 경우 값 개수 요약 유형만 선택할 수 있습니다.

"합계" 라인 추가

종합 유형 선택

라인을 추가한 후 결과각 열에 표시되는 합계 유형을 선택합니다. 예를 들어 데이터 유형이 숫자, 소수 또는 통화인 경우 합계와 같은 집계가 표시될 수 있습니다. 데이터 유형이 텍스트 값인 경우 값 계산이 가능합니다.

이 예의 테이블에서 열 값의 합계를 표시하도록 합시다. 구매 가격그리고 구매한 아이템그리고 해당 열의 합계 위치, 아래 이미지와 같이.

Sum 및 기타 집계 함수의 작동 방식

집계 함수는 데이터 열에 대한 계산을 수행하고 단일 결과를 반환합니다. 합계 또는 평균과 같은 단일 값을 계산해야 하는 경우 유용할 수 있습니다. 집계 함수는 데이터 열에 적용된다는 점에 유의하세요. 이것은 당연한 것처럼 보일 수 있지만 데이터베이스를 디자인하고 사용할 때 일반적으로 사용자가 필드에 데이터를 입력하고 커서를 오른쪽이나 왼쪽으로 이동하여 다음 필드를 채울 수 있도록 데이터 행과 개별 레코드에 중점을 둡니다. 열의 레코드 그룹에 초점을 맞춰 집계 함수를 사용합니다.

Access를 사용하여 판매 데이터를 저장하고 추적한다고 가정해 보겠습니다. 집계 함수를 사용하면 한 열에 판매된 품목 수, 1초에 총 판매액, 3번째 열에 각 품목의 평균 판매액을 계산할 수 있습니다.

아래 표에서는 합계 행에서 사용할 수 있는 액세스 집계 함수에 대해 설명합니다. Access에는 다른 집계 함수가 있지만 쿼리에 사용된다는 점을 기억하세요.

기능

설명

지원되는 데이터 유형

"총계" 라인에서 사용 가능합니까?

열의 평균 값을 계산합니다. 열에는 숫자, 통화, 날짜 또는 시간 값이 포함되어야 합니다. 이 함수는 빈 값을 무시합니다.

값의 수

열의 요소 수를 계산합니다.

다중값 목록 열과 같은 복합 반복 스칼라 데이터를 제외한 모든 데이터 유형입니다. 다중 값 목록에 대한 자세한 내용은 다중 값 필드 자습서에서 다중 값 필드 만들기 및 삭제에 대한 모범 사례를 참조하세요.

최대값

가장 높은 값을 가진 요소를 반환합니다. 텍스트 데이터의 경우 가장 큰 값은 알파벳의 마지막 값이며 Access에서는 대소문자를 구분하지 않습니다. 이 함수는 빈 값을 무시합니다.

, "날짜와 시간"

최소값

가장 작은 값을 가진 요소를 반환합니다. 텍스트 데이터의 경우 가장 작은 값이 첫 번째 알파벳 값이고 Access에서는 대소문자를 구분하지 않습니다. 이 함수는 빈 값을 무시합니다.

"숫자", "실제", "통화", "날짜 및 시간"

표준 편차

"숫자", "실수", "통화"

열의 요소를 합산합니다. 숫자 및 화폐 데이터에만 적합합니다.

"숫자", "실수", "통화"

분산

열의 모든 값에 대한 통계적 분산을 계산합니다. 숫자 및 화폐 데이터에만 적합합니다. 테이블에 2개 미만의 행이 포함되어 있으면 Access에서는 빈 값을 반환합니다. Variance 함수에 대한 자세한 내용은 다음 섹션을 참조하세요.

"숫자", "실수", "통화"

표준 편차 및 분산 함수에 대해 자세히 알아보기

기능 표준 편차그리고 분산통계값이 계산됩니다. 특히, 평균값에 가깝고 정규분포의 법칙(가우스 곡선 상에 있음)을 따르는 값에 사용됩니다.

동일한 기계에서 제작된 10개의 공구를 무작위로 선택하고 기계 검사 및 품질 관리를 위해 파손 강도를 측정했다고 가정해 보겠습니다. 평균 파괴 강도 값을 계산하면 대부분의 도구에서 파괴 강도가 평균 값에 가깝지만 더 높은 값과 더 낮은 값을 갖는 도구도 있음을 알 수 있습니다. 그러나 평균 파괴 강도 값만 계산하면 이 수치는 품질 관리의 효율성에 대한 정보를 제공하지 않습니다. 비정상적으로 강하거나 부서지기 쉬운 몇 가지 도구로 인해 평균 값이 증가하거나 감소할 수 있기 때문입니다.

기능 가변성그리고 표준편차값이 평균에 얼마나 가까운지를 표시하여 이 문제를 나타냅니다. 임계 강도의 경우, 함수 중 하나에서 반환되는 숫자가 작을수록 생산 프로세스가 정상적으로 작동하고 있음을 나타냅니다. 일부 프로세스는 제한된 범위에서 평균보다 높거나 낮기 때문입니다.

분산과 표준편차에 대한 자세한 설명은 이 문서의 범위를 벗어납니다. 두 기능에 대한 자세한 내용은 통계 웹사이트에서 확인할 수 있습니다. 기능을 사용할 때 분산그리고 표준 편차다음 규칙을 기억하세요.

질문: Access의 열 합계는 무엇입니까?


일반적으로 작업은 다음과 같습니다.
작년의 각 제품 유형에 대한 창고 이익을 계산합니다.
제품 유형은 "이름" 표의 코드에 따라 결정됩니다. (즉, 뷰=이름)
이익은 "주문" 테이블의 "주문 금액" 필드입니다.

결과적으로 출력해야합니다.
제목 -> 총액

답변:문제 해결됨.
감사합니다)

질문: MySQL: 열 합계에 따른 인덱스


안녕하세요 여러분.
최근에 mysql에서 인덱스를 배우기 시작했습니다. 나는 다음 질문을 발견했는데, 내가 찾을 수 없는 대답이었습니다.
열의 합계를 기반으로 하는 조건을 포함하는 선택 쿼리가 있습니다. 예를 들면 다음과 같습니다.
주어진 조건에 대한 인덱스를 올바르게 생성하는 방법 (열1+열2)?
나는 이것이 다음과 같이 이루어질 수 있다고 가정했습니다.
SQL
1 CREATE INDEX col1col2 ON table1(col1+ col2) ;

하지만 이 녹음의 정확성에 대해서는 의문이 제기된다.
누구든지 올바르게 수행하는 방법을 말해 줄 수 있습니까?

답변:문제 해결을 위한 제안을 보내주셔서 감사합니다.

질문: 특정 열 금액이 있는 상위 행 선택


테이블이있다
ID수량
1 50
2 100
3 50
4 20
5 60
6 20
7 100

여기서 Id 1은 최신 레코드이고 Id 7은 가장 오래된 레코드입니다.
"수량" 열의 총 합계가 250 이상인 상위 행, 즉 예상 결과를 선택해야 합니다.
ID수량
1 50
2 100
3 50
4 20
5 60

지금까지 나는 이것까지만 얻었습니다.
SELECT * FROM ( SELECT SUM (수량) OVER (ORDER BY Id ASC ) AS S, a.* FROM my_table a ) WHERE S< 250
결과적으로 필요한 것보다 한 줄이 적습니다.

저것들. NVL 없이 UNBOUNDED PRECEDING과 1 PRECEDING 사이의 ROWS에서 작동했다는 뜻인가요?
1 PRECEDING을 사용하여 첫 번째 ROW/RANGE를 반환하는 것이 무엇인지 생각해 보세요.

SY.
흠, nvl이 없으면 첫 번째 행/범위가 손실되고 다른 모든 항목은 올바르게 출력됩니다. 예, "효과가 있었다"고 말하기는 어렵습니다.

질문: 액세스 날짜 시간


좋은 하루 되세요. 질문이 있어요
accses 2016에서 데이터베이스를 생성했는데 계산된 열에서 주말과 공휴일을 고려해야 하는 문제가 발생했습니다.
계산된 열은 '출장 시작일' + '영업일수' 열의 합으로 계산됩니다. 처음 두 항을 더한 후 요일을 확인하여 목요일이면 5일, 금요일이면 5일, 토요일이면 4일, 나머지 날이면 3일이 필요하다. , 그 후에 이 열에 대해 생성된 테이블에 숫자가 입력됩니다. 이게 진짜인지 아닌지는 모르겠지만 벌써 정신이 나갔네요. 혹시 해결 방법 아시는 분 계시면 알려주세요.

메시지에 파일이 첨부되어 있습니다. 크기 - 22Kb

답변:스토커맨4884,
-요청이 원하는 대로 이루어지나요?
-함수는 요청에 사용되는 모듈에 작성되며(디자인 모드에서 필드에 작성된 내용을 자세히 살펴보세요) 요청 필드를 인수로 사용합니다(st-field[s],fin-field)
-모든 기능에서 여행 기간을 마지막 날까지 포함하여 계산하려면 i=0으로 수정하세요.
- 함수 내부에 중단점을 배치하면 단계별로 실행하여 작동 방식을 확인할 수 있습니다.
-책 읽기(적어도 온라인 튜토리얼) - 모든 것이 거기에 기록되어 있습니다. (주의 깊게 읽고 기록된 내용을 분석하면 모든 것을 이해할 수 있습니다. 다시 설명하지는 않겠습니다. 이 포럼에서는 귀하가 기본 지식을 가지고 있다고 가정합니다.)

질문: 열의 행별 합계


안녕하세요 여러분!

미리 사과드립니다. 열의 행별 합계를 계산하는 방법을 모르겠습니다. Excel (첨부)에서는 모든 것이 간단합니다.
액세스에서는 어떻게 이루어지나요?

미리 감사드립니다!

답변:매우 감사합니다!

23시간 57분 이후에 추가됨
주제를 계속합니다. 총 누적으로 쿼리를 최적화하는데 도움을 요청합니다.

ZnachRURSum 행 수는 약 3000개입니다. 액세스를 계산하는 데 매우 오랜 시간이 걸립니다. 그를 도울 수 있는 방법이 있나요?

추신: 그러면 이 모든 내용은 mysql로 ​​이동됩니다.

질문: 열의 합계


정말 도움이 필요합니다. 제품, 서비스, 주문 테이블에서 이름, 비용, 수량을 가져와 마지막에 해당 금액을 필드에 표시해야 합니다. 데이터베이스 자체의 예가 아카이브에 첨부되어 있습니다. 나는 영원히 감사할 것이다. 나 혼자서는 감당할 수 없다.

답변: 뱌체슬라프 1세, 나는 또한 하위 형식의 도움으로 무엇을 할 수 있는지 보았고 심지어 멜로 드라마도 시도했습니다.


사용자 테이블이 있습니다

말해주세요)
테이블을 사진으로 보여드려 죄송합니다.) 여기서는 SQL 편집기를 어떻게 사용하는지 모르겠습니다.

답변:

보낸 메시지 크웨익

어떤 이유로 귀하의 요청이 작동하지 않습니다.

아마도. 확인하지 않았습니다. 지금 확인해 보겠습니다.

보낸 메시지 크웨익

네 번째 줄이 무엇을 의미하는지 알려주실 수 있나요?

하위 쿼리로 얻은 reat_sum 테이블에서 SUM 열을 선택합니다.

보낸 메시지 크웨익

그리고 아직 명확하지 않습니다. 16행의 별칭은 AS t1입니까? 이것이 첫 번째 테이블과 관련이 있나요?

T1은 이 쿼리의 결과로 반환될 테이블의 이름입니다.

질문: Access를 잘 아는 사람이 있나요? 보험 등록


Access의 "보험 등록"이라는 "양식"은 여러 필드로 구성됩니다.
-클라이언트 코드,
-보험코드,
-고객의 성명,
-클라이언트 주소,
-전화,
- 관세 코드,
- 보험 날짜,
-지불 금액,
-관세 이름.

콤보박스에서 관세코드를 선택하면 결제금액이 자동으로 계산되도록 디자인을 설정해야 합니다. "결제 금액" 필드는 관세에 따라 자동으로 채워집니다.

또한, 요율 코드와 지불 금액은 별도의 표인 "보험 요율"과 "보험 등록" 양식의 소스 소스인 "보험 등록" 표에 있습니다.

아시는 분들은 도와주세요.

답변: 1. 관세 코드 행 소스에 관세 가격이 포함된 세 번째 열이 추가되어 3개의 열이 있음을 나타내며 코드(첫 번째)가 삽입되고 두 번째(지정)가 표시되며 첫 번째와 세 번째는 다음과 같습니다. 표시되지 않음 - 열 너비(2cm, 0cm, 0cm)에 따라 결정됩니다. 이 모든 것은 콤보 상자의 속성인 생성자에 있습니다.
2. 업데이트 후 가격이 두 번째 열(세 번째 열, VBA에서는 0부터 시작)의 값으로 할당되고 선택한 관세의 가격이 여기에 기록됩니다.

질문: 열별 쿼리


안녕하세요.
나는 질문을했다
이제 테마는 열에서만 유사합니다.
예를 들어 3개 열에서 열의 금액을 계산하도록 요청하는 방법
예를 들어, O4 열과 O5, O6, O7 등과 같은 많은 열이 있습니다.
합계 O4, O5를 추가합니다. 그러나 합계는 합계가 아니라 개별적으로 하나의 테이블에 있습니다.
본질적으로 O4부터 끝까지의 열의 합(새로 추가해도 몇개나 되는지)
새 테이블에는 열 이름과 해당 금액이 포함되어야 합니다.
텍스트가 많지만 명확하길 바랍니다)

답변: 알브크, 글쎄, 당신은 매번 당신의 지식에 점점 더 충격을 받고 있습니다.

질문: MySql의 연결된 테이블에 있는 Access의 드롭다운 목록을 만드는 방법은 무엇입니까?


질문:
Access에서 드롭다운 목록을 만드는 방법은 무엇입니까?
디렉토리 테이블은 무엇이어야 합니까? 열(유형) - ? 것들.
디렉토리를 어디에 두어야 하는가(또는 권장하는가)는 다음과 같습니다. 액세스 참조 테이블아니면 별도로 MySql의 연결된 참조 테이블?
이 작업을 수행하는 다른 더 현명한 방법이 있습니까?

필수의:
Access에서 드롭다운 목록 만들기 MySql의 연결된 테이블.
드롭다운 목록 특성:
- 세다 위치< 10штук
- 내용: OUT ATP POSITION 1, OUT ATP POSITION 2, OUT ATP POSITION 3,...OUT ATP POSITION 10
드롭다운 목록의 데이터는 다음에서 가져와야 합니다.

또는

가장 적절한 시나리오에 따라.

설치됨:
- COMP 1
- MySql은 중앙 데이터베이스에서 설치됩니다.
- 데이터베이스(DB)에는 다음 열이 포함된 Table_1이 있습니다.

- COMP 2
- Access는 클라이언트로서 ODBC를 통해 MySql 데이터베이스에 연결합니다.

자귀:
- 액세스 참조 테이블 - 참조 테이블 1번(스크린샷 참조);
- MySql의 연결된 참조 테이블 - 참조 테이블 2번(스크린샷 참조)
- MySql의 연결된 테이블 - 클라이언트 데이터베이스 테이블(스크린샷 참조)

답변:처음부터 양식을 작성해야 하거나 예제를 분해해야 하거나 시간은 동일합니다.

탐색 모음에서 기본 테이블을 선택합니다. 만들기 리본에서 양식 단추를 선택합니다. 마법사는 테이블의 모든 필드가 포함된 양식을 생성합니다.

디자인 모드로 전환합니다. 디렉터리의 콤보 상자에서 값을 가져와야 하는 필드를 찾습니다(연결되어 있는지 로컬인지는 중요하지 않습니다. 액세스를 위해 연결된 테이블은 많은 경우 로컬 테이블과 구별할 수 없습니다. 이것이 바로 그렇습니다).

이 필드를 마우스 오른쪽 버튼으로 클릭하고 "필드 변환" - "콤보 상자"를 선택하십시오.

결과 콤보 상자에서 속성을 변경합니다.
데이터 소스 - 여기에 테이블 이름, 쿼리 이름 또는 쿼리 텍스트를 작성합니다.
연결된 열 - 1이 있으며 일반적으로 이렇습니다(식별자 또는 코드가 있는 열의 번호입니다. 첫 번째 열이 아닌 경우 요청에서 순서를 변경하거나 수정할 수 있습니다). 연결된 열의 번호)
열 수는 일반적으로 2개이지만 필요한 경우 더 많을 수 있습니다.
열 너비 - 일반적으로 0으로 작성됩니다. 너비필요하거나 간단히 0이면 코드가 있는 열이 화면에 표시되지 않고 값만 표시됩니다. 열 수가 다르거나 순서가 다른 경우 그에 따라 너비가 조정됩니다.

글쎄, 그게 다야. 필드를 사용할 수 있습니다.

6분 후에 추가됨

보낸 메시지 texnik 씨

액세스를 위해 조인된 테이블은 대부분의 경우 로컬 테이블과 구별할 수 없습니다.

사실 그렇기 때문에 낭비하지 말아야 할 명확한 이유가 없습니다. 모두하나의 공통 데이터베이스에 있는 테이블. 편의성 측면에서 개발은 여전히 ​​동일할 것입니다. 그리고 작동 중에 공통 기반은 많은 어리석은 상황으로부터 당신을 보호할 것입니다.

예를 들어, Vasya는 실수로 참고 도서에 들어가서 거기에 있는 모든 값을 지웠습니다(시스템에서 허용했으며 참고 도서는 로컬임). 그러다가 혼날까 봐 아무에게도 아무 말도 하지 않고 그냥 자리에 앉아 다시 모든 값을 입력했습니다. 텍스트가 이전 텍스트와 일치합니다. 하지만 Vasya는 키가 다르다는 것을 모릅니다. 그런 다음 시작됩니다. "항상 선택한 것과 동일한 것을 선택했는데 프로그램에서 "연결된 테이블에 해당 값이 없습니다."라는 오류가 기록됩니다. 이런 일이 일어나지 않을 것 같나요? 개인적으로 이런 갈퀴를 밟아본 적이 있다

1분 후에 추가됨
따라서 하나의 데이터베이스에서 모든 작업을 수행하고 무결성을 보장하는 외래 키 제약 조건을 설정하는 것이 가능하다면 이 옵션이 바람직합니다.

이 문서에서는 Access 쿼리의 계산된 필드에 대해 설명합니다. 테이블과 같은 쿼리는 하나 이상의 필드의 데이터를 사용하여 각 레코드의 숫자, 문자열 또는 날짜 값에 대한 계산을 수행할 수 있습니다. 계산 결과는 쿼리 테이블에 새로운 계산 필드를 형성합니다. 계산된 테이블 필드와 달리 원본 데이터베이스 테이블의 계산된 필드는 새 필드를 생성하지 않습니다. 쿼리가 실행될 때마다 현재 필드 값을 기반으로 계산이 수행됩니다.

계산된 필드 표현식은 필드 이름 외에도 상수와 함수를 사용할 수 있습니다. 표현식을 처리한 결과 하나의 값만 얻을 수 있습니다.

작업 1. PRODUCT 테이블에는 PRICE 및 RATE_VAT 필드가 있습니다. VAT를 포함한 가격을 계산하고 이를 VAT 포함 가격 테이블의 계산된 필드에서 얻은 가격과 비교합니다.

  1. PRODUCT 테이블에 대해 디자인 모드에서 선택 쿼리를 만듭니다. NAME_TOV, PRICE, RATE_VAT 및 VAT가 포함된 가격 필드를 요청 양식으로 드래그합니다(그림 4.6).
  2. VAT를 포함한 가격을 계산하려면 필드 행의 빈 셀에 [PRICE]+[PRICE]*[RATE_VAT] 식을 작성하여 계산된 필드를 만듭니다.
  3. 계산된 필드에서 5000보다 큰 값을 가진 레코드를 선택하려면 기준 라인에 > 5000을 입력하세요.
  4. 표현식을 입력하면 시스템은 기본적으로 쿼리 결과가 포함된 테이블의 열 머리글이 되는 계산된 필드 표현식 1의 이름을 생성합니다. 이 이름은 [PRICE]+[PRICE]*[VAT_RATE] 표현식 앞에 삽입됩니다. 쿼리의 새 계산된 필드마다 표현식 번호가 1씩 증가합니다. 계산된 필드의 이름은 콜론으로 표현식과 구분됩니다. 이름을 변경하려면 요청 양식의 계산된 필드에 마우스 커서를 놓고 마우스 오른쪽 버튼을 클릭하세요. 상황에 맞는 메뉴에서 다음을 선택하세요. 속성(속성) 필드와 캡션 줄에 새 필드 이름을 입력합니다. VAT1 포함 가격. 이제 쿼리 결과가 포함된 테이블에서 이 이름이 계산된 열의 헤더에 표시됩니다. 필드 이름은 요청 양식에서 직접 수정할 수도 있습니다.
  5. 쿼리 결과를 표시하려면 버튼을 클릭하세요. 실행하다(달려) 그룹에서 결과(결과). 테이블의 계산된 필드와 쿼리의 값이 동일합니다.
  6. 요청 기록 중 하나에서 제품 가격을 변경하세요. 두 계산된 필드의 값은 즉시 다시 계산됩니다.
  7. 계산된 필드 또는 선택 조건에서 복잡한 표현식을 구성하려면 표현식 작성기를 사용하는 것이 좋습니다. 빌더를 사용하면 테이블, 쿼리, 연산 기호 및 함수에서 표현식에 필요한 필드 이름을 선택할 수 있습니다. 계산된 필드에서 표현식을 제거하고 빌더를 사용하여 생성합니다.
  8. 버튼을 클릭하여 표현식 작성기를 호출합니다. 빌더(빌더) 그룹 내 쿼리 설정(쿼리 설정) 리본 디자인을 선택하거나 짓다(빌드) 상황에 맞는 메뉴에서. 마우스 커서는 미리 표현식 입력 셀에 위치해야 합니다.
  9. 창문 왼쪽에는 식 작성기(Expression Builder)(그림 4.7) 쿼리의 기반이 되는 PRODUCT 테이블을 선택합니다. 해당 필드 목록이 오른쪽에 표시됩니다. 필수 필드와 연산자를 표현식에서 두 번 클릭하여 순차적으로 선택합니다. 표현식은 창 상단에 형성됩니다. 빌더에서는 필드명 앞에 자신이 속한 테이블의 이름을 표시하고 느낌표로 필드명과 구분해 두었으니 참고하시기 바랍니다.
  10. 확인을 클릭하여 계산된 필드에서 표현식을 구성하는 프로세스를 완료합니다.
  11. ― VAT 포함 가격이라는 이름으로 요청을 저장하고 닫습니다.
  12. 탐색 영역에서 해당 항목을 선택하고 상황에 맞는 메뉴에서 열기 명령을 선택하여 저장된 항목을 실행합니다.


작업 2.계산된 필드 및 필터 조건에서 기본 제공 함수를 사용할 수 있습니다. Access에는 150개 이상의 기능이 정의되어 있습니다.
특정 달에 배송된 모든 송장을 선택해야 합니다. INVOICE에서는 배송 날짜가 날짜/시간 데이터 형식으로 DATE_OTG 필드에 저장됩니다.

  1. INVOICE 테이블에 대해 디자인 모드에서 선택 쿼리를 만듭니다. NOM_NAKL 및 CODE_SK 필드를 양식으로 드래그합니다(그림 4.8).
  2. 빈 행 셀에 계산된 필드 만들기 필드(필드) 다음 표현식 중 하나를 작성합니다. Format([INVOICE]![DISPOSITION_DATE];"mmmm") - 이 함수는 월의 전체 이름을 반환합니다.
    또는 Format([INBOOK]![DISPOSITION_DATE];"mm") - 이 함수는 월 번호를 반환합니다.
  3. 특정 달에 발행된 송장을 선택하려면 선택 조건(기준) 행의 계산 필드에 월 이름(예: 3월)을 입력하거나 월 번호(예: 3)를 입력합니다. Format 함수의 매개변수입니다.
  4. 버튼을 클릭하여 요청을 완료하세요. 실행하다(달려) 그룹에서 결과(결과) 리본 탭 요청 작업 | 건설자(쿼리 도구 | 디자인).
  5. 계산된 필드에 Month(INVOICE!DATE_OTG) 함수를 작성하고 이 함수가 날짜에서 추출된 월 번호를 반환하는지 확인하세요.
  6. 2분기와 관련된 모든 행을 선택하려면 조건 행에 표현식 값이 지정된 간격 내에 속하는지 여부를 결정하는 4와 6 사이 연산자를 입력합니다.
  7. 계산된 필드에 MonthName(Month(INVOICE!DATE_OTG)) 식을 쓰고 MonthName 함수가 월 번호를 전체 이름으로 변환하는지 확인합니다.


이를 강화하려면 비디오 튜토리얼을 시청하세요.

이 문서에서는 쿼리에서 반환된 데이터를 계산하는 방법을 설명합니다. 예를 들어 폼이나 보고서에서 하나 이상의 테이블 필드나 컨트롤에 있는 항목 수를 계산할 수 있습니다. 평균을 계산하고 최고값과 최저값, 가장 오래된 날짜와 최근 날짜를 찾을 수도 있습니다. Access에서는 쿼리 구조를 변경하지 않고도 테이블의 데이터를 집계할 수 있는 합계 행이라는 도구도 제공합니다.

원하는 작업을 선택하세요.

데이터 계산 방법

함수를 사용하여 필드(값 열)의 요소 수를 계산할 수 있습니다. 숫자. 기능 숫자집계 함수라는 여러 함수에 속합니다. 집계 함수는 데이터 열에 대한 계산을 수행하고 단일 값을 반환합니다. 기능 외에도 숫자, Access에는 다음과 같은 집계 기능이 있습니다.

    합집합숫자 열을 합산합니다.

    평균숫자 열의 평균을 계산합니다.

    최고필드에서 가장 큰 값을 찾으려면

    최저한의필드에서 가장 작은 값을 찾으려면

    표준 편차평균값에 대한 값의 분포를 평가합니다.

    분산열에 있는 모든 값의 통계적 분산을 계산합니다.

Access에서는 기능을 추가하는 두 가지 방법을 제공합니다. 세다및 기타 집계 함수를 쿼리에 추가합니다. 다음을 수행할 수 있습니다.

    데이터시트 보기에서 쿼리를 열고 합계 행을 추가합니다. 요약 행을 사용하면 구조를 변경하지 않고도 쿼리 결과의 하나 이상의 열에 집계 함수를 사용할 수 있습니다.

    최종 쿼리를 만듭니다. 요약 쿼리는 레코드 그룹의 소계를 계산합니다. 예를 들어 도시별 또는 분기별로 모든 매출의 소계를 계산하려면 요약 쿼리를 ​​사용하여 범주별로 레코드를 그룹화한 다음 모든 매출을 합산합니다. 반면에 합계 행을 사용하여 하나 이상의 데이터 열(필드)에 대한 총합계를 계산할 수 있습니다.

메모:이 문서의 다음 섹션에서는 함수 사용에 대해 자세히 설명합니다. 합집합하지만 총 행과 쿼리에서는 다른 집계 함수를 사용할 수 있습니다. 다른 집계 함수 사용에 대한 자세한 내용은 아래 섹션을 참조하세요.

다른 집계 함수를 사용하는 방법에 대한 자세한 내용은 을 참조하세요.

다음 섹션에서는 합계 행을 추가하기 위해 따라야 하는 단계를 설명하고 합계 쿼리를 사용하여 데이터를 계산하는 방법을 설명합니다. 기능을 참고해주세요 숫자다른 집계 함수보다 더 많은 데이터 유형에서 작동합니다. 기능 숫자다중 값 목록 필드와 같이 복잡하고 반복되는 스칼라 데이터가 포함된 필드를 제외한 모든 유형의 필드에 사용할 수 있습니다.

반면에 많은 집계 함수는 특정 데이터 유형이 있는 필드의 데이터에만 작동합니다. 예를 들어, 함수 합집합숫자, 실수 및 통화 데이터 유형에서만 작동합니다. 각 함수에 필요한 데이터 유형에 대한 자세한 내용은 아래 섹션을 참조하세요.

데이터 유형에 대한 일반 정보는 필드의 데이터 유형 변경을 참조하십시오.

총 행을 사용하여 데이터 계산

쿼리에 합계 행을 추가하려면 데이터시트 보기에서 합계 행을 열고 행을 추가한 다음 함수를 선택합니다. 숫자또는 다른 집계 함수(예: 합집합, 최저한의, 최고또는 평균. 이 섹션에서는 간단한 선택 쿼리를 만들고 합계 행을 추가하는 방법을 설명합니다.

간단한 선택 쿼리 만들기

총계 행 추가

전체 행 숨기기

    탭에서 그룹에서 게시물버튼을 클릭하세요 결과.

합계 행 사용에 대한 자세한 내용은 테이블에서 열별로 합계 표시를 참조하세요.

요약 쿼리를 ​​사용하여 데이터 계산

쿼리에서 반환된 레코드의 일부 또는 전부를 계산해야 하는 경우 총계 행 대신 총계 쿼리를 사용할 수 있습니다. 예를 들어 총 거래 수 또는 특정 도시의 거래 수를 계산할 수 있습니다.

일반적으로 보고서 등 데이터베이스의 다른 부분에서 결과 값을 사용하려는 경우 요약 행 대신 요약 쿼리가 사용됩니다.

쿼리의 모든 레코드 계산

그룹 또는 카테고리의 항목 계산

집계 함수 참조

다음 표에서는 총 행과 쿼리에 사용할 수 있는 Access 집계 함수를 나열하고 설명합니다. Access에는 총 행보다 쿼리에 대한 집계 함수가 더 많다는 점을 기억하세요. 또한 Access 프로젝트(Microsoft SQL Server 데이터베이스에 연결되는 외부 Access 데이터베이스)로 작업할 때 SQL Server에서 제공하는 향상된 집계 함수 집합을 사용할 수 있습니다. 자세한 내용은 Microsoft SQL Server 온라인 설명서를 참조하세요.

기능

설명

지원되는 데이터 유형

합집합

열의 요소를 합산합니다. 숫자 및 화폐 데이터에만 적합합니다.

평균

열의 평균 값을 계산합니다. 열에는 숫자, 통화, 날짜 또는 시간 값이 포함되어야 합니다. 이 함수는 빈 값을 무시합니다.

숫자

열의 요소 수를 계산합니다.

다중값 목록 열과 같은 복합 반복 스칼라 데이터를 제외한 모든 데이터 유형입니다.

다중 값 목록에 대한 자세한 내용은 다중 값 필드 자습서에서 다중 값 필드 만들기 및 삭제에 대한 모범 사례를 참조하세요.

최고

가장 높은 값을 가진 요소를 반환합니다. 텍스트 데이터의 경우 가장 큰 값은 알파벳의 마지막 값이며 Access에서는 대소문자를 구분하지 않습니다. 이 함수는 빈 값을 무시합니다.

"숫자", "실수", "통화", "날짜/시간"

최저한의

가장 작은 값을 가진 요소를 반환합니다. 텍스트 데이터의 경우 가장 작은 값이 첫 번째 알파벳 값이고 Access에서는 대소문자를 구분하지 않습니다. 이 함수는 빈 값을 무시합니다.

"숫자", "실수", "통화", "날짜/시간"

표준 편차

값이 평균에서 얼마나 벗어나는지 보여줍니다.

이 기능에 대한 자세한 내용은 테이블의 열별로 합계 표시를 참조하세요.

"숫자", "실수", "통화"

분산

열의 모든 값에 대한 통계적 분산을 계산합니다. 숫자 및 화폐 데이터에만 적합합니다. 테이블에 2개 미만의 행이 포함되어 있으면 Access에서는 빈 값을 반환합니다.

분산 계산 함수에 대한 자세한 내용은 테이블에 열 합계 표시를 참조하세요.

"숫자", "실수", "통화"

SQL 쿼리를 사용하지 않고 Microsoft Access 데이터베이스 테이블의 총액을 계산하는 예

데이터베이스 테이블에서 특정 열의 숫자 값의 합계를 계산해야 하는 경우가 있습니다. 이에 대한 다양한 계산 방법이 있으며 그 중 하나는 다음을 기반으로 합니다. 적절한 SQL 쿼리 사용.

이 작업에서는 Microsoft Access 테이블을 예로 들어 SQL 쿼리를 사용하지 않고 총액을 계산합니다. 또한 지정된 열의 셀 값의 산술 평균이 계산됩니다.

이 예를 사용하면 특정 열의 여러 레코드에 대한 숫자 계산을 만들 수 있습니다.

작업

결과적으로 ADOConnection1 구성 요소에 ConnectionString이 형성됩니다(그림 2). 이 줄은 데이터 공급자 유형과 데이터베이스 파일의 전체 경로를 지정합니다.

쌀. 2. ADOConnection1 구성 요소의 ConnectionString

  1. 구성 요소 설정 ADOConnection1, ADOTable1, DataSource1, DBGrid1.

데이터베이스 테이블을 표시하려면 다음 구성 요소 속성을 구성해야 합니다.

– ADOConnection1 구성 요소에서 LoginPrompt 속성 = "false"(그림 3)(데이터베이스에 액세스하기 위한 사용자 이름 및 비밀번호 요청 취소)

– ADOTable1 구성 요소에서 연결 속성 = "ADOConnection1"(그림 4);

– DataSource1 구성 요소에서 DataSet 속성 = “ADOTable1”(그림 5);

– DBGrid1 구성 요소에서 DataSource 속성 = "DataSource1"(그림 6);

– ADOTable1 구성 요소에서 TableName 속성 = "Worker"(그림 7);

– DBGrid1 구성 요소의 Options 속성에서 dgEditing = false 옵션을 설정합니다(DBGrid1 그리드에서 직접 테이블 셀에 데이터를 입력하는 것을 금지)(그림 8).

쌀. 3. ADOConnection1 구성 요소의 LoginPrompt 속성

쌀. 4. ADOTable1 컴포넌트의 연결 속성

쌀. 5. DataSource1 컴포넌트의 DataSet 속성

쌀. 6. DBGrid1 구성 요소의 DataSource 속성

쌀. 7. ADOTable1 구성 요소의 TableName 속성

쌀. 8. DBGrid1 컴포넌트의 Options 속성의 dgEditing 옵션

  1. 테이블을 활성화합니다.

테이블에 데이터를 표시하려면 다음 단계를 수행해야 합니다(그림 9).

– ADOTable1 테이블을 선택합니다.

– 활성 속성 = true.

그런 다음 테이블 데이터가 DBGrid1에 표시됩니다.

쌀. 9. ADOTable1 구성 요소의 활성 속성

  1. 구성요소 크기 및 모양 설정.

다음 단계는 그림 10과 같이 양식에서 구성 요소의 크기와 위치를 조정하는 것입니다.

쌀. 10. 기본지원서

  1. DBGrid1에서 ID_Worker 필드를 숨깁니다.

표시된 테이블이 올바른 모양을 갖기 위해서는 키 필드인 ID_Worker 필드를 숨겨야 합니다. 테이블에서 이 필드는 카운터입니다. 새 레코드를 추가하면 이 필드의 값이 자동으로 생성됩니다(1씩 증가).

먼저 컨텍스트 메뉴에서 ADOTable1 구성 요소의 필드 편집기(“Fields Editor…”)를 호출해야 합니다(그림 11).

쌀. 11. ADOTable1 구성 요소의 필드 편집기 호출

Form1.ADOTable1 창이 열립니다. 이 창에서는 마우스를 사용하여 상황에 맞는 메뉴를 불러와야 합니다. 상황에 맞는 메뉴에서 "모든 필드 추가" 명령을 선택합니다.

결과적으로 편집기 창은 그림 12와 같이 표시됩니다.

쌀. 12. 필드 편집기

Form1.ADOTable1 필드 편집기에는 작업자 테이블의 모든 필드가 표시됩니다. ID_Worker 필드를 삭제하려면 ID_Worker 줄을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 삭제 명령을 선택해야 합니다. 그런 다음 편집기를 닫을 수 있습니다.

결과적으로 DBGrid1 테이블에는 두 개의 필드만 표시됩니다(그림 13).

쌀. 13. 두 개의 필드가 있는 Worker 테이블 표시

  1. 급여 필드에서 출력 필터를 소수점 이하 두 자리로 설정합니다.

급여 필드에 금액 값(소수점 2자리)이 올바르게 표시되려면 다음 단계를 수행해야 합니다.

ADOTable1 구성 요소를 선택합니다. 6단계에 설명된 대로 필드 편집기 "Fields Editor..."를 호출합니다. 결과적으로 이름 및 급여 두 필드 목록이 열립니다. Salary라는 라인을 선택합니다. ADOTable1Salary라는 개체가 개체 검사기에서 활성화됩니다.

다음 단계는 Object Inspector의 "Display Format" 필드를 "0.00"으로 설정하는 것입니다(그림 14).

쌀. 14. ADOTable1 개체의 Salary 필드에 출력 형식 설정

단계를 완료하면 테이블의 급여 필드가 소수점 이하 2자리까지 정확하게 표시됩니다.

  1. 내부 변수를 입력합니다.

합계 및 산술 평균 데이터를 저장하려면 TForm1 양식 클래스의 텍스트에 sum 및 avg라는 내부 변수를 입력해야 합니다.

변수는 private 섹션에 입력됩니다. TForm1 양식 클래스의 코드 조각은 다음과 같습니다.

... 유형 TForm1 = 수업(TForm) ADOConnection1: TADOConnection;데이터소스1: TDataSource; ADOTable1: TADO테이블; DBGrid1: TDBGrid; 정적텍스트1: TStaticText; 정적텍스트2: TStaticText; 정적텍스트3: TStaticText; ADOTable1Name: TWideStringField; ADOTable1Salary: TFloatField; 절차 FormActivate(보내는 사람: TObject); 절차 FormClose(Sender: TObject; var Action: TCloseAction); 사적인(개인 선언) sum:real; // 합계 평균:실제; // 평균 공공의(공개 선언) ; ...
  1. 양식 활성화 이벤트를 프로그래밍합니다.

사용자가 프로그램을 다운로드하자마자 테이블의 합계와 산술 평균 값을 즉시 계산해야 합니다.

따라서 Form1의 OnActivate 이벤트를 프로그래밍해야 합니다. OnActivate 이벤트는 실행을 위해 프로그램이 시작된 후 양식이 활성화될 때 호출됩니다.

Delphi의 이벤트 프로그래밍 예가 자세히 설명되어 있습니다.

우리의 경우 이벤트 핸들러는 다음과 같습니다.

절차 TForm1.FormActivate(발신자: TObject); var f:T필드; // "필드" 유형의 추가 변수 시작하다 // 1. 테이블에 레코드가 있는지 확인 만약에 ADOTable1.RecordCount = 0 그 다음에 출구; // 2. DBGrid1에서 시각화를 비활성화합니다. ADOTable1.DisableControls; // 3. Worker 테이블의 모든 레코드를 반복합니다. // 3.1. 첫 번째 항목으로 이동 ADOTable1.첫 번째; // 3.2. 금액을 0으로 재설정합계:= 0; // 3.3. 첫 번째 레코드에서 급여 값을 가져옵니다. f:= ADOTable1.FieldByName("급여"); // 3.4. 테이블의 레코드 반복 // - 테이블 끝에 도달했는지 확인 ~하는 동안 ADOTable1.Eof<>진실하다 시작하다 // 3.4.1. 금액 증가합계:= 합계 + f.값; // 3.4.2. 다음 항목으로 이동 ADOTable1.다음; ; // 4. 산술 평균을 계산합니다. 평균:= 합계 / ADOTable1.RecordCount; // 5. TStaticText 유형의 줄 채우기 StaticText1.Caption:= "합계: " + FloatToStr(sum, ffFixed, 8, 2); StaticText2.Caption:= "평균 급여: " + FloatToStr(avg, ffFixed, 8, 2); // 6. DBGrid에서 시각화 활성화 ADOTable1.EnableControls; ;

몇 가지 코드 부분을 설명해 보겠습니다.

DisableControls 및 EnableControls 메서드는 데이터 세트(데이터베이스)에 연결된 시각적 컨트롤을 비활성화하고 활성화하는 일을 담당합니다. DisableControls 메서드를 호출하면 애플리케이션이 레코드가 변경될 때마다 DBGrid1 컨트롤의 내용을 다시 그리는 데 시간을 낭비하지 않으므로 레코드 반복 프로세스 속도가 크게 빨라질 수 있습니다.

재산

ADOTable1.RecordCount

테이블의 레코드 수를 나타냅니다.

ADOTable1.첫 번째

첫 번째 테이블 항목을 활성으로 설정합니다.

ADOTable1.FieldByName()

특정 필드에 대해 TField 유형의 객체를 가져올 수 있습니다. 그런 다음 이 개체에서 현재 레코드로부터 정보를 얻을 수 있습니다. 프로그램에서는 Salary 필드 레코드의 값에 액세스하기 위해 TField 유형의 추가 변수 f가 사용됩니다. Salary 필드의 현재 레코드 값을 읽으려면 연산자를 호출하면 됩니다.

f.값

재산

ADOTable1.Eof

테이블 끝에 도달하면 true가 됩니다.

ADOTable1.다음

다음 테이블 레코드로의 전환을 구현합니다.

합계 결과는 StaticText1 구성 요소의 Caption 속성에 표시됩니다.

산술 평균 값은 StaticText2 구성 요소의 Caption 속성에 표시됩니다.

  1. 실행을 위해 애플리케이션을 시작합니다.

이제 애플리케이션을 실행할 수 있습니다.