Access에서 쿼리를 선택합니다. Microsoft Access에서 쿼리 만들기

주제: 테이블 간 관계 만들기. 매개변수와 최종 쿼리를 사용하여 선택 쿼리를 만듭니다.

이전 실습에서 생성한 데이터베이스를 엽니다. TF 학장실 .

테이블 간 관계 만들기

데이터베이스 창에서 개체를 선택합니다. 테이블 . "버튼을 클릭하세요. 계획 데이터 " 도구 모음에서 "를 실행하거나 " 서비스 »  « 계획 데이터 " 명령 메뉴를 사용합니다. 화면에 창이 나타납니다: 계획 데이터 " 그리고 창 " 덧셈 테이블 "(그림 18).

쌀. 18. 데이터 스키마 대화 상자 및 테이블 추가 대화 상자

창문에서 " 덧셈 테이블 " 탭에서 " 테이블 » 모든 데이터베이스 테이블을 나열합니다. 테이블 간의 관계를 생성하려면 테이블을 " 덧셈 테이블 "창밖으로" 계획 데이터 " 테이블을 전송하려면 마우스 클릭으로 테이블을 선택하고 "버튼을 클릭하십시오. 추가하다 " 필요한 테이블을 전송한 후 창을 닫습니다." 덧셈 테이블 ».

모든 테이블을 창으로 이동 " 계획 데이터 " 모든 텍스트가 표시되도록 테이블 창의 크기를 조정합니다(그림 19).

테이블 간의 관계를 생성하려면 재학생 그리고 평가 에 따라 데이터 스키마 마우스 커서를 해당 필드로 이동해야 합니다 학생 코드 테이블에 재학생 마우스 버튼을 누른 상태에서 이 필드를 필드로 드래그합니다. 학생 코드 테이블에 평가 을 누른 다음 마우스 버튼을 놓습니다. 창 " 변화 사이 "(그림 20).

속성을 확인하세요." 보안 진실성 데이터 "를 클릭하면 됩니다. 속성 "에서 확인란을 선택합니다. 종속 업데이트 관련된 필드 " 그리고 " 종속 삭제 관련된 필드 " 이렇게 하면 테이블의 레코드만 편집할 수 있습니다. 재학생 , 그리고 표에는 평가 연결된 레코드에 대한 이러한 작업은 자동으로 수행됩니다.

연결을 생성하려면 "버튼을 클릭하십시오. 만들다 ».

쌀. 19. 데이터베이스 데이터 스키마의 모습 " TF 학장실» 연결하기 전에

쌀. 20. 테이블 필드 간 연결 매개변수를 지정하는 대화 상자

마찬가지로 데이터 스키마 나머지 테이블 사이에 연결이 생성됩니다(그림 21).

쌀. 21. 데이터베이스 데이터 스키마 " TF 학장실»

데이터 다이어그램 창을 닫을 때 응답 레이아웃 저장에 관한 질문입니다.

데이터베이스 테이블 간에 생성된 관계를 변경할 수 있습니다.

연결을 변경하려면 창을 호출해야 합니다. " 계획 데이터 " 그런 다음 변경하려는 연결에 마우스 커서를 놓고 마우스 오른쪽 버튼을 클릭합니다. 상황에 맞는 메뉴가 나타납니다(그림 22).

쌀. 22. 통신 컨텍스트 메뉴

" 명령을 선택하면 삭제 "라는 메시지가 표시되면 확인 후 연결이 삭제됩니다. 연결을 변경해야 하는 경우 " 명령을 선택하십시오. 변화 연결 " 그 후 나타나는 창에서 " 변화 사이 " (맨 위) 연결하려는 테이블의 필드를 선택하고 버튼을 클릭합니다. " 만들다 ».

요청사항

쿼리는 하나 이상의 테이블에서 데이터를 선택하거나 검색하는 데 사용됩니다. 쿼리를 사용하여 여러 테이블의 데이터를 보고 분석하고 수정할 수 있습니다. 또한 폼과 보고서의 데이터 원본으로도 사용됩니다. 쿼리를 사용하면 합계를 계산하고 이를 간단한 형식으로 표시할 수 있을 뿐만 아니라 레코드 그룹에 대한 계산도 수행할 수 있습니다.

우리는 모드에서 요청을 개발할 것입니다 디자이너 .

