He conseguido (mirando las distintas preguntas y respuestas) crear un formulario con subformulario para introducir Facturas. Ahora pretendo que desde el formulario exista un botón que me lleve a poder imprimir el registro actual en un informe. He creado un botón de comando que me lleva a ese informe pero no al registro actual. ¿Cómo hago para que salga directamente en el informe el registro actual?
Esta es mi idea para imprimir facturas, quizás no sea lo mejor y me este complicano la vida...
1 respuesta
Respuesta de telemaco
2
2
telemaco, He trabajado 5 años desarrollando aplicaciones tanto en access...
Debes modificar código, exactamente el del botón... y debes utilizar el método que abre el informe PERO CON CONDICIÓN... Ve al botón de comando, ve a las propiedades, luego ve a la ficha eventos y busca Al HAcer Click (debe decir procedimiento de evento) .. haz click en el botón de al lado (con los puntos suspensivos)... El te ingresa en el código ... debe haber algo parecido a esto: stDocName = "MiInforme" DoCmd. OpenReport stDocName, acViewPreview Donde dice MiInforme es el nombre del informe que desea abrir... Ahora esta linea (donde dice Docmd. OpenReport) es la que vamos a modificar... DoCmd.OpenReport stDocName, acViewPreview, , "NumFactura = " & [NombreControlNumFActura] & "" Esta forma abre tu informe FILTRADO OSEA cuya numero de factura sea igual (Numero de factura se supone que es la LLAVE ÚNICA O INDICE ÚNICO, entonces este campo es el preciso para filtrar el informe y que solo me salga el numero de factura actual) OJO: donde edice [NombreControlNumFActura] Debes reemplazarlo con la caja de texto o el nombre del control en el formulario que tenga el Numero de la Factura (debe ir entre corchetes si el nombre POSEE ESPACIOS, de lo contrario no necesita ir entre corchetes)... Donde dice NumFactura ES EL NOMBRE DEL CAMPO DEL NUMERO DE LA FACTURA TAL COMO ESTA EN EL INFORME... Bueno ahora es importante el tipo de datos del numero de la factura hay que tener en cuenta si es numérico o texto (por que en cada uno de ellos la forma de igualar es diferente).. Entonces si es numérico el campo que posee el numero de la factura (EL TIPO DE DATOS EN LA TABLA) ...NumFactura = " & [NombreControlNumFActura] & "... Después del igual va: Comillas Dobles, Espacio, Ampersand(&), Espacio, CRITERIO DE FILTRO, espacio, ampersand(&), Espacio, comillas Dobles Ahora si el tipo de dato es texto ...NumFactura = '" & [NombreControlNumFActura] & "'... Después del igual va: Comilla sencilla, Comillas Dobles, Espacio, Ampersand(&), Espacio, CRITERIO DE FILTRO, espacio, ampersand(&), Espacio, comillas Dobles, comilla sencilla ES UN POCO DIFERENTE... es importante que la sintaxis sea así... Att:telemaco
Mil gracias!! súper bien explicado - Nancy Garcia