IP 주소 정렬

참고:  사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서 가 여기 있습니다.

이 항목에서는 Microsoft Office Access 2007 데이터베이스에 저장된 IP(인터넷 프로토콜) 주소를 정렬하는 절차에 대해 설명합니다.

이 문서의 내용

소개

쿼리 만들기

정렬 된 IP 주소에 대 한 유용한 사용

소개

IP 주소는 텍스트나 숫자처럼 단순하지 않으며, 마침표(.)로 구분된 0에서 255 사이의 숫자 값 4개로 구성됩니다. 다음 표에서는 정렬 순서를 적용하기 전의 데이터를 보여 줍니다.

MachineID

직원

위치

IPAddress

1

...

...

123.4.245.23

2

...

...

104.244.253.29

3

...

...

1.198.3.93

4

...

...

32.183.93.40

5

...

...

104.30.244.2

6

...

...

104.244.4.1


Access에서는 IP 주소를 저장하기 위한 특수 데이터 형식을 제공하지 않기 때문에 IP 주소를 정렬하는 작업이 까다로울 수 있습니다. IP 주소는 숫자를 모아 놓은 것이지만 숫자 필드에는 저장할 수 없습니다. 숫자 필드는 단일 소수점(.)만 지원하는 반면 IP 주소에는 마침표(.)가 세 개 있기 때문입니다. 즉, IP 주소는 텍스트 필드에 저장해야 합니다.

IP 주소가 텍스트 필드에 저장되기 때문에 Access에서는 기본 제공 정렬 단추를 사용하여 IP 주소를 의미 있게 정렬할 수 없습니다. 정렬 단추를 사용하는 경우 문자가 숫자인 경우에도 텍스트 필드의 값은 항상 사전순으로 정렬됩니다. 즉, 주소 값은 주소를 구성하는 숫자 값 순서가 아니라 첫 번째 자리 숫자 순서, 두 번째 자리 숫자 순서 등으로 정렬됩니다. 다음 표에서는 위에 나온 표의 주소가 IPAddress 필드의 사전순으로 정렬된 모양을 보여 줍니다.

MachineID

IPAddress

3

1.198.3.93

2

104.244.253.29

6

104.244.4.1

5

104.30.244.2

1

123.4.245.23

4

32.183.93.40


위 표에 나와 있는 것처럼 1로 시작하는 주소는 2로 시작하는 주소 앞에 오는 식으로 정렬됩니다. 다음 표에서는 '올바른' 오름차순으로 정렬된 주소를 보여 줍니다.

MachineID

IPAddress

3

1.198.3.93

4

32.183.93.40

5

104.30.244.2

6

104.244.4.1

2

104.244.253.29

1

123.4.245.23


IP 주소를 정렬하는 단계를 쉽게 이해하려면 IP 주소를 4개의 숫자 부분으로 나누어 생각해 보면 됩니다. 주소는 먼저 첫 번째 부분 순서로 정렬된 다음 첫 번째 부분의 각 값에 대해 두 번째 부분 순서로 정렬되는 식으로 진행되어야 합니다. 다음 표에서는 각 부분을 서로 다른 열에 표시합니다. 열에는 단순한 숫자 값이 들어 있기 때문에 다음 표와 같이 열을 왼쪽에서 오른쪽으로 오름차순 정렬할 수 있습니다.

PartI

PartII

PartIII

PartIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23


IP 주소를 정렬할 때는 위 표에 나와 있는 것과 같이 네 부분을 별도로 정렬하면 됩니다. 다음에 설명하는 절차에서는 IP 주소 필드 외에 주소 값의 일부분이 저장되는 4개의 계산된 열이 들어 있는 쿼리를 만듭니다. 첫 번째 계산된 열에는 주소의 첫 번째 숫자 부분이 저장되고, 두 번째 계산된 열에는 주소의 두 번째 숫자 부분이 저장되는 식으로 지정됩니다. 이 쿼리를 사용하면 레코드는 IPAddress 필드순으로 정렬되는 대신 이 4개의 계산된 열순으로 정렬됩니다.

맨 위로 이동

쿼리 만들기