안에 입장 다음 유형의 쿼리를 만들 수 있습니다.

    샘플 요청 . 가장 일반적으로 사용되는 요청 유형입니다. 이 유형의 쿼리는 하나 이상의 테이블에서 데이터를 반환하고 이를 테이블로 표시합니다. 선택 쿼리는 레코드를 그룹화하고 합계, 평균, 카운트 레코드를 계산하고 다른 유형의 합계를 찾는 데에도 사용할 수 있습니다. 선택 조건을 변경하려면 요청을 변경해야 합니다.

    매개변수를 사용한 요청 . 이 프롬프트는 실행 시 필드에 삽입하려는 데이터나 값을 입력하라는 자체 대화 상자를 표시하는 프롬프트입니다. 이 데이터나 값은 요청이 이루어질 때마다 변경될 수 있습니다.

    교차 요청 . 분석을 용이하게 하는 구조로 데이터를 계산하고 표시하는 데 사용됩니다. 횡단면 쿼리는 값의 합계, 평균, 수를 계산하거나 기타 통계 계산을 수행한 다음 두 데이터 집합(열 머리글을 정의하는 하나와 행 머리글을 정의하는 다른 하나)에 걸쳐 테이블의 결과를 그룹화합니다.

    변경 요청 . 한 번의 작업으로 여러 레코드를 수정하거나 이동하는 쿼리입니다. 변경 요청에는 네 가지 유형이 있습니다.

1. 항목을 삭제하려면. 이 쿼리는 하나 이상의 테이블에서 레코드 그룹을 삭제합니다.

2. 기록을 업데이트합니다. 하나 이상의 테이블에 있는 레코드 그룹에 대한 일반적인 변경을 수행합니다. 테이블의 데이터를 변경할 수 있습니다.

3. 기록을 추가하려면. 하나 이상의 테이블의 레코드 그룹을 하나 이상의 테이블 끝에 추가합니다.

4. 테이블을 생성합니다. 하나 이상의 테이블에 있는 데이터 전체 또는 일부를 사용하여 새 테이블을 만듭니다.

    요청사항 SQL . 언어 지침을 사용하여 생성됨 SQL , 에서 사용됨 DB .

MS Access 2003에서 매개변수화된 쿼리를 생성하고 특정 양식 요소의 값을 해당 쿼리에 전달한 다음 해당 결과 세트를 가져와서 이를 사용하여 몇 가지 기본 계산을 수행할 수 있기를 원합니다. 쿼리 매개변수를 가져와서 양식 요소로 채우는 방법을 간략하게 안내하겠습니다. VBA를 사용해야 한다면 괜찮습니다.

답변 5개

