|
|
|
|
- Lectura o no de la operación según un elemento clave
- Recorrer en bucle los registros que coinciden con una condición
- Bloqueos
- Memos
- Varios
HReadPrevious (Función)
No disponible con este tipo de conexión
Establece la posición en el registro anterior del archivo de datos de acuerdo con un elemento de navegación. Se lee el registro y se actualizan las variables HFSQL (por ejemplo, Cliente.Nombre, es decir, el elemento/campo Nombre del archivo de datos Cliente). Los valores de la posición de búsqueda se leen en orden descendente (véase observaciones para más detalles). Generalmente, la función HReadPrevious establece la posición al recorrer el archivo de datos. Después de llamar a la función HReadPrevious, se pueden producir los siguientes casos: - el archivo de datos está vacío o ningún registro corresponde al filtro (definido con la función HFilter): no se realiza ninguna lectura y la función HOut devuelve True.
- la función intenta bloquear un registro ya bloqueado en modo de lectura: no se realiza ninguna operación de lectura, HErrorLock devuelve True y HOut devuelve True.
La gestión de los bloqueos no está disponible. Acceso con JDBC: Los bloqueos no se pueden gestionar en bases de datos a las que se accede mediante JDBC.
Esta función se puede utilizar con archivos de datos, vistas HFSQL o consultas.
HReadLast(Customer, Name) WHILE HOut() = False // Process the record HReadPrevious(Customer, Name) END
Sintaxis
<Result> = HReadPrevious([<Data file> [, <Browse item>] [, <Options>]])
<Result>: booleano - True si se leyó el registro anterior,
- False si se produce un error (bloqueo, fin del archivo de datos, etc.): el registro no se lee. Este problema puede ser causado por:
- un problema de posicionamiento (archivo vacío, ....): la función HFound devuelve False y la función HError devuelve 0.
- un error: la función HError devuelve un número entero distinto de 0. La función HErrorInfo devuelve más detalles.
<Data file>: Cadena de caracteres opcional Nombre del archivo de datos, vista HFSQL o consulta utilizada. Si este parámetro corresponde a una cadena vacía, HReadPrevious utilizará el último archivo de datos utilizado por la última función de gestión HFSQL (función que comienza por "H"). <Browse item>: Cadena de caracteres opcional Nombre del elemento utilizado para el bucle de el archivo de datos. Si no se especifica este nombre, la función HReadPrevious utilizará:- Para un archivo de datos: el último elemento de búsqueda utilizado en este archivo por la última función para la gestión de HFSQL (empezando por la letra H). Si este campo no existe, el mejor campo de navegación se utiliza automáticamente.
- For a query: el PEDIDO POR de consulta si existe, en caso contrario el último ítem utilizado.
- Para una vista: el elemento de ordenación de la vista (si existe), en caso contrario el último elemento utilizado.
<Options>: Constante o combinación de constantes opcional Permite configurar:- el bloqueo establecido en el Record leído por HReadPrevious.
- la gestión de duplicados. Por Default, todos los duplicados son examinados.
| | hDistinct | Si se encuentran duplicados, esta constante permite leer una sola Record entre los duplicados. Este parámetro sólo se tiene en cuenta si la búsqueda se realiza en un elemento clave. | hLockNo | Sin bloqeuo: la Record puede ser leída o modificada por otra aplicación durante la lectura. | hLockReadWrite | Bloqueo de lectura y escritura: el Record que se lee actualmente no puede ser leído o modificado por otra aplicación. | hLockWrite | Bloqueo de escritura: el Record que se lee actualmente puede ser leído por otra aplicación pero no puede ser modificado por otra aplicación. |
Observaciones Lectura o no de la operación según un elemento clave Si el elemento utilizado es una clave, la función HReadPrevious lee el registro con el valor de clave más alto. El criterio de ordenación que se tiene en cuenta es el especificado en el análisis para esta clave. Si el elemento utilizado es una clave, la función HReadPrevious lee el anterior registro activo. Al navegar por el archivo de datos, los Record s se ordenarán según su número de Record. En este caso, el elemento de navegación seleccionado aparecerá en rojo en el editor de código y se mostrará una advertencia en la pantalla de "Panel"Código. Recorrer en bucle los registros que coinciden con una condición En la mayoría de los casos, HReadSeek, HReadSeekFirst y HReadSeekLast se utilizan para posicionar en el archivo de datos para realizar un bucle de búsqueda entre los registros correspondientes a una condición. Las funciones HReadNext y HReadPrevious permiten leer el anterior o siguiente registro según las siguientes condiciones: - si el elemento utilizado es una clave, la función HReadPrevious leerá los registros anteriores que corresponden a los valores inferiores o iguales al valor buscado.
- si el elemento utilizado no es una clave, HReadPrevious leerá los siguientes registros correspondientes a los valores iguales al valor buscado.
Para ignorar la búsqueda mientras se va a la siguiente o anterior Record, utilice una de las siguientes funciones: Memos Los memos asociados con el Record pueden ser leídos automáticamente (o no) cuando se lee el Record. HSetMemo se utiliza para personalizar esta operación de lectura de automatic. Si los memos están soportados, los memos de texto asociados se leen cuando se lee la Record. Los memos binarios sólo se leen cuando se utilizan explícitamente ( HExtractMemo). Varios - La función HRecNum devuelve el número de registro actual.
- La función HChangeKey cambia la clave de búsqueda conservando la posición en el registro actual.
- Para optimizar las primeras iteraciones en un archivo de datos, utilice HOptimize en este archivo de datos.
- Esta función sustituye a HReadPreviousLock y HReadPrevious, que se mantuvieron por compatibilidad con WINDEV 5.5.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|