ver validacion una tipos sirve resultados reglas registros que publicar propiedades pasos paso para pagina mascara los instante google formulario escribir entrada empresa ejemplos descargar datos crear conectar compartir como clientes campos campo buscar sql vba ms-access access-vba

sql - validacion - tipos de datos en access



¿Cómo crearías una base de datos en microsoft access que solo se puede buscar en ciertos campos? (5)

¿Cómo crearía una base de datos en Microsoft Access que solo se puede buscar en ciertos campos y está controlada por solo unos pocos cuadros de texto (necesarios) y casillas de verificación en un formulario para que sea fácil de usar, sin consultas difíciles?

Ejemplo: tiene varios cuadros de texto y varias casillas de verificación correspondientes en un formulario, y cuando la casilla de verificación junto al cuadro de texto está marcada, el cuadro de texto está habilitado y puede buscar por lo que se ingresó en dicho cuadro de texto

(De hecho, ya lo sé, solo estoy jugando a stackoverflow, donde hago una pregunta, sé la respuesta solo para aumentar el conocimiento de codificación del mundo. La respuesta llegará en unos 5 minutos)



Mi propia solución es agregar un control de "filtro" en la parte del encabezado del formulario para cada una de las columnas en las que quiero filtrar (generalmente todas ...). Cada vez que se actualice un control de "filtro" de este tipo, se ejecutará un procedimiento para actualizar el filtro activo del formulario, utilizando la función "BuildCriteria" disponible en Access VBA.

Por lo tanto, cuando escribo " *cable* " en el "filtro" en la parte superior de la columna Descripción de la orden de compra, el "WHERE PODescription IS LIKE" *cable* "se agrega automáticamente a la propiedad MyForm.filter ....

Algunos objetarían que la fuente de registro de filtrado hecha de múltiples tablas subyacentes puede llegar a ser muy complicada. Está bien. Por lo tanto, la mejor solución es, según yo, siempre (¡me refiero!) Usar una tabla plana o una consulta de vista ("SELECCIONAR" en Access) como fuente de registro para un formulario. ¡Esto hará que tu vida sea mucho más fácil!

Una vez que esté convencido de esto, incluso puede pensar en un pequeño módulo que automatizará la adición de controles de "filtro" y procedimientos relacionados a sus formularios. Estarás en el camino correcto para una interfaz de cliente realmente fácil de usar.


Para una pregunta tan vaga, todo lo que puedo responder es abrir MS Access y hacer clic varias veces con el mouse.

Pensándolo bien:
Utilice el argumento "WhereCondition" del método "OpenForm"


Si la funcionalidad es muy limitada y / o especializada, una base de datos SQL probablemente será exagerada, por ejemplo, almacena en caché todas las combinaciones de los datos localmente, incluso en la memoria, y muestra uno de acuerdo con las casillas de verificación en el formulario. Anteriormente, podría haber revocado permisos de la tabla y otorgarlos solo en VIEWs / PROCs que consultaron los datos de la forma prescrita; sin embargo, se ha eliminado la seguridad de MS Access 2007, por lo que ahora puede detener a los usuarios omitiendo su aplicación simple usando, digamos , Excel y consultar los datos de la forma que quieran ... ¿pero entonces no es ese el objetivo de una base de datos empresarial? ;-)


Este es en realidad un tema bastante extenso y plagado de todo tipo de problemas potenciales. La mayoría de los libros intermedios a avanzados de Access tendrán algún tipo de sección que discuta "Consultar por formulario", donde tiene un formulario independiente que permite al usuario elegir ciertos criterios, y que cuando se ejecuta, escribe sobre la marcha SQL para devolver el datos coincidentes.

En cualquier cosa que no sea una estructura de datos plana, de tabla única, esta no es una tarea trivial porque la cláusula FROM del SQL depende de las tablas consultadas en la cláusula WHERE.

Algunos ejemplos de algunos formularios QBF de aplicaciones que he creado para clientes:

  1. Consultando 4 tablas subyacentes
  2. Consultando una sola mesa plana
  3. Consultando 3 tablas subyacentes
  4. Consultando 6 tablas subyacentes
  5. Consultando 2 tablas subyacentes

La primera es impulsada por un módulo de clase que tiene propiedades que reflejan los criterios seleccionados en esta forma, y ​​que tiene métodos que escriben las cláusulas FROM y WHERE. Esto hace que sea extremadamente fácil agregar otros campos (siempre que esos campos no provengan de tablas distintas a las ya incluidas).

La parte más compleja del proceso es escribir la cláusula FROM, ya que debe tener los tipos de combinación apropiados e incluir solo las tablas que están en la cláusula SELECT o en la cláusula WHERE. Si incluye algo más, ralentizará mucho su consulta (especialmente si tiene alguna combinación externa).

Pero este es un gran tema, y ​​no hay una solución mágica; en cambio, algo así debe crearse para cada aplicación en particular. También es importante que lo pruebes a fondo con los usuarios, ya que lo que es completamente claro y comprensible para ti, el desarrollador, a menudo es bastante desconcertante para los usuarios finales.

¡Pero ese es un principio que no solo se aplica a QBF!