Formulario de extracción de datos

Lo que quiero realizar es bastante sencillo, o al menos en otras aplicaciones de base de datos.
Me piden hacerlo por formulario, así que descartemos primeramente las opciones de filtro y consultas de las cuales he probado incluso pero no lo quieren así. Lo que buscan que les haga es un formulario donde ellos metan algunos datos en los campos a rellenar que haya en el formulario (rellenando uno o varios campos) y entonces eso les haga como un filtro de una tabla de la base de datos, y lo saque como una sabla resultante nueva para ellos poder imprimir más tarde.
Total, que no se como hacer un formulario para extraer datos. El normal para introducir es muy sencillo, pero por más que pruebo y más manuales que leo no consigo hacerlo. A ver si me podéis echar alguien una mano.

2 Respuestas

Respuesta
1
Claro que se puede hacer, puedes colocar un formulario donde se digite la información a filtrar, donde también abra un subformulario o hay mismo en otros campos donde se mostrara los datos según lo filtrado... LO QUE DEBES USAR SON CONSULTAS SQL, Y POR EJEMPLO AMRRARLO A UN SUBFORMULARIO PARA QUE LE DEVUELVA ESTAS CONSULTAS... AHORA PARA IMPRIMIR LO QUE DICES CREARÍAS UN INFORME EN QUE SE BASARÍA ESTE FORMULARIO...
No se si esto es lo que quieres... no se si tienes una idea, o te parece mejor que te envíe un ejemplo---
En ese caso dame un email y te lo envío... lo uncí que te pido es tiempo para hacértelo llegar...
A más tardar el lunes o martes...
Att:telemaco
Hola, enviame un ejemplo mejor porque creo que eso no es.
Ahora pienso que mi problema se da a la hora de vincular cada hueco del Formulario a la Tabla de donde haré la consulta.
Yo lo hago así:
SELECT Tabla.Nom INTO [output]
FROM Tabla
WHERE (((Tabla.Nom)=[Formularios]![Formulario1]![fnom])
Pero creo que [fnom] esta mal. Este "[fnom]" es el nombre de la etiqueta, y así no funciona porque la consulta sale vacía. De todas formas he probado con poner el nombre del cuadro de texto, y tampoco funciona. Si entiendes mi problema a ver si me puedes echar una mano. Gracias.
Aquí supuestamente estas intentando de crear una tabla llamada output, ahora estas intentando filtrar por el campo Nom.. LO QUE PASA ES QUE ESTA DEVOLVIENDO UN ERROR EN LA CONSULTA porque me imagino que el campo Nom es TEXTO... entonces debes hacer esto:
**************************
SELECT Tabla.Nom INTO [output]
FROM Tabla
WHERE (((Tabla.Nom)='" & [Formularios]![Formulario1]![fnom] & "')
****************************
Mire el criterio, hay que tener en cuanta el TIPO DE DATOS DE LA TABLA:
Si es numérico seria así:
" & [Formularios]![Formulario1]![fnom] & "
Comillas dobles, Espacio, Ampersand(&), Espacio, CREITERIO, Espacio, Ampersand(&), Espacio, Comillas dobles...
Si es Texto seria así:
'" & [Formularios]![Formulario1]![fnom] & "'
Comillas sencilas, Comillas dobles, Espacio, Ampersand(&), Espacio, CREITERIO, Espacio, Ampersand(&), Espacio, Comillas dobles, Comillas sencillas...
Si es fecha seria así:
#" & Format([Formularios]![Formulario1]![fnom],"MM/dd/yyyy") & "#
CSharp(#),Comillas dobles,Espacio,Ampersand(&),Espacio,CREITERIO,Espacio,Ampersand(&),Espacio,Comillas dobles,CSharp(#)...
Aquí en fecha toca formatear para que tome el formato en ingles de fecha (Mes/Dia/Año)...
Revisa bien... la sintaxis del criterio esta mal... ya que debe ir al formulario y traer el dato, lo que intenta decir en la consulta es que el nobre es iogual a )[formularios]![formulario1]![fnom]... Pero como texto... no que capture el dato del formulario...
Att:telemaco
Respuesta
1
Lo que debes de hacer es una consulta de creación de tabla de acuerdo a parámetros dados. Más o menos así:
SELECT Tabla1.Id INTO nuevatabla
FROM Tabla1
WHERE (((Tabla1.Id)=[Formularios]![Formulario1]![Id]));
Hola de nuevo,
Mira yo hago esta consulta de creación de tabla tal y como me dijiste que se ejecuta a partir de un botón de comando de un formulario que me he echo para introducir los datos:
SELECT Tabla.Nom, Tabla.Cognom1, Tabla.Cognom2, Tabla.Càrrec, Tabla.empresa, Tabla.adreça, Tabla.Poblacio, Tabla.Web, Tabla.Tema, Tabla.Responsable INTO [output]
FROM Tabla
WHERE Tabla.Nom=[Formularios]![Formulario1]![fnom] And Tabla.Cognom1=[Formularios]![Formulario1]![fcognom1] And Tabla.Cognom2=[Formularios]![Formulario1]![fcognom2] And Tabla.Càrrec=[Formularios]![Formulario1]![fcarrec] And Tabla.empresa=[Formularios]![Formulario1]![fnom_empr] And Tabla.adreça=[Formularios]![Formulario1]![fadreça] And Tabla.Poblacio=[Formularios]![Formulario1]![fpoblacio] And Tabla.Web=[Formularios]![Formulario1]![fweb] And Tabla.Tema=[Formularios]![Formulario1]![ftema] And Tabla.Responsable=[Formularios]![Formulario1]![fresponsable];
"f---" Son el nombre de las etiquetas del formulario. Supongo que sera correcto ponerlo así.
Bueno lo que me pasa al ejecutar es que me pide por parámetros el cognom1, cognom2, poblacio. Esto tiene pinta de que quizás la consulta esta mal y no hace lo que debería.
Yo lo que quiero es introducir los datos en los huecos del formulario y darle a la comanda para que ejecute correctamente esta consulta con entrada especificada en el formulario.
Hola, perdona que te cree molestias tan seguido.
Ahora he conseguido eliminar que me pida los parámetros. Me los pedía porque los tomaba como expresión. La duda es la misma que antes, pero el SQL nuevo es:
SELECT Tabla.Nom, Tabla.[Cognom 1], Tabla.[Cognom 2], Tabla.Càrrec, Tabla.empresa, Tabla.adreça, Tabla.Població, Tabla.Web, Tabla.Tema, Tabla.Responsable INTO [output]
FROM Tabla
WHERE (((Tabla.Nom)=[Formularios]![Formulario1]![fnom]) AND ((Tabla.[Cognom 1])=[Formularios]![Formulario1]![fcognom1]) AND ((Tabla.[Cognom 2])=[Formularios]![Formulario1]![fcognom2]) AND ((Tabla.Càrrec)=[Formularios]![Formulario1]![fcarrec]) AND ((Tabla.empresa)=[Formularios]![Formulario1]![fnom_empr]) AND ((Tabla.adreça)=[Formularios]![Formulario1]![fadreça]) AND ((Tabla.Població)=[Formularios]![Formulario1]![fpoblacio]) AND ((Tabla.Web)=[Formularios]![Formulario1]![fweb]) AND ((Tabla.Tema)=[Formularios]![Formulario1]![ftema]) AND ((Tabla.Responsable)=[Formularios]![Formulario1]![fresponsable]));
Pero en este caso, la consulta me sale como una tupla (o registro) con todos los campos en blanco. ¿Sabes por que?
Debe de ser porque no hay registros, pero en caso de que haya, debes de eliminar todos los campos e ir probando uno por uno, osea me refiero eliminarlos del form.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas