Elegir el control de un campo
Objetivo
Elegir qué control de entrada usa un campo en un formulario (un área de texto, una casilla, un conmutador, un selector de fecha, una búsqueda o una lista desplegable) y configurar las propiedades de ese control, como el formato de visualización de una fecha o las etiquetas Sí/No de un conmutador.
Requisitos previos
- Ha iniciado sesión como creador con permiso para editar la solución del formulario.
- El campo ya existe en la tabla (consulte Agregar un campo a una tabla) y está colocado en el formulario (consulte Crear un formulario).
Pasos
- Abra la tabla en Tablas y vaya a la pestaña Formularios.
- Seleccione el formulario para abrir el Diseñador de formularios.
- Seleccione el campo colocado en el lienzo del formulario. El panel Propiedades muestra la configuración de ese campo.
- Abra la lista desplegable Control y elija un control:
- Predeterminado para el tipo de campo: la plataforma elige la entrada habitual para el tipo de datos del campo. Es el punto de partida de todos los campos.
- Texto: un cuadro de texto de una sola línea.
- Área de texto: un cuadro de texto de varias líneas.
- Casilla: una casilla de verificación.
- Conmutador: un interruptor.
- Fecha, Fecha y hora, Hora: un selector de fecha u hora.
- Búsqueda: un selector de un registro de otra tabla.
- Lista desplegable: una selección de una lista fija de opciones.
- Establezca las propiedades del control, que aparecen bajo la lista desplegable Control y
dependen del control elegido:
- Área de texto: Filas, la altura del cuadro.
- Fecha, Fecha y hora, Hora (y sus equivalentes persas): Formato de fecha, cómo
se muestra el valor. Use
yyyyoyypara el año,MMMMpara el nombre del mes,MMpara su número,ddpara el día,HHpara la hora,mmpara los minutos ysspara los segundos; cualquier otro carácter se muestra tal cual. Por ejemplo,dd/MM/yyyymuestra el 4 de marzo de 2026 como04/03/2026. Un control Hora también admite un formato (HH:mmoHH:mm:ss), y el texto de ejemplo del cuadro muestra la forma adecuada para el control. Déjelo vacío para usar el formato de la aplicación (Configuración → Calendario → Formatos de fecha). - Casilla, Conmutador: Etiqueta Sí y Etiqueta No, las palabras que se muestran junto al control en cada estado.
- Búsqueda: Tabla de búsqueda, la tabla a cuyos registros apunta el campo, elegida de una lista de las tablas del entorno; Vista de búsqueda, que decide las columnas que se muestran en el selector (déjela en Predeterminada (se resuelve automáticamente) salvo que este campo concreto deba mostrar columnas distintas del selector habitual de la tabla); Filas que mostrar, cuántos registros ofrece el selector a la vez (déjelo vacío para el valor predeterminado de 10; auméntelo a 50, 100 o hasta 500 en una tabla donde el usuario necesite desplazarse por una lista larga en lugar de seguir escribiendo); y, una vez cargados los campos de la tabla de destino, Campo de nombre, Campo de segunda línea y Campo de imagen: qué campo es el nombre de cada candidato, la línea más pequeña bajo él y su imagen. Cada uno se deja en Predeterminado (el de la tabla) salvo que esta búsqueda concreta deba leerse de forma distinta a la elección habitual de la tabla. El selector de imagen solo ofrece campos de archivo y de imagen.
- Lista desplegable: Opciones, una lista separada por comas de las opciones que se
ofrecen (por ejemplo,
Draft, Sent, Paid).
- Seleccione Guardar.
Los campos de archivo y de imagen eligen su propio control
Un campo de archivo o de imagen siempre se representa con el control de archivos de la plataforma, diga lo que diga la lista desplegable Control. No hay nada entre lo que elegir: la columna contiene una referencia a un archivo almacenado y no un texto que el usuario pueda escribir, así que un cuadro de texto sobre ella solo invitaría a introducir un valor que la plataforma rechaza.
Lo que ve el usuario se describe en Agregar un archivo o una imagen a un registro. Conviene saber dos cosas al diseñar el formulario: un archivo se almacena cuando se guarda el formulario, como cualquier otro cambio en él (también en un registro que ya existe), y un campo de imagen solo acepta imágenes y las limita a un tamaño menor que un campo de archivo, porque una imagen en un formulario está pensada para mostrarse, no para archivarse.
Un campo de imagen tiene una propiedad que merece la pena establecer: Tamaño de imagen: Pequeño (el valor predeterminado, una miniatura del tamaño de un avatar), Mediano o Grande. Elija Grande para una foto que quiera mostrar de forma destacada (el retrato de una persona, la foto de un producto) y deje Pequeño para una imagen del tamaño de un icono, como una bandera o un logotipo. El tamaño solo cambia cómo se muestra la imagen; no cambia la imagen almacenada.
Cómo se comporta el control Búsqueda
Un campo de búsqueda almacena el id de un registro de la tabla relacionada, un identificador que nadie podría recordar razonablemente. Por eso el control nunca lo muestra. El usuario selecciona el campo, escribe parte del nombre del registro y elige entre las coincidencias; el campo muestra entonces el nombre de ese registro. Seleccionar el campo sin escribir ofrece los primeros registros, así que siempre hay algo que elegir.
El nombre que se muestra es, de forma predeterminada, el campo principal de la tabla relacionada o, cuando este control establece un Campo de nombre, el campo que haya elegido allí. Si ese campo está vacío en un registro, se muestra su id en su lugar: no para escribirlo, sino para poder distinguir dos filas que de otro modo estarían en blanco.
Reemplazar el nombre, la segunda línea y la imagen por control. Una búsqueda muestra normalmente lo que decidió la tabla (su campo principal como nombre, su campo designado como segunda línea, su imagen de registro como imagen), de modo que todas las búsquedas de esa tabla se leen igual. Establezca Campo de nombre, Campo de segunda línea o Campo de imagen en este control cuando una búsqueda deba ser distinta: por ejemplo, una búsqueda «Aprobador» que se lee por correo electrónico mientras en el resto de sitios se lee por nombre. Esto solo cambia este control; las elecciones propias de la tabla, y todas las demás búsquedas, no se tocan. Un reemplazo que nombra un campo que ya no existe vuelve discretamente a la elección de la tabla en lugar de dejar la línea en blanco.
La tabla en la que se busca es la propiedad Tabla de búsqueda del control cuando está establecida y, si no, la tabla a la que ya apunta la relación del campo. Un campo de búsqueda sin ninguna de las dos lo indica en el formulario en lugar de recurrir a un cuadro que invitaría a escribir un id.
La lupa al final del cuadro siempre está ahí, haya o no un registro seleccionado: marca el campo como búsqueda y no como cuadro de texto, y abre la Búsqueda avanzada.
Búsqueda avanzada
Escribir en el cuadro abre debajo el selector rápido: unos pocos registros a la vez, de dos líneas cada uno. La lupa, en cambio, abre la Búsqueda avanzada: los mismos registros como una tabla completa, con cada columna elegida por la vista de búsqueda en una columna propia, y Atrás / Siguiente por toda la tabla en lugar de solo las primeras coincidencias. Use el cuadro cuando sepa más o menos cómo se llama el registro, y la lupa cuando necesite echar un vistazo.
Buscar dentro del cuadro de diálogo vuelve a empezar por la primera página, y seleccionar una fila elige ese registro y cierra el cuadro de diálogo.
Cada registro del selector se muestra en dos líneas: su nombre y, cuando la tabla relacionada tiene una vista de búsqueda, las demás columnas de esa vista debajo, para poder distinguir dos registros con el mismo nombre. En qué columnas busca lo que se escribe se establece por separado, con una vista de búsqueda rápida; si no se ha creado ninguna de las dos, el selector muestra y busca solo en el campo principal. Consulte Crear una vista de búsqueda y Elegir en qué columnas busca una búsqueda.
Qué ocurre entre bastidores
El control elegido y sus propiedades se guardan como parte del formulario, así que viajan con el formulario cuando la solución se exporta e importa en otro entorno. Cuando un usuario abre el formulario, el control elegido aquí es el que ve y usa.
Una propiedad que no se aplica al control actual se oculta en lugar de eliminarse. Si un campo de fecha se cambia a Texto y más tarde de nuevo a Fecha, el formato de fecha configurado antes sigue ahí.
Un control personalizado vinculado al mismo campo tiene prioridad sobre el control elegido aquí (consulte Vincular un control personalizado a un campo).
Cómo se lee un campo de fecha
La propiedad Formato de fecha decide cómo se escribe el valor allí donde se muestra: en el propio cuadro del selector y en un campo que el usuario no puede editar. Eso incluye las marcas propias de la plataforma Fecha de creación y Fecha de modificación: coloque una en un formulario, asígnele un control de fecha y un formato, y se leerá igual que cualquier otra fecha del formulario.
Establézcalo una sola vez para toda la aplicación. Configuración → Calendario → Formatos de
fecha contiene dos juegos de tres patrones (fecha, fecha y hora, y hora), uno para el
calendario gregoriano y otro para el calendario persa. Cada control que no nombra un
formato propio usa el correspondiente. Dar formato a cada ubicación a mano significa que la que
olvide se leerá distinta del resto, que es justo lo que esto evita. Un formato establecido en una
ubicación sigue teniendo prioridad, así que sigue siendo la manera de hacer que un campo sea una
excepción. Deje un cuadro vacío y las fechas se leerán con el formato predeterminado de ese
calendario (yyyy/MM/dd HH:mm en el gregoriano, una fecha larga como ۱۲ اردیبهشت ۱۴۰۵ en el
persa).
El juego que se aplica depende del calendario en que se muestra realmente la fecha, no del predeterminado de la aplicación. Así, en un formulario que mezcla ambos (un campo fijado al calendario persa junto a uno gregoriano), cada uno se lee con su propio juego. Los dos son independientes a propósito: los cuadros persas no recurren a los gregorianos, de modo que cambiar cómo se leen las fechas gregorianas nunca cambia discretamente cómo se leen las persas. Esa independencia es la razón de que haya dos juegos en lugar de uno.
La misma configuración se aplica en las vistas, no solo en los formularios: una columna de fecha cuyo diseñador no estableció un formato propio se lee con el patrón del inquilino, exactamente igual que el mismo campo en un formulario.
El calendario en que se escribe una fecha es una elección aparte, y nombrar un control la
resuelve. Deje el control en Predeterminado y el campo sigue la configuración de calendario
de la aplicación (Configuración → Calendario), de modo que un solo cambio afecta a todas las
fechas de la aplicación. Nombre uno y esa elección prevalece, en ambos sentidos: Fecha persa y
Fecha y hora persas fijan el campo al calendario persa diga lo que diga la configuración, y
Fecha o Fecha y hora simples lo fijan al gregoriano incluso en una aplicación configurada
en persa, para el campo que siempre debe leerse de una manera concreta. En cualquier caso el valor
almacenado es el mismo instante; solo cambia cómo se escribe. En el calendario persa, un formato
d MMMM yyyy se lee ۱۲ اردیبهشت ۱۴۰۵.
Hora persa es uno de ellos, y conviene decir qué cambia, porque una hora no tiene calendario
como lo tiene una fecha: las 09:30 son las 09:30 en ambos. Lo que cambia son los dígitos (una
hora persa se lee ۰۹:۳۰) y el formato que adopta, el formato de hora persa de Configuración
en lugar del gregoriano. Elíjalo para una hora que aparece junto a fechas persas; elija Hora
simple para una que deba leerse con dígitos latinos sea cual sea el idioma de la aplicación.
Solución de problemas
- Un campo de solo lectura o de sistema ignora el formato. — no lo ignora: usa el formato del
control con el que está colocado el campo. Un campo colocado sin elegir control usa el control
predeterminado de su tipo de datos, luego el formato de la aplicación para ese tipo y luego el
predeterminado de ese calendario (
yyyy/MM/dd HH:mmen el gregoriano, una fecha larga en el persa). Establezca Formato de fecha en la ubicación para cambiarlo. - La aplicación está configurada en persa y un campo que establecí como Fecha y hora sigue mostrando fechas jalalíes. — ya no ocurre. Un control con nombre fija su propio calendario; solo Predeterminado sigue Configuración → Calendario. Si un campo sigue la configuración, su control está en Predeterminado: nombre el que desee.
- No se puede cambiar el control de un campo de imagen. — correcto, y ahora el panel lo indica en lugar de ofrecer una lista desplegable. La plataforma almacena el propio archivo, así que no hay otro control con el que pueda representarse.
- Una hora se desplaza después de guardar y actualizar. — corregido. Antes, una hora se enviaba sin su fecha, el servidor tenía que suponer una y se leía desplazada. Ahora viaja como el momento completo, exactamente igual que una fecha y hora.
- El formato de un control Hora no hace nada. — ahora sí. Una hora se escribe con
HH,mmyss; un patrón formado solo por elementos de fecha no tiene nada de hora que representar. - Una fecha se muestra tal como se escribió en lugar de con formato. — el valor almacenado no es una fecha que la plataforma pueda leer. Se muestra exactamente como está almacenado en lugar de dejarse en blanco, para que pueda ver lo que hay realmente.
- La lista Tabla de búsqueda está vacía. — el entorno todavía no tiene otras tablas a las que apuntar. Cree primero la tabla que quiere buscar.
- Una búsqueda en el formulario indica «This field has no related table set». — el campo no tiene destino de relación y el control no tiene la propiedad Tabla de búsqueda. Establezca una o cree la relación que debe seguir el campo.
- Una búsqueda no encuentra registros por mucho que busque. — la búsqueda solo compara con el campo principal de la tabla relacionada. Buscar un valor que está en otro campo de ese registro no lo encontrará.
- Una búsqueda indica «Could not search the related table». — la solicitud de búsqueda falló o el usuario que ha iniciado sesión no tiene acceso de lectura a la tabla relacionada. Confirme que el rol del usuario concede lectura sobre esa tabla.
- La lista desplegable no muestra opciones. — no hay opciones configuradas. Escríbalas en la propiedad Opciones, separadas por comas.
- Un campo sigue mostrando la entrada antigua después de guardar. — el formulario se guardó, pero la aplicación está mostrando un formulario en caché. Vuelva a abrir el registro.