Nota: La función, el método, el objeto o la propiedad que se describe en este tema está deshabilitada si el servicio microsoft Jet Expression se ejecuta en modo de espacio aislado, lo que impide la evaluación de expresiones potencialmente no seguras. Para obtener más información sobre el modo de espacio aislado, busque "modo de espacio aislado" en la Ayuda.
Devuelve un valor Long que especifica la posición de lectura y escritura actual dentro de un archivo abierto con la instrucción Open.
Sintaxis
Buscar( número de archivo )
El número de archivo argumento es un entero que contiene un valor número de archivo.
Observaciones
Buscar devuelve un valor entre 1 y 2.147.483.647 (equivalente a 2^31 – 1), ambos inclusive.
A continuación se describen los valores devueltos para cada modo de acceso a archivos.
Moda |
Valor devuelto |
Aleatorio |
Número del siguiente registro leído o escrito |
Binario, |
Posición de byte en la que se lleva a cabo la siguiente operación. El primer byte de un archivo se encuentra en la posición 1, el segundo byte está en la posición 2, y así sucesivamente. |
Ejemplo
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia para desarrolladores en la lista desplegable junto a Buscar y escriba uno o más términos en el cuadro de búsqueda.
En este ejemplo se usa la función Buscar para devolver la posición actual del archivo. En el ejemplo se supone TESTFILE es un archivo que contiene registros del tipo definido por el usuario Record.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Para los archivos abiertos en modo aleatorio, Buscar devuelve el número del registro siguiente.
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.
Para los archivos abiertos en modos distintos del modo aleatorio, Buscar devuelve la posición de byte en la que se lleva a cabo la siguiente operación. Suponga TESTFILE es un archivo que contiene algunas líneas de texto.
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.