FORMULA LANGUAGE


@DbColumn (origen de datos ODBC)
Ejemplo

Usa la información sobre el origen de datos especificado para activar el controlador ODBC adecuado. A continuación, el controlador localiza el DBMS (del inglés Database Management System, sistema de gestión de bases de datos), la tabla y la columna que se han especificado, y da como resultado todos los valores contenidos en dicha columna. Opcionalmente, puede indicar si desea que la lista de valores esté ordenada, si los valores repetidos deben suprimirse y el modo en que deben tratarse los valores nulos.

Nota @DbColumn sólo puede recuperar datos; no puede añadirlos, suprimirlos ni modificarlos.

Sintaxis

@DbColumn( "ODBC" : caché ; origen-datos ; ID1-usuario : ID2-usuario ; contraseña1 : contraseña2 ; tabla ; columna : valores-nulos ; "Distinct" : ordenar )

Parámetros

"ODBC"


caché origen-datos
ID1-usuario : ID2-usuario
contraseña1 : contraseña2
tabla
columna
valores-nulos
"Distinct"
ordenar
Resultado

valores-hallados


Nota Si emplea la interfaz de botón radial o de casilla de verificación para un campo de palabras clave, Lotus Domino actualizará la lista de palabras clave únicamente durante la creación del documento o cuando éste se ponga en el modo de edición. Si emplea la interfaz de usuario estándar para el campo, la lista de palabras clave también se actualizará cada vez que se recalcule el documento.

Especificación del origen de datos

El nombre del origen de datos puede contener un máximo de 32 caracteres alfanuméricos.

@DbLookup sólo puede acceder a aquellos orígenes de datos que se hayan registrado previamente en el archivo ODBC.INI (o en un registro similar para plataformas distintas de Windows™).

Especificación de los ID y de las contraseñas

Solo necesitará usar este parámetro si emplea un DBMS que requiere su uso.

En lugar de almacenar los ID en la fórmula de @DbColumn, puede reemplazarlos por cadenas vacías (""). Si el uso de un ID es obligatorio, el controlador ODBC se lo pedirá al usuario. Esto resulta útil cuando no se desea situar los ID en una fórmula a la que pueden tener acceso otros diseñadores, o bien cuando se desea que cada usuario acceda a los datos externos haciendo uso de su propio ID en lugar de crear archivos ID genéricos. Sin embargo, sí deberá incluir los ID y las contraseñas en las fórmulas que se ejecuten automáticamente (por ejemplo, los agentes), ya que éstas no solicitan esta información al usuario.

En cada sesión de una misma base de datos de Domino, sólo es necesario especificar una vez los ID y las contraseñas de usuario que son necesarios para acceder al origen de datos, siempre que la base de datos permanezca abierta. Si el usuario abre otra base de datos de Domino y ejecuta una fórmula que hace uso del mismo origen de datos, el controlador volverá a pedirle el ID y la contraseña.

Solo necesitará emplear las contraseñas si está usando los parámetros ID descritos anteriormente. Al igual que los ID, las contraseñas pueden almacenarse en la fórmula de @DbCommand o bien reemplazarse por cadenas vacías, en cuyo caso, el controlador ODBC se las pedirá al usuario. Si la contraseña de la base de datos es una cadena vacía, puede omitirla de la fórmula.

Por ejemplo, si va a especificar la contraseña completa, introduzca lo siguiente:


Especificación del nombre de la tabla

Si el DBMS lo permite, puede incluir el nombre del propietario de la tabla para evitar que se produzcan ambigüedades; use el formato "nombre-propietario.nombre-tabla". Asegúrese de que separa el nombre del propietario del nombre de la tabla mediante un punto. Por ejemplo:

"dbo.author"

Tabla también puede hacer referencia a una vista de la base de datos del DBMS cuyos datos se están utilizando.

Especificación de valores nulos

Normalmente, los valores nulos se ignoran y la lista resultante se acorta (del mismo modo que cuando se usa la opción "Discard", descrita más adelante).

Para controlar el modo en que se tratan los valores nulos, especifique una de las opciones siguientes detrás del parámetro columna, separada de éste por un signo de dos puntos:


Especificación de la palabra clave Distinct

El argumento de cadena Distinct es similar a la función @Unique de Lotus Domino; la diferencia estriba en que Distinct elimina los valores repetidos antes de obtener los datos. El uso de Distinct en lugar de @Unique tiene dos ventajas:


Nota Distinct no puede emplearse con todos los controladores ODBC. Cuando existen valores nulos en los datos y se especifica la palabra clave Distinct, el resultado suele incluir uno de ellos.

Especificación del orden

Si emplea el argumento de cadena Distinct descrito anteriormente, introduzca el argumento correspondiente al parámetro ordenar detrás de Distinct y sepárelos mediante un signo de dos puntos, como se indica en el ejemplo de sintaxis. El parámetro ordenar sirve para ordenar la lista de valores antes de incorporarla a Notes.


Si no especifica un argumento de cadena para la ordenación, Notes ordenará los valores resultantes de forma arbitraria.

Nota Las palabras clave de ordenar no pueden emplearse con todos los controladores ODBC. Si intenta usar tanto "Ascending" como "Descending" en su fórmula, aparecerá un mensaje indicándole que ha usado un parámetro no válido.

Si el resultado son varios valores, se les dará formato de lista y se empleará el separador de valores múltiples especificado para el campo actual.

@DbColumn puede dar como resultado un máximo de 64 kB de datos. Use las ecuaciones siguientes para determinar la cantidad de datos que pueden obtenerse con @DbColumn.


Si el archivo NOTES.INI del usuario incluye la sentencia:

NoExternalApps=1

cualquier fórmula que contenga la función @DbColumn quedará desactivada. El usuario no verá ningún mensaje de error; simplemente Notes no ejecutará la fórmula. Esto sólo se aplica a @DbColumn cuando esta función se emplea con ODBC.

Uso

@DbColumn tiene su aplicación fundamental en fórmulas de palabras clave. En lugar de crear una fórmula con la lista de palabras clave permitidas en un campo y actualizar dicha lista periódicamente, @DbColumn le permite recuperar dinámicamente una lista de valores procedentes de una tabla de base de datos externa.

Esta función únicamente opera en aplicaciones de Web si el servidor remoto que alberga la tabla de la que se recuperan los datos se encuentra en el mismo equipo que el servidor Domino, lo que es muy infrecuente.

Equivalencias en otros lenguajes

Método GetValue de la clase ODBCResultSet de Lotus Connectors

Ejemplo
Véase también