Seek 함수

적용 대상
Microsoft 365용 Access Access 2021 Access 2019 Access 2016

참고

이 항목에 설명된 함수, 메서드, 개체 또는 속성은 Microsoft Jet Expression Service가 샌드박스 모드에서 실행 중이면 사용할 수 없으므로 안전하지 않은 식이 평가되지 않습니다. 샌드박스 모드에 대한 자세한 내용은 도움말에서 "샌드박스 모드"를 검색하세요.

Open 문을 사용하여 연 파일 내에서 현재 읽기/쓰기 위치를 지정하는 Long을 반환합니다.

구문

Seek(filenumber)

필수 filenumber인수는 유효한 파일 번호를 포함하는 정수입니다.

주의

Seek 는 1에서 2,147,483,647(2^31 – 1에 해당) 사이의 값을 반환합니다.

다음은 각 파일 액세스 모드의 반환 값에 대해 설명합니다.

모드 반환 값
임의의 읽거나 쓴 다음 레코드의 수
이진,
출력,
추가,
입력
다음 작업이 수행되는 바이트 위치입니다. 파일의 첫 번째 바이트는 위치 1, 두 번째 바이트는 위치 2 등에 있습니다.

    

예제

참고

VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

이 예제에서는 Seek 함수를 사용하여 현재 파일 위치를 반환합니다. 이 예제에서는 가 사용자 정의 형식 의 레코드를 포함하는 파일이라고 가정 TESTFILE 합니다 Record.

Type Record    ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type

임의 모드로 열린 파일의 경우 Seek 는 다음 레코드의 수를 반환합니다.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)    ' Loop until end of file.
    Get #1, , MyRecord    ' Read next record.
    ' Print record number to the Immediate window.
    Debug.Print Seek(1)    
Loop
Close #1    ' Close file.

임의 모드가 아닌 모드로 열린 파일의 경우 Seek 는 다음 작업이 수행되는 바이트 위치를 반환합니다. 가 몇 줄의 텍스트를 포함하는 파일이라고 가정 TESTFILE 합니다.

Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading.
Do While Not EOF(1) ' Loop until end of file.
    MyChar = Input(1, #1) ' Read next character of data.
    ' Print byte position to the Immediate window. 
    Debug.Print Seek(1) 
Loop
Close #1    ' Close file.