IP 주소의 오름차순으로 레코드를 표시하는 Sorted IPAddresses라는 선택 쿼리를 만듭니다. IPAddress라는 텍스트 필드가 포함된 MachineDetails라는 테이블이 현재 데이터베이스에 있다고 가정합니다.

  1. 만들기 탭의 기타 그룹에서 쿼리 디자인을 클릭합니다.

  2. 테이블 표시 대화 상자의 테이블 탭에서 MachineDetails를 클릭한 다음 추가를 클릭하고 대화 상자를 닫습니다.

  3. MachineID 및 IPAddress 필드를 쿼리 디자인 눈금으로 끌어 놓습니다.

  4. 이제 계산된 열을 추가할 수 있습니다. 오른쪽 첫 번째 빈 열의 필드 행에 PartI: Val(Left([IPAddress],(InStr(1,[IPAddress],".")-1))) 식을 입력합니다. 이 식은 IPAddress 필드에서 첫 번째 마침표(.) 앞에 오는 문자를 반환합니다.

    이제 식을 검토 합니다. 사용할 자릿수 주소의 첫 번째 부분을 구성 알 수 없으므로 InStr 함수 첫 번째 기간 위치를 찾습니다. 기간을 제외) (하려면 1을 뺀 첫 번째 부분에서 자릿수를 반환 합니다. 다음으로이 번호를 사용 하면는 ip 주소 필드에서 맨 왼쪽 문자부터 많은 문자를 추출 하려면 Left 함수입니다. 마지막으로 호출 하는 숫자에 Left 함수에서 반환 되는 문자를 변환 하려면 Val 함수입니다. 이 마지막 단계는 기본 데이터 형식이 텍스트 이므로 필요 합니다.

  5. 빠른 실행 도구 모음에서 저장을 클릭하여 쿼리를 저장합니다. 중간 단계를 완료할 때마다 쿼리를 저장하는 것이 좋습니다.

  6. 두 번째 주소 부분에 해당하는 열을 추가합니다. PartI 오른쪽에 있는 열의 필드 행에 PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".")+1,InStr(InStr(1,[IPAddress],".")+1,[IPAddress],".")-InStr(1,[IPAddress],".")-1))을 입력합니다. 이 식은 IPAddress 필드에서 첫 번째 마침표와 두 번째 마침표 사이에 있는 문자를 반환합니다.

    식을 살펴보겠습니다. 자릿수 주소의 두 번째 부분을 구성 또는 정확 하 게 두 번째 부분은 시작 위치 (하지 않는 것이 얼마나 첫 부분이) 이므로 알 수 없으므로, 마침표의 위치를 찾으려면 InStr 함수를 사용 합니다. 다음 사용은 Mid 함수는 첫 번째 기간 하지만 그 뒤에 있는 문자를 추출 하려면 앞에 두 번째 기간입니다. 마지막으로, 숫자에 Mid 함수에서 반환 되는 문자를 변환 하려면 Val 함수를 호출 합니다. 이 마지막 단계는 기본 데이터 형식이 텍스트 이므로 필요 합니다.

  7. 세 번째 주소 부분에 해당하는 열을 추가합니다. PartII 오른쪽에 있는 열의 필드 행에 PartIII: Val(Mid([IPAddress],InStr(InStr(1,[IPAddress],".")+1,[IPAddress],".")+1,InStr(InStr(InStr(1,[IPAddress],".")+1,[IPAddress],".")+1,[IPAddress],".")-InStr(InStr(1,[IPAddress],".")+1,[IPAddress],".")-1))을 입력합니다. 이 식은 IPAddress 필드에서 두 번째 마침표와 세 번째 마침표 사이에 있는 문자를 반환합니다.

    세 번째 식을 살펴보겠습니다. 여기에서도 주소의 세 번째 부분에 있는 숫자의 자릿수를 알 수 없고, 첫 번째 및 두 번째 부분의 길이를 알 수 없기 때문에 세 번째 부분이 시작되는 정확한 위치도 알 수 없으므로 InStr 함수를 사용하여 마침표의 위치를 찾습니다. 그런 다음 Mid 함수를 사용하여 두 번째 마침표와 세 번째 마침표 사이에 있는 문자를 추출합니다. 마지막으로 Val 함수를 호출하여 Mid 함수가 반환한 문자를 숫자로 변환합니다. 역시 기본 데이터 형식이 텍스트이기 때문에 이 마지막 단계는 반드시 실행되어야 합니다.

  8. 주소의 네 번째, 즉 마지막 부분에 해당하는 열을 추가합니다. PartIII 오른쪽에 있는 열의 필드 행에 PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".")+1,[IPAddress],".")+1,[IPAddress],".")))을 입력합니다. 이 식은 마지막 마침표 뒤에 있는 문자를 반환합니다.

    식을 살펴보겠습니다. 세 번째 기간의 위치를 찾고 다음 그 뒤에 나오는 모든 문자를 추출 하는 키가 합니다. 세 번째 기간의 정확한 위치를 알 수 없는 InStr 함수를 세 번 호출 하면 세 번째 마침표의 위치를 찾습니다. 다음 사용은 Len 함수 네 번째 부분에 있는 숫자의 수를 계산 합니다. 반환 되는 자릿수 다음 사용한는 ip 주소 필드의 오른쪽 부분에서 많은 문자를 추출 하려면 Right 함수입니다. 마지막으로, 숫자에 Mid 함수에서 반환 되는 문자를 변환 하려면 Val 함수를 호출 합니다. 이 마지막 단계는 기본 데이터 형식이 텍스트 이므로 필요 합니다.

  9. 계산된 4개 열의 정렬 행을 모두 오름차순으로 설정합니다.

    중요    IPAddress 열의 정렬 행은 비워 두어야 합니다.

    주소 이외의 다른 필드 값도 사용하여 정렬하려는 경우 '계산된 4개 열 모두'의 왼쪽이나 오른쪽에 해당 필드를 배치하십시오. 계산된 열 사이에는 다른 정렬 필드를 넣으면 안 됩니다.

  10. 다음 단계에서는 계산된 4개 열을 데이터시트에서 숨깁니다. 먼저 데이터시트 보기로 전환하여 계산된 열에 입력한 식의 결과를 확인합니다. 다음 표에서는 데이터시트 보기에 표시되는 열을 보여 줍니다.

MachineID

IPAddress

PartI

PartII

PartIII

PartIV

3

1.198.3.93

1

198

3

93

4

32.183.93.40

32

183

93

40

5

104.30.244.2

104

30

244

2

6

104.244.4.1

104

244

4

1

2

104.244.253.29

104

244

253

29

1

123.4.245.23

123

4

245

23

  1. 디자인 보기로 다시 전환하여 계산된 4개 열의 표시 행 확인란의 선택을 모두 취소합니다. 이렇게 하면 계산된 열이 데이터시트 보기에 표시되지 않습니다.

  2. 쿼리에서 제외할 레코드의 조건을 지정할 수도 있습니다.

  3. 데이터시트 보기로 전환하여 레코드가 정렬한 순서로 표시되는지 확인합니다. 레코드가 IP 주소의 오름차순으로 올바르게 정렬되어 표시됩니다.

맨 위로 이동

정렬된 IP 주소의 여러 가지 용도

데이터를 입력하는 동안 IP 주소 유효성 검사

코드 작성 하지 않고 주소 유효성 검사를 사용할 수 있는 이렇게 하면 제한 된 범위에 #필드의 입력 마스크 속성을 설정 하 여. ## #. # # #. # # #; 0; " " 및 IP 주소 필드의 형식 속성 & & & & & & & & & & & &합니다.

입력 마스크의 역할은 사용자가 주소 필드에 입력할 때 세 개의 마침표 사이에 숫자와 공백 외의 다른 문자를 입력할 수 없도록 하는 것입니다. 숫자 부분이 두 자릿수로 되어 있으면 세 번째 자릿수는 비워 두거나 공백을 입력하면 됩니다. 입력 마스크는 사용자가 주소에서 하나 이상의 부분을 입력하지 않고 건너뛰거나 숫자 값이 아닌 공백만 입력해도 경고를 표시하지 않습니다. 예를 들어 "345. .3. "도 올바른 주소로 허용됩니다.

표시 형식의 역할은 사용자가 입력을 마치고 해당 필드에서 나갈 때 주소에서 공백을 제거하고 숫자와 마침표만 표시하는 것입니다. 그러므로 사용자가 "354.35 .2 .12 "를 입력한 경우 주소는 "354.35.2.12"로 표시됩니다. 주소 내부를 클릭하거나 주소를 선택하고 F2 키를 눌러 편집 모드로 전환하면 공백이 다시 표시됩니다.

팁: 주소를 복사하려면 이전 열이나 컨트롤로 이동하고 Tab 키를 눌러 서식이 지정된 주소를 선택한 다음 복사를 클릭합니다. 이렇게 하면 공백이 들어 있는 주소 문자열이 복사되지 않습니다.

IP 주소순으로 폼 또는 보고서의 레코드 정렬

레코드가 IP 주소순으로 정렬되는 폼이나 보고서를 만들어야 하는 경우 주소를 저장하는 테이블 대신 앞에서 설명한 방식으로 주소를 정렬하는 쿼리를 기반으로 하여 새 개체를 만드십시오.

맨 위로 이동

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×