양식의 컨트롤에 대한 참조는 Access 쿼리에서 직접 사용할 수 있지만 이를 매개 변수로 정의하는 것이 중요합니다(그렇지 않으면 결과는 최신 버전한때 신뢰할 수 있었던 액세스라면 예측이 불가능할 수 있습니다.

예를 들어 MyForm의 LastName 컨트롤을 기준으로 쿼리를 필터링하려면 다음을 기준으로 사용합니다.

성 = 양식!내 양식!성

매개 변수 [!MyForm!] 텍스트(255); tblCustomers.* tblCustomers.LastName=!인 tblCustomers에서 선택;

그런데 왜 이런 목적으로 저장된 쿼리가 필요한지 묻고 싶습니다. 결과로 무엇을 합니까? 폼이나 보고서에 표시하시겠습니까? 이 경우 양식/보고서 레코드 원본에서 이 작업을 수행하고 매개 변수를 채우라는 메시지를 표시하지 않고 다른 컨텍스트에서 사용할 수 있도록 저장된 쿼리를 매개 변수와 함께 변경하지 않고 그대로 둘 수 있습니다.

반면에 코드로 작업을 수행하는 경우 즉시 SQL을 작성하고 양식 컨트롤의 리터럴 값을 사용하여 WHERE 절을 생성하면 됩니다.

다음은 코드 조각입니다. txtHospital 매개변수를 사용하여 테이블을 업데이트합니다.

db = CurrentDb 설정 qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult = qdf.RecordsAffected

다음은 SQL의 예입니다.

매개변수 txtHospital Text(255); tblHospitals() VALUES()에 삽입

이 문제를 해결하는 세 가지 전통적인 방법이 있습니다.

  1. 쿼리를 실행할 때 사용자에게 값을 묻는 메시지가 표시되도록 매개 변수를 값으로 설정합니다.
  2. 양식의 링크 필드(숨겨져 있을 수 있음)
  3. 쿼리를 즉시 생성하고 매개변수를 사용하지 마세요.

제 생각에는 [?국가의 ISO 코드 입력]과 같은 것을 입력하거나 양식에 다음과 같은 필드에 대한 링크를 입력해야 하는 것이 제게는 잘못된 것 같습니다. .

이는 서로 다른 필드가 데이터를 제공하기 때문에 동일한 쿼리를 여러 곳에서 재사용할 수 없거나 쿼리를 실행할 때 사용자가 데이터 입력을 혼동하지 않도록 해야 한다는 것을 의미합니다. 제가 기억하는 한, 사용자가 입력한 매개변수에 동일한 값을 두 번 이상 사용하는 것은 어려울 수 있습니다.

일반적으로 나는 후자의 옵션을 선택하고 즉석에서 쿼리를 생성하고 필요에 따라 쿼리 개체를 업데이트합니다. 그러나 이는 일반적인 SQL 주입 공격(우연히 또는 고의로 사용자를 알고 있는 경우)이며 단지 외설적일 뿐입니다.

"Ed. 시작 - 예제 완료를 위해 희미한 qryStartDate를 날짜로 희미하게 qryEndDate를 날짜로 qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. End "QUOTEING "stallion": VBA에서 쿼리에 매개변수를 전달하는 방법은 매우 간단합니다. "먼저 몇 가지 변수를 설정합니다. Dim qdf As Querydef Dim 먼저 As Recordset "그런 다음" 쿼리를 엽니다. Set qdf = CurrentDB.QueryDefs(qryname) "이제" 매개변수 옵션을 사용하여 쿼리에 값을 할당하겠습니다. qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "이제" querydef를 레코드세트를 실행하고 Set rst = qdf.OpenRecordset "레코드세트에서 일부 코드를 실행합니다. "모든 개체를 닫습니다. rst.Close qdf.Close Set rst = Nothing Set qdf = Nothing

(저는 이것을 직접 테스트하지는 않았습니다. 가끔 제가 이것을 하고 싶었지만 결국 이전에 언급한 클러지 중 하나를 사용하게 되었기 때문에 여행 중에 수집한 것입니다)

편집 마침내 이것을 사용할 이유가 생겼습니다. 실제 코드는 다음과 같습니다.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst as recordset "... "쿼리 열기: Set qdf = db.QueryDefs("my_two_param_query") "params 호출됨 param_one 및 "param_two"는 DAP.Parameters를 쿼리에 연결합니다 Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "매개변수 값 설정 prmOne = 1 prmTwo = 2 Set rst = qdf.OpenRecordset (dbOpenDynaset , _ dbSeeChanges) "... 레코드 세트를 정상적으로 처리합니다. "직접 정리했는지 확인하십시오. Set rst = Nothing Set prmOne = Nothing Set prmTwo = Nothing Set qdf = Nothing

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

어디 SQL 쿼리액세스에는 실제로 SQL이 포함됩니다. 예를 들어

"dateoffset="인 mytable에서 어쩌구를 선택하세요.

모든 것이 제대로 작동합니다!

예를 들어 보겠습니다. 매개변수화된 요청은 다음과 같습니다.

Tbl_Country를 선택합니다.* Tbl_Country에서 WHERE id_Country = _ [?국가의 ISO 코드 입력]

그리고 컨트롤과 일부 데이터가 있는 양식에서 이 값([? Enter... country] 1)을 가져올 수 있기를 원합니다. 음... 가능할 수도 있지만 코드의 정규화가 필요합니다.

한 가지 해결 방법은 id_Country 값을 보유하는 컨트롤의 fid_Country와 같은 일부 논리를 양식 컨트롤에 할당하는 것입니다. 그러면 쿼리를 문자열로 표현할 수 있습니다.

Qr = "Tbl_Country를 선택하세요.* Tbl_Country에서 id_Country = "

양식에 요청된 데이터를 모두 입력한 후 "요청" 버튼을 클릭하세요. 로직은 모든 ​​컨트롤을 살펴보고 요청에 컨트롤이 있는지 확인하고 결국 매개변수를 컨트롤 값으로 바꿉니다.

Me.controls의 각 ctl에 대해 컨트롤로 Dim ctl If instr(qr,"[" & ctl.name & "]") > 0 그러면 qr = replacement(qr,"[" & ctl.name & "]",ctl .value) 다음인 경우 종료 i

이 경우 매개변수가 실제 데이터로 대체되는 완전히 업데이트된 쿼리를 갖게 됩니다. fid_country 유형(문자열, GUID, 날짜 등)에 따라 추가 항목을 추가해야 할 수도 있습니다. 큰따옴표또는 다음과 같은 최종 요청을 받지 않으려면:

Qr = "Tbl_Country를 선택합니다.* Tbl_Country에서 id_Country = ""GB"""

이는 레코드세트를 여는 데 사용할 수 있는 완전히 Access와 호환되는 쿼리입니다.

rsQuery = currentDb.openRecordset(qr) 설정

내 생각엔 당신은 여기서 끝난 것 같아요.

이 항목은 Access 응용 프로그램을 개발하는 것이 목표인 경우 매우 중요합니다. 사용자에게 제안해야 합니다. 표준 방식그들에게 데이터를 요청하세요 GUI쿼리 실행뿐만 아니라 연속 양식 필터링(Excel에서 "자동 필터" 옵션을 사용하는 것처럼) 및 보고서 옵션 관리에도 사용할 수 있습니다. 행운을 빌어요!

주제: 테이블 간 관계 만들기. 매개변수와 최종 쿼리를 사용하여 선택 쿼리를 만듭니다.

이전 실습에서 생성한 데이터베이스를 엽니다. TF 학장실 .

테이블 간 관계 만들기

데이터베이스 창에서 개체를 선택합니다. 테이블 . "버튼을 클릭하세요. 계획 데이터 " 도구 모음에서 "를 실행하거나 " 서비스 »  « 계획 데이터 " 명령 메뉴를 사용합니다. 화면에 창이 나타납니다: 계획 데이터 " 그리고 창 " 덧셈 테이블 "(그림 18).

쌀. 18. 데이터 스키마 대화 상자 및 테이블 추가 대화 상자

창문에서 " 덧셈 테이블 " 탭에서 " 테이블 » 모든 데이터베이스 테이블을 나열합니다. 테이블 간의 관계를 생성하려면 테이블을 " 덧셈 테이블 "창밖으로" 계획 데이터 " 테이블을 전송하려면 마우스 클릭으로 테이블을 선택하고 "버튼을 클릭하십시오. 추가하다 " 필요한 테이블을 전송한 후 창을 닫습니다." 덧셈 테이블 ».

모든 테이블을 창으로 이동 " 계획 데이터 " 모든 텍스트가 표시되도록 테이블 창의 크기를 조정합니다(그림 19).

테이블 간의 관계를 생성하려면 재학생 그리고 평가 에 따라 데이터 스키마 마우스 커서를 해당 필드로 이동해야 합니다 학생 코드 테이블에 재학생 마우스 버튼을 누른 상태에서 이 필드를 필드로 드래그합니다. 학생 코드 테이블에 평가 을 누른 다음 마우스 버튼을 놓습니다. 창 " 변화 사이 "(그림 20).

속성을 확인하세요." 보안 진실성 데이터 "를 클릭하면 됩니다. 속성 "에서 확인란을 선택합니다. 종속 업데이트 관련된 필드 " 그리고 " 종속 삭제 관련된 필드 " 이렇게 하면 테이블의 레코드만 편집할 수 있습니다. 재학생 , 그리고 표에는 평가 연결된 레코드에 대한 이러한 작업은 자동으로 수행됩니다.

연결을 생성하려면 "버튼을 클릭하십시오. 만들다 ».

쌀. 19. 데이터베이스 데이터 스키마의 모습 " TF 학장실» 연결하기 전에

쌀. 20. 테이블 필드 간 연결 매개변수를 지정하는 대화 상자

마찬가지로 데이터 스키마 나머지 테이블 사이에 연결이 생성됩니다(그림 21).

쌀. 21. 데이터베이스 데이터 스키마 " TF 학장실»

데이터 다이어그램 창을 닫을 때 응답 레이아웃 저장에 관한 질문입니다.

데이터베이스 테이블 간에 생성된 관계를 변경할 수 있습니다.

연결을 변경하려면 창을 호출해야 합니다. " 계획 데이터 " 그런 다음 변경하려는 연결에 마우스 커서를 놓고 마우스 오른쪽 버튼을 클릭합니다. 상황에 맞는 메뉴가 나타납니다(그림 22).

쌀. 22. 통신 컨텍스트 메뉴

" 명령을 선택하면 삭제 "라는 메시지가 표시되면 확인 후 연결이 삭제됩니다. 연결을 변경해야 하는 경우 " 명령을 선택하십시오. 변화 연결 " 그 후 나타나는 창에서 " 변화 사이 " (맨 위) 연결하려는 테이블의 필드를 선택하고 버튼을 클릭합니다. " 만들다 ».

요청사항

쿼리는 하나 이상의 테이블에서 데이터를 선택하거나 검색하는 데 사용됩니다. 쿼리를 사용하여 여러 테이블의 데이터를 보고 분석하고 수정할 수 있습니다. 또한 폼과 보고서의 데이터 원본으로도 사용됩니다. 쿼리를 사용하면 합계를 계산하고 이를 간단한 형식으로 표시할 수 있을 뿐만 아니라 레코드 그룹에 대한 계산도 수행할 수 있습니다.

우리는 모드에서 요청을 개발할 것입니다 디자이너 .

안에 입장 다음 유형의 쿼리를 만들 수 있습니다.

    샘플 요청 . 가장 일반적으로 사용되는 요청 유형입니다. 이 유형의 쿼리는 하나 이상의 테이블에서 데이터를 반환하고 이를 테이블로 표시합니다. 선택 쿼리는 레코드를 그룹화하고 합계, 평균, 카운트 레코드를 계산하고 다른 유형의 합계를 찾는 데에도 사용할 수 있습니다. 선택 조건을 변경하려면 요청을 변경해야 합니다.

    매개변수를 사용한 요청 . 이 프롬프트는 실행 시 필드에 삽입하려는 데이터나 값을 입력하라는 자체 대화 상자를 표시하는 프롬프트입니다. 이 데이터나 값은 요청이 이루어질 때마다 변경될 수 있습니다.

    교차 요청 . 분석을 용이하게 하는 구조로 데이터를 계산하고 표시하는 데 사용됩니다. 횡단면 쿼리는 값의 합계, 평균, 수를 계산하거나 기타 통계 계산을 수행한 다음 두 데이터 집합(열 머리글을 정의하는 하나와 행 머리글을 정의하는 다른 하나)에 걸쳐 테이블의 결과를 그룹화합니다.

    변경 요청 . 한 번의 작업으로 여러 레코드를 수정하거나 이동하는 쿼리입니다. 변경 요청에는 네 가지 유형이 있습니다.

1. 항목을 삭제하려면. 이 쿼리는 하나 이상의 테이블에서 레코드 그룹을 삭제합니다.

2. 기록을 업데이트합니다. 하나 이상의 테이블에 있는 레코드 그룹에 대한 일반적인 변경을 수행합니다. 테이블의 데이터를 변경할 수 있습니다.

3. 기록을 추가하려면. 하나 이상의 테이블의 레코드 그룹을 하나 이상의 테이블 끝에 추가합니다.

4. 테이블을 생성합니다. 하나 이상의 테이블에 있는 데이터 전체 또는 일부를 사용하여 새 테이블을 만듭니다.

    요청사항 SQL . 언어 지침을 사용하여 생성됨 SQL , 에서 사용됨 DB .

오늘 우리는 다음과 같은 애플리케이션을 살펴보기 시작할 것입니다. 마이크로소프트 액세스 2003 , 자체 데이터베이스를 생성할 수 있습니다( MDB 형식), 기존 MS 기반 데이터베이스에 대한 클라이언트 애플리케이션 생성 SQL 서버. 오늘 기사의 주제는 Access에서 새로운 쿼리를 만드는 것입니다. 즉, 간단한 쿼리와 다양한 기능, 보기 및 프로시저를 모두 의미합니다. 여기서 쿼리는 데이터베이스 개체를 참조합니다.

마이크로소프트 액세스 정보

마이크로소프트 액세스소프트웨어관계형 DBMS인 마이크로소프트 회사. 데이터베이스를 구성하고 다른 많은 DBMS와 상호 작용할 수 있는 별도의 애플리케이션을 생성할 때 엄청난 기능을 갖추고 있습니다. 클라이언트가 Access로 작성된 애플리케이션인 가장 일반적인 클라이언트-서버 솔루션( VBA 언어, 양식 등), 서버는 DBMS입니다. 마이크로소프트 SQL섬기는 사람. 그러나 Access는 MySql 또는 PostgreSQL과 같은 다른 DBMS와의 상호 작용도 지원합니다. Access에 대해 오랫동안 이야기할 수 있지만 오늘 기사의 목적은 정확하게 쿼리를 생성하는 것입니다( 사물) 액세스에서.

간단한 mdb 데이터베이스로 연습하고 시작해 보겠습니다. 이러한 쿼리를 만드는 방법.

Microsoft Access 2003 - MDB 데이터베이스에서 쿼리 만들기

먼저 데이터베이스를 열고 객체를 클릭하세요. "요청"그리고 버튼을 누르세요 "만들다".

메모!이는 이미 데이터베이스가 있다는 의미입니다.

요청 유형을 선택하는 새 창이 열립니다.

각 요청 유형을 더 자세히 살펴보겠습니다.

Access 2003의 쿼리 유형 - MDB

건설자- 말하자면 생성자를 기반으로 요청을 생성하는 것입니다. 그래픽 편집기, 그러나 여기서는 SQL 모드로 전환하고 평소대로 쿼리 텍스트를 작성할 수 있습니다. 실행 직후에는 필요한 테이블이나 기존 쿼리를 선택할 수 있는 창이 열립니다. 기존 쿼리를 사용하여 필요한 데이터를 선택할 수도 있기 때문입니다. "성능".

그래픽 편집기에서 이 작업을 수행하는 것이 마음에 들지 않으면 메뉴 항목을 클릭하여 SQL 모드로 전환할 수 있습니다. "보다", 그 다음에 "SQL 모드".

간단한 요청- 이것은 동일한 구성 세트이며 유형이 약간 다르고 가능성이 더 적다고 말할 수 있습니다.

교차 요청– 이것은 소위 테이블의 전치, 즉 수평 열에 있는 데이터의 출력입니다. 한 열의 각 값은 별도의 열에 가로로 표시됩니다. 이 모든 작업은 마법사의 도움으로 수행되므로 문제가 없습니다.

중복된 항목– 이름에서 알 수 있듯이 중복된 기록을 검색하는 것입니다.

부하 직원이 없는 기록– 특정 테이블에서 누락된 레코드를 검색합니다.

mdb 데이터베이스를 사용하면 충분합니다. 기업에서는 거의 사용되지 않기 때문에 일반적으로 다음 구성표를 사용합니다. 별도의 클라이언트를 작성하고 모든 데이터는 우리의 경우 DBMS를 사용하여 서버에 저장됩니다. 이것은 MS SQL Server입니다. 클라이언트는 Access(.adp)입니다.

Microsoft Access 2003에서 쿼리 만들기 - MS SQL Server 데이터베이스

MS SQL Server( MS SQL Server 기반 adp 클라이언트와 데이터베이스가 이미 있다고 가정합니다.).

메모! 이 기사는 SQL 학습을 의미하지 않으므로 이 기사를 읽을 때쯤에는 이미 SQL의 기본과 뷰, 함수, 프로시저와 같은 데이터베이스의 기본 개체 개념을 이해하고 있어야 합니다. 이것에 완전히 익숙하지 않다면 먼저 SQL을 마스터하는 것이 좋습니다. 아래 용어 중 많은 부분이 명확하지 않기 때문입니다. 추천 기사:

  • 데이터베이스의 VIEWS 뷰란 무엇입니까? 그리고 왜 필요한가요?

시작은 동일합니다. 프로젝트를 연 다음 개체를 클릭하세요. "요청"그리고 버튼을 누르세요 "만들다".

이제 더 자세히 설명하겠습니다.

Access 2003의 쿼리 유형 - MS SQL Server 데이터베이스

내장 함수 생성자- 이것은 일반 뷰이고 매개변수만 전달할 수 있으며 서버에서 일부 쿼리가 실행되고 테이블이 반환된다고 말할 수 있습니다. 데이터를 테이블 형태로 반환하는 일종의 함수이다. 다음과 같이 처리됩니다( SQL에 대해 이야기한다면):

SELECT * FROM my_test_tabl_func(par1, par2 ……)

클릭 후 "좋아요"이 기능을 생성하려면 기존 테이블과 뷰를 추가하는 데 이미 익숙한 창이 표시됩니다. 하지만 저는 보통 이 창을 닫고 특수 필드에 요청을 수동으로 작성합니다. 이 필드를 표시하려면 패널에서 다음을 클릭합니다.

그런 다음 들어오는 매개변수를 추가하려면 조건에 @ 기호와 변수 이름을 입력하면 됩니다. 예를 들면 다음과 같습니다.

SELECT * FROM 테이블 WHERE kod = @par

패널의 기능 속성 이후

탭에 "함수 매개변수"지정한 매개변수가 나타나며 여기에 표시된 순서대로 전송되어야 합니다.

생성자 보기- 이것은 평범한 사람들 사이에서 평범한 아이디어의 창조입니다. "뷔하".

저장 프로시저 생성자– 생성자를 사용하여 프로시저를 생성하는 경우, 원리는 위의 함수와 동일합니다. 절차는 세트라는 것을 상기시켜 드리겠습니다. SQL 문, 데이터 샘플링 및 변경 모두에 사용됩니다.

저장 프로시저 입력– 이는 텍스트 편집기를 사용하여 프로시저를 생성하는 것입니다. 순전히 수동으로 프로시저를 생성합니다. 결국 생성자를 사용하는 것과 같습니다. 에서 객체를 생성할 때 텍스트 에디터생성 템플릿은 이미 액세스에 의해 자동으로 생성되어 있습니다.

스칼라 함수 입력값을 반환하는 함수를 만들고 있습니다. 텍스트 편집기를 사용하여 생성되었습니다.

테이블 함수 입력일련의 레코드를 반환하는 함수를 만들고 있습니다. 내장된 기능인 것 같습니다.

액세스 클라이언트에서 이를 구별하기 위해 이 개체나 해당 개체를 만들 때 표시되는 것과 동일한 다른 아이콘이 있습니다.

이러한 개체를 모두 만들면 서버에 저장되며 adp ​​프로젝트뿐만 아니라 다른 클라이언트에서도 사용할 수 있습니다.

물론, 예를 들어 Enterprise Manager( 더 이상 사용되지 않음, 이제 SQL Server 매니지먼트 스튜디오 ), 그러나 오늘 우리는 액세스 클라이언트에서 이러한 개체를 생성할 가능성을 고려하고 있습니다.

기본적으로는 이 정도면 충분하다고 생각하는데, 좀 더 자세히 이야기하면 한 글에 다 담을 수 없을 것 같지만, 특정 요청을 만들기에는 이 정도면 충분할 것 같습니다. 하지만 특정 기능이나 절차를 만드는 방법에 대해 궁금한 점이 있으면 댓글로 질문해 주세요. 제가 도와드리겠습니다.

작업 목적: 쿼리를 구성하고 사용하여 데이터를 선택하는 기술을 연구합니다.

실행 전 실험실 작업다음 섹션을 공부해야 합니다.

요청 유형

디자인 모드에서 쿼리 만들기

데이터 선택 조건 기록 규칙

내장 기능 사용

계산된 필드 생성

데이터 입력/출력 형식 사용

교차 및 활성 쿼리 생성.

작업 1: 간단한 쿼리 만들기.

1. 데이터베이스를 엽니다 학회.

2. 데이터베이스 창에서 쿼리 개체를 클릭합니다.

3. 쿼리 창에서 생성 버튼을 클릭합니다.

4. 새 쿼리 창에서 디자인을 선택하고 확인을 클릭합니다.

5. 테이블 추가 창에서 4개의 테이블을 모두 추가하고 창을 닫습니다.

6. 데이터 다이어그램에서 테이블 창의 크기와 위치를 조정합니다.

7. 지정된 순서를 준수하면서 테이블 창에서 해당 필드 이름(교수명, 그룹 N, 전문 이름, 성적부 N, 전체 이름)을 데이터 스키마 아래에 있는 요청 양식으로 드래그합니다. 선택 항목에 포함되어야 하는 각 필드에 대해 하나의 양식 열을 사용합니다.

8. 보기/테이블 모드 명령을 실행하거나 보기 도구 모음 버튼을 클릭하여 선택 항목을 봅니다.

9. 선택 항목에 오류가 있으면 쿼리 디자이너 모드로 돌아가서 쿼리를 수정합니다.

10. 요청을 종료합니다. 저장할 것인지 확인하는 대화 상자가 나타납니다. 쿼리 이름을 Select1로 지정합니다.

작업 2.이전 쿼리와 동일한 필드를 포함하지만 상업 학생에 대한 정보만 포함하는 데이터베이스에서 정보를 검색하는 간단한 쿼리를 만듭니다. 그러한 요청을 조건부 요청.

1. 데이터베이스 창에서 Ctrl 키를 누른 상태에서 쿼리 아이콘을 드래그하여 Select1 쿼리를 복사합니다.

2. 쿼리 이름을 광고별 선택으로 바꿉니다. 이렇게 하려면 요청 이름을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴항목 이름을 바꿉니다.

3. 디자인 보기에서 쿼리를 엽니다. 요청에 상업 필드를 추가하십시오.

4. 상업용 필드의 선택 조건 필드에 예 값을 입력합니다.

5. 상업용 필드 값을 묻는 메시지가 표시되면 표시를 비활성화합니다. 이렇게 하려면 이 필드에 대한 표시 확인란을 끄십시오.

6. 도구 모음에서 실행 버튼을 클릭하여 선택 항목을 찾아보세요.

7. 요청을 닫고 요청 레이아웃을 저장합니다.

작업 3.그룹 중 하나에서 가장 어린 학생의 성과 기록 번호를 찾는 쿼리를 만듭니다.


1. 데이터베이스 창에서 생성 버튼을 클릭하고 디자인 옵션을 선택합니다.

2. 테이블 추가 창에서 Student 테이블을 선택합니다. 이 테이블의 모든 필드를 요청 양식에 삽입하세요. 이렇게 하려면 먼저 Shift 키를 사용하여 데이터 다이어그램의 모든 필드를 선택한 다음 요청 설명 양식의 첫 번째 줄로 끌어 놓습니다.

3. 작업에 따라 생년월일 필드의 선택 조건 필드에 수식을 입력합니다. Access Expression Builder 도구를 사용하십시오. 이렇게 하려면 요청 설명 테이블의 해당 셀에 커서를 놓고 빌드 도구 모음 버튼을 클릭하세요.

4. Expression Builder 창에서 DMax 함수의 이름을 입력합니다. 이렇게 하려면 빌더의 왼쪽 창에서 함수 목록을 확장하고 내장 함수를 선택합니다. 다음으로, 가운데 하위 창에서 하위 집합별 함수 범주를 선택하고 오른쪽 하위 창에서 DMax() 함수를 선택합니다. 해당 함수가 표시된 인수와 함께 기본 빌더 창에 나타납니다.

5. 함수의 첫 번째 인수를 제거하고 직접 키보드 입력을 통해 또는 왼쪽 창의 테이블 목록을 클릭한 다음 Student 테이블과 필드를 선택하여 그 자리에 생년월일 필드 이름을 삽입합니다. 그 안에. 후자의 경우 표현식 라인에서 사용되지 않는 부분을 제거해야 합니다. 다음으로, 나머지 함수 인수의 값을 입력하여 함수가 다음과 같은 최종 형식을 취하도록 합니다: DMax("[생년월일]";"학생";"=851")

6. 요청 설명 테이블 셀에 함수를 쓰려면 확인 버튼을 클릭합니다. 레이아웃을 저장하고 이름을 Youngest Student Sample로 변경하여 요청을 종료합니다. 데이터베이스 창에서 쿼리 이름을 두 번 클릭하여 쿼리 결과를 봅니다.

7. 작업 결과를 선생님에게 보여주세요.

작업 4.각 그룹의 상업 학생 수를 계산하는 쿼리를 만듭니다.

1. 생성 새로운 요청교수진, 그룹, 학생 테이블을 사용합니다.

3. 3번째 열의 선택 조건을 Yes로 설정하세요.

4. 양식의 1번째 열과 2번째 열을 오름차순으로 정렬하도록 설정합니다.

5. 세 번째 열 데이터 표시를 비활성화합니다.

6. 네 번째 열에 상업 필드를 입력하고 열 이름을 광고 번호로 바꿉니다. 이렇게 하려면 필드 이름이 있는 셀에 다음이 포함되어야 합니다. 광고 수: 상업(새 열 이름과 기존 열 이름은 콜론으로 구분됨)

7. 그룹 작업 도구 모음 버튼을 클릭하여 양식에 그룹 작업 라인을 추가하고 네 번째 열 목록에서 계산 작업을 선택합니다.

8. 실행 도구 모음 버튼을 클릭하거나 QUERY/실행 명령을 실행하여 전체 선택 항목을 봅니다.

9. 대시보드 보기 버튼을 클릭하여 쿼리 디자인 모드로 돌아갑니다.

10. 요청을 저장하고 이름을 Counting commercial by groups로 지정합니다.

작업 5.각 교수진 및 각 그룹의 상업 학생 수를 반영하는 샘플을 볼 수 있는 쿼리를 만듭니다. 열 제목은 교수진 이름과 일치해야 하며, 행 제목은 그룹 번호와 일치해야 합니다. 또한 샘플에는 각 학과의 총 상업 학생 수가 포함된 요약 열이 포함되어야 합니다. 이러한 유형의 샘플링은 교차 쿼리를 통해 구현할 수 있습니다. 이러한 쿼리를 적용하려면 3개 학부에서 공부하는 학생 5~6그룹에 대한 정보를 데이터베이스에 포함하는 것이 바람직합니다.

1. 디자이너를 사용하여 교수진, 그룹, 학생 테이블을 사용하여 새 쿼리를 만듭니다.

2. 신청서의 첫 번째 열에 교수명 필드를 입력하고, 두 번째 열에 그룹 N 필드를, 세 번째 열에 상업 필드를 입력합니다.

3. QUERY/Cross 명령을 실행하거나 Query Type 도구 모음 버튼을 클릭하고 목록에서 Cross를 선택합니다.

4. 셀의 목록을 확장하여 크로스탭 양식 행의 값을 선택합니다. 첫 번째 열의 경우 행 머리글, 두 번째 열의 경우 열 머리글, 세 번째 열의 경우 값.

5. 세 번째 열에서 그룹 작업을 위한 Count 기능을 선택합니다.

6. 실행 버튼을 클릭하여 교차 샘플을 봅니다.

7. 요약 열을 생성하려면 디자인 모드로 돌아가서 요청 양식에 다른 상업 필드를 삽입합니다. 이 필드 이름 앞에 합계 열 이름을 입력합니다. 그룹 작업 행에서 개수를 선택하고 크로스탭 행에서 행 머리글을 선택합니다.

8. 테이블 모드에서 선택 테이블의 열 너비를 줄입니다. 이렇게 하려면 그룹의 데이터가 있는 열을 선택하고 FORMAT/열 너비/데이터 너비에 맞춤 명령을 실행합니다.

9. 편집된 선택 항목을 보고 요청을 저장하여 그룹 및 교수진별 광고 수라는 이름을 지정합니다.

10. 단면 샘플의 대략적인 모습이 그림 1에 나와 있습니다.

그림 1. - 그룹 및 교수진별 상업 학생 수 교차 샘플링.

작업 6.쿼리의 일부로 요청된 그룹 번호를 사용하여 그룹 목록을 나열하는 쿼리를 작성합니다. 그러한 요청을 매개변수로 요청. 매개변수는 그룹 번호입니다. 매개변수 값이 대화상자에 입력됩니다. 요청을 생성하려면 조건이 있는 셀에 선택 조건 텍스트를 대괄호 안에 입력해야 합니다.

1. 디자이너를 사용하여 하나의 Student 테이블을 사용하여 새 쿼리를 만듭니다.

2. 요청 양식의 첫 번째 줄에 표의 모든 필드를 입력합니다.

3. N 그룹 필드 선택 조건 라인의 셀에 텍스트를 입력합니다. [그룹 번호를 입력하세요.]

4. 요청을 실행하고 나타나는 대화 상자에 그룹 중 하나의 번호를 입력합니다. 선택 항목을 찾아보세요. 요청을 저장하고 이름을 Query with Parameter로 지정합니다.

5. 작업 결과를 선생님에게 보여주세요.




맨 위