Enviar datos de consulta por correo - Access

Tengo creada una macro para que cada vez que abra el Access, me envíe en formato excel el resulta de una consulta.

Me funciona bien de la siguiente forma.

DoCmd. SendObject acQuery, "Prueba", "Excel97-Excel2003Workbook(*.xls)", "[email protected]", "", "", "Prueba1", "Prueba2", False, ""

Pero me gustaría saber si se puede modificar algo para que solo envíe el correo en caso de que el excel contenga algo más que la cabecera.

1 Respuesta

Respuesta
2

Por lo que pones, me da la impresión de que has convertido la macro a VB. Si es ese el caso, puedes poner el código como

If nz(dcount("*","consulta1"))=0 then

exit sub

else

docmd........

end if

Me explico, cuando se va a ejecutar ese evento, primero cuenta si hay registros en la consulta1, si no hay no hace nada y si hay te los exporta.

¡Gracias! Funciona perfecta.

Como bien dices, y como mis conocimientos sobre esto son muy bajos, para saber como se llama lo que quiero hacer, si existe la macro de forma fácil, la convierto y después juego con eso y el resto de condiciones que le quiero poner.

Es un poco chapuzas, pero va funcionando.

Muchas gracias.

Una última pregunta, la función NZ es como la IIF? y si el el valor es cero, NZ devuelve cero, cuando IIF devolvería nulo?

Muchas gracias.

La función nz(NullZero), antiguamente sólo convertía los valores Nulos en ceros, ya que si, por ejemplo querías sumar varios registros, o varios valores, pero alguno de ellos era nulo, no los sumaba.

Pero ahora( la verdad es que no sé desde cuánto tiempo) sirve para convertir un valor nulo en cualquier cosa. Por ejemplo

TextoA=nz([textob])   si textob es nulo TextoA=0

TextoA=Nz([textob],3) si textob es nulo TextoA=3

TextoA=nz([textob],"Adios") si textob es nulo TextoA=Adios

y eso digo.

Por el contrario Iif equivale a

If Textoa=Null then

....

else

....

end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas