AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • ¿Cuándo utilizar la función HBuildKeyValue?
  • Búsqueda genérica
  • Creación de una clave compuesta utilizada en un filtro con límites
  • Construir una llave compuesta sin usar HBuildKeyValue
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Construye el valor de una clave compuesta para implementar un filtro (HFilter) o para realizar una búsqueda (HReadSeekFirst, HReadSeekLast, etc.).
Esta función puede sustituirse por una array de valores, más fácil de utilizar. Por ejemplo:
HReadSeekFirst(FileName, LINKEDCOMPKEY, ["Last name", "First name"])
Son iguales:
HReadSeekFirst(FileName, LINKEDCOMPKEY, ...
HBuildKeyValue(FileName, LINKEDCOMPKEY, "Last name", "First name"))
Sugerencia: Para realizar un bucle en un archivo de datos utilizando una clave compuesta, utilice la sentencia FOR EACH con una clave compuesta (sintaxis 5).
Para más detalles sobre las llaves compuestas en WINDEV, véase Claves compuestas.
Recordatorio: Las claves compuestas son cadenas binarias cuyo contenido no se puede mostrar directamente.
bufSoughtVal is Buffer
 
// Build the composite key
bufSoughtVal = HBuildKeyValue(Customer, LASTNAME_FIRSTNAME, "MOORE", "Vince")
 
// Build a String/Integer composite key
bufSoughtVal = HBuildKeyValue(Customer, LASTNAME_CUSTNUM, "MOORE", 12128)
 
// Build an Integer/Integer composite key
bufSoughtVal = HBuildKeyValue(Order, ORDERID_ORDERID, 12119,593)
Sintaxis
<Result> = HBuildKeyValue(<Data file> , <Composite key> , <Value of components>)
<Result>: Buffer
Valor de la clave compuesta.
<Data file>: Cadena de caracteres
Nombre del archivo de datos HFSQL utilizado.
<Composite key>: Cadena de caracteres
Nombre del elemento que corresponde a la clave compuesta
<Value of components>: Cadena de caracteres
Valor que se asignará a cada componente de la clave compuesta. Este parámetro tiene el siguiente formato:
<Component 1>, <Component 2>, ..., <Component N>
Por ejemplo: "MEDINA", "Felipe".
Observaciones

¿Cuándo utilizar la función HBuildKeyValue?

HBuildKeyValue se puede utilizar para realizar búsquedas en claves de cadenas binarias relacionado a claves compuestas.
Por ejemplo:
  • FileA file:
    COMPKEY es una clave compuesta de FileA. Composición: ArchivoA.Apellido+ArchivoA.Nombre
  • Fichero FileB:
    LINKEDCOMPKEY es una clave de cadena binaria relacionado a FileA.COMPKEY
Realización de una búsqueda sobre el valor de la clave compuesta:
HReadSeekFirst(FileB, LINKEDCOMPKEY, HBuildKeyValue(FileA, COMPKEY, ...
"Last name", "First name"))
o
bufKey is Buffer
bufKey = HBuildKeyValue(FileA, COMPKEY, "Last name", "First name")
HReadSeekFirst(FileB, LINKEDCOMPKEY, bufKey)
o
HReadSeekFirst(FileB, LINKEDCOMPKEY, FileA.COMPKEY)
si el ArchivoA está posicionado en el Record para buscar en el ArchivoB.
También puede utilizar un array de valores en lugar de HBuildKeyValue:
HReadSeekFirst(FileB, LINKEDCOMPKEY, ["Last name", "First name"])

Búsqueda genérica

Cuando se realiza una búsqueda genérica, no es necesario definir los valores de todos los componentes.. Sólo se requieren los primeros n valores (n se incluye entre 1 y el número de componentes clave, incluidos los límites).

Creación de una clave compuesta utilizada en un filtro con límites

Para construir el valor de una clave compuesta utilizada en un filtro, llame a HBuildKeyValue.
  • Si el límite mínimo y máximo del filtro deben ser idénticos, se deben completar los límites con las constantes hMinVal y hMaxVal.
    El siguiente ejemplo se utiliza para encontrar todos los registros del archivo de Cliente correspondientes a "Vince Moore":
    HFilter(Customer, ...
    HBuildKeyValue(Customer, LastNameFirstName, "Moore", "Vince") + hMinVal, ...
    HBuildKeyValue(Customer, LastNameFirstName, "Moore", "Vince") + hMaxVal)
  • Si el límite mínimo y máximo del filtro deben ser idénticos y no se especifican todos los componentes de la clave, se deben completar los límites con las constantes hMinVal y hMaxVal.
    El siguiente ejemplo se utiliza para encontrar todos los registros del archivo de Cliente correspondientes a "Moore":
    HFilter(Customer, LastNameFirstName, ...
    HBuildKeyValue(Customer, LastNameFirstName, "Moore" + hMinVal), ...
    HBuildKeyValue(Customer, LastNameFirstName, "Moore" + hMaxVal))
Observaciones:
  • hMinVal es equivalente a Charact( 0)
  • hMaxVal es equivalente a Charact( 255)

Construir una llave compuesta sin usar HBuildKeyValue

Puede utilizar una array de valores para construir el valor de una clave compuesta sin utilizar HBuildKeyValue.
Por ejemplo:
HReadSeekFirst(FileB, LINKEDCOMPKEY, ["Last name", "First name"])
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 17/07/2022

Señalar un error o enviar una sugerencia | Ayuda local