Seek 함수

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

참고

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

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

구문

검색(파일 번호)

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

주의

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

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

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

    

예제

참고

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

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

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

임의 모드로 열린 파일의 경우 검색 시 다음 레코드의 번호가 반환됩니다.

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.