Reports en access 2parte

Luis tengo un problema, anexo todos los reports pero están mal, me salen todas las factguras de todo el año.
Los reports están formados por una qry, entre fechas (facturas trimestrales)
Aquí una parte el código :
tri11 = "1/1/" & año
tri12 = "3/31/" & año
DoCmd.OpenReport "InfProveTri", acViewPreview, , "[DataFactura] >=  #" & tri11 & "#  AND [DataFactura] <= #" & tri12 & "#  "
DoCmd. OutputTo acOutputReport, "InfProveTri", "Snapshot Format", "C:\access\InfProveTri.snp"
Pero el archivo grabado en disco no contiene la qry entre fechas.,. ¿Cómo puedo salvar el report/s a formato snp con la consulta entre fechas?

1 Respuesta

Respuesta
1
Al parecer
DoCmd.OpenReport "InfProveTri", acViewPreview, , "[DataFactura] >=  #" & tri11 & "#  AND [DataFactura] <= #" & tri12 & "#  "
puede nmo tener el formato adecuado de fechas
prueba poner format( #" & tri11 & "# ,"mm/dd/yyyy")
o
prueba poner format( " & tri11 & " ,"mm/dd/yyyy")
tambien
AND format ([DataFactura],"mm/dd/YYYY")
Seria bueno si puedes me mandas aldo de data y el query
para probar más
[email protected]
Luis te tengo que pedir disculpas porque no me he explicado bien.
Quiero enviar unos reports de proveedores trimestrales por email.
Actualmente, los reports, los imprimo uno tras otro ( aclararte que los proveedores están agrupados por familas, y, por tanto, no pueden ir dentro del mismo informe/subinforme).
La impresión funciona correctamente, y los reports salen correctamente, es decir el "DoCmd.OpenReport "InfProveTri", acViewPreview, , "[DataFactura] >=  #" & tri11 & "#  AND [DataFactura] <= #" & tri12 & "#  "" funciona bien.
El problema lo tengo al queré enviar los 7 reports por email. Yo pensaba, que si los abría en modo "preview" y lo salvaba con "DoCmd.OutputTo acOutputReport," funcionaría (me utilizaría el report en memoria), pero veo que no, ya que me abre los reports de nuevo, sin tener en cuenta el rango de fechas.
Es decir, quiere enviar por email el mismo resultado que tengo por impresora. A ver si me puedes orientar por donde puedo ir...
Espero que ahora esté más claro.
Que tal si lo imprimes en snapstot
en el open report tienes openargs donde le puedes mandar parametros si no esta emergente o modal
ahi mandale instrucciones al report para que imprima en snapshot
tambien en DoCmd.OutputTo
tiene formato acFormatSNP
y al abrir el report tienes que colocarlo que el sea el que toma los parametros no mandandoselos
asi "[DataFactura] >=  #" & tri11 & "#  AND [DataFactura] <= #" & tri12 & "# 
sino que el en el open los tenga ya o los tome y configure segun el form origen que lo llamo
asi cuando lo envies ya saldra bien
toma los paramtros en el open del report asi form_principal!campotri11  o
Lo siento, pero no lo entiendo.
Referente a tus respuestas :
1) Ya lo imprimo en snapshot, pero no le puedo pasar parámetros al report, por tanto, me coge todas las facturas de todos los años.
2) Si realizo un docmd. Openreport (que ya lo estoy haciendo), como puedo hacer que imprima ese mismo report (con los parámetros que yo quiero) ¿?
Al menos, hay alguna manera de guardar el resultado de estos informes en fichero (para luego enviarlos por email) ¿?
Gracias,
1º LOS PARÁMETROS LOS PUEDES COLOCAR EN EL OPEN DEL REPORTE
así por ejemplo:
report.recordset="Select * from table where código ='" & form_mail!combo & "'"
Enviame lo que tienes si quieres que te lo haga a [email protected]
Gracias luis, pero tendría mucho morro que me lo hicieras tu, prefiero más intentarlo yo, pero muchas gracias.
Bueno, de todas formas, la primera pista que me diste, esta noche lo hice.
DoCmd.OpenReport "infFacProveTrimeProveemail", acViewPreview, , , , tri11 & "," & tri12
en el evento del reporte cuando se abre, he puesto este codigo :
Dim strOpenArgs As Variant
Dim val1 As Variant
Dim val2 As Variant
If IsNull(Me.OpenArgs) = True Then
Exit Sub
Else
strOpenArgs = Split(Me.OpenArgs, ",")
val1 = strOpenArgs(0)
val2 = strOpenArgs(1)
 Me.RecordSource = " select * from cnssolFacProveemail WHERE (DataFactura >= #" & val1 & "#) AND (DataFactura <= #" & val2 & "#)"
End If
*************************************
Y funciona, pero ahora vuelvo al problema inicial, como puedo salvar el reporte en snapshot, paándole pues parámetros.. con el docmd.outputTo no veo que le puedas pasar los parámetros... he probado la siguiente instrucción pero me falla por el procedimiento de llamada...(ya no sé si me estoy liando no no... yo sólo quería enviar unos reports por email... buaaaaaaaaa :-( )
DoCmd.OutputTo acOutputStoredProcedure, "EXEC infFacProveTrimeProveemail '" & tri11 & "', '" & tri12 & "'", acFormatHTML, "C:\proves.html"
Muchas gracias por tu paciencia !
No le pases parámetros
Así por ejemplo:
report.recordset="Select * from table where código ='" & form_mail!combo & "'"
Hola Luis, al final lo he conseguido declarando una variable publica tipo string, y asignándole la qry de las facturas trimestrales al recordsource del report, si la variable está con datos, le asigno la variable y, voila, al final lo he podido salvar y anexar con tipo snp.
De todas formas, muchas gracias por toda tu ayuda .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas