Devuelve un valor de tipo Variant (Long) que especifica la posición de la primera aparición de una cadena dentro de otra.
Sintaxis
ENCAD ([Start, ] cadena1, cadena2 [, comparar ] )
La sintaxis de la función ENCAD tiene los siguientes argumentos:
argumento | Descripción |
---|---|
iniciar |
Opcional. Expresión numérica que establece la posición inicial de cada búsqueda. Si se omite, la búsqueda comienza en la posición del primer carácter. Si Inicio contiene un valor nulo, se produce un error. El argumento inicio es necesario si se especifica comparar. |
cadena1 |
Obligatorio. Expresión de cadena que se busca. |
cadena2 |
Obligatorio. Expresión de cadena buscada. |
comparar |
Opcional. Especifica el tipo de comparación de cadena. Si comparar es Null, se producirá un error. Si se omite comparar , la configuración decompararopcióndetermina el tipo de comparación. Especifique un LCID (LocaleID) válido para usar reglas específicas de la configuración regional en la comparación. |
Sugerencia: En Access 2010, el generador de expresiones tiene IntelliSense, para que pueda ver qué argumentos requiere la expresión.
Configuración
La configuración del argumento comparar es la siguiente:
Constante | Valor | Descripción |
---|---|---|
vbUseCompareOption |
-1 |
Realiza una comparación con la configuración de la instrucción Option Compare . |
vbBinaryCompare |
0 |
Realiza una comparación binaria. |
vbTextCompare |
1 |
Realiza una comparación textual. |
vbDatabaseCompare |
2 |
Microsoft Office Access 2007. Realiza una comparación en función de la información de su base de datos. |
Valores devueltos
Si | ENCAD devuelve |
---|---|
cadena1 es de longitud cero |
0 |
cadena1 es nulo |
Nulo |
cadena2 es de longitud cero |
iniciar |
cadena2 es nulo |
Nulo |
no se encuentra String2 |
0 |
cadena2 se encuentra dentro de cadena1 |
Posición en la que se encuentra la coincidencia |
iniciar > cadena2 |
0 |
Observaciones
La función InStrB se utiliza con datos byte incluidos en una cadena. En lugar de devolver la posición de carácter de la primera aparición de una cadena dentro de otra, InStrB devuelve la posición de byte.
Ejemplos
Usar la función ENCAD en una expresión Puede usar instr siempre que pueda usar expresiones. Por ejemplo, si desea buscar la posición del primer punto (.) en un campo que contiene direcciones IP (llamado dirección IP), puede usar ENCAD para encontrarla, por ejemplo:
InStr (1, [direcciónIP], ".")
La función ENCAD examina cada valor en el campo dirección IP y devuelve la posición del primer punto. Por lo tanto, si la primera parte de la dirección IP es 10., la función devuelve el valor 3.
Después, puede usar otras funciones que operen en el resultado de la función ENCAD para extraer la parte de la dirección IP que precede al primer punto, por ejemplo:
Left ([direcciónIP], (InStr (1, [direcciónIP], ".") -1))
En este ejemplo, instr (1, [IPaddress], ".") Devuelve la posición del primer punto. Restar 1 determina cuántos caracteres preceden al primer punto, en este caso, 2. A continuación, la función izquierda extrae esos caracteres de la parte izquierda del campo dirección IP y devuelve el valor 10.
Usar instr en código de VBA
Nota: En los siguientes ejemplos se muestra el uso de esta función en un módulo de Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada 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 ENCAD para devolver la posición de la primera aparición de una cadena dentro de otra.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.
Nota: Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.