Imprimir página | Cerrar ventana

Firma en informe

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=79950
Fecha de impresión: 05/Abril/2020 a las 05:32


Tema: Firma en informe
Publicado por: zfeliu
Asunto: Firma en informe
Fecha de publicación: 28/Noviembre/2014 a las 09:53
Hola a todos,

Necesito realizar una informe que contendrá una firma y sello del cliente. No tengo claro como hacerlo por temas de seguridad. Si lo hago con una imagen vinculada al instalar el programa a los diferentes usuarios necesitan disponer del fichero de imagen con el sello y la firma de la empresa, lo cual no me gusta nada.
La otra opción que estaba probando es guardar la imagen en base de datos, peró después no consigo que se visualiza en el informe, si lo hago en un campo del tipo "Imagen" no muestra nada y si lo hago en un campo "OLE" me muestra el icono para abrir la imagen, con lo que no me sirve.

Bien, si tenéis alguna experiencia en este sentido os lo agradeceré.

Sadudos



Respuestas:
Publicado por: JGarcia
Fecha de publicación: 28/Noviembre/2014 a las 11:29
Según mi criterio tienes 2 opciones: 
1.- poner la imagen independientemente de que te la copien. Ten en cuenta que por mucha protección que le pongas te pueden hacer una captura de pantalla y copiarte la imagen.
2.- no poner las imágenes y darles un sello y un bolígrafo para que firmen físicamente el documento.


-------------
Saludos desde Alicante


Publicado por: zfeliu
Fecha de publicación: 28/Noviembre/2014 a las 13:46
Otra opción seria insertar la firma electrónica, pero eso no se si es possible hacerlo en access cuando publicas en PDF.


Publicado por: MexMan70
Fecha de publicación: 28/Noviembre/2014 a las 19:30
Pues en México se "firman" digitalmente los Comprobantes Fiscales Digitales (CFD), ello no implica mayor problema pues es una cadena de texto que proviene de un archivo XML. Esa cadena de texto simplemente se pasa al informe.

No se a que te refieras tu cuando dices acerca de insertar la firma electrónica.


-------------
OneDrive: http://sdrv.ms/Vk6eJd


Publicado por: jgtorpe
Fecha de publicación: 29/Noviembre/2014 a las 12:45
Hola a todos. Soy nuevo en este foro y también en temas de programación de Access, por lo que no sé si he entendido bien lo que planteas zfeliu, no obstante te comentaré lo que yo he hecho por si puede servirte, aunque yo lo utilizo para formularios, supongo que también puede servir en informes aunque nunca lo he probado:

En primer lugar, una vez que tienes las firmas y sellos digitalizados, creas una carpeta (que estará guardada en tu misma base de datos) con esas imagenes. podrías llamarla, por ejemplo "firmas"

Luego creas una tabla "tblfirmas" con los siguientes campos:

campo código --- tipo autonumérico
campo cargo --- tipo texto (si lo necesitas)
campo nombre --- tipo texto

Por último debes crear una función en un módulo en la que establecerás la ruta en la que vas a guardar las imágenes digitalizadas:

Public Function fncrubrica()
Dim miruta As String
miruta = Application.CurrentProject.Path & "\firmas\"
fncrubrica = miruta
End Function

En mi caso, en el formulario en el que deseo que aparezca la firma, tengo un campo Imagen al que llamo "firmado" (¿qué original, verdad?) y un campo texto (que no será visible en la vista de formulario -haces click en el campo en vista diseño, seleccionas propiedades, formato, visible = no) al que llamaremos rutafirma.
Hecho esto, solo necesitas seleccionar la firma que deseas que aparezca. Lo puedes hacer creando un formulario "frmfirmas" con un cuadro combinado basado en la tabla que hemos creado antes (tblfirmas) al que llamaremos "combofirma".
En el evento "al cambiar" del cuadro combinado pones lo siguiente:
Docmd.OpenForm "[nombre del formulario en el que deseas que aparezca la firma]" 'únicamente si no lo tenías abierto antes, en mi caso será "frmfirmas"
Forms!frmfirmas!rutafirma = combofirma.column(1)
'cargará el campo "cargo" del combo en el control rutafirma (recuerda que es "invisible".
forms!frmfirmas!firmado.picture = fncrubrica & rutafirma.value

En principio, a mi me funciona bien así. La carpeta en la que guardas las firmas, no debería ser visible para los usuarios de la base de datos, ya que supongo que únicamente estarán a disposición de estos los formularios que necesiten para manejarla, con lo que, de ahí no podrían "copiar" nada, aunque, como bien dice jgarcia, siempre pueden capturar la pantalla en la que aparece la imagen y copiarla...
En cualquier caso, de esta forma ahorrarías espacio en la base, pues no tendrías que incrustar o vincular la imagen cada vez que la uses, sino que directamente le "pasas" al campo imagen los parámetros que debe mostrar, por lo que las imágenes las guardas solo una vez...

No sé si se entenderá ni si te servirá, pero... Ojalá te sirva para algo.

-------------
solo sé que no sé nada... aunque algo sé, pues sé que no sé nada...


Publicado por: jgtorpe
Fecha de publicación: 29/Noviembre/2014 a las 13:06
Perdón, olvidé mencionar que, al guardar las firmas digitalizadas en la carpeta, deberás darles el MISMO nombre que utilices en el campo correspondiente de la tabla tblfirmas seguido de la extensión correspondiente:

Si en la tabla tblfirmas el campo "cargo" es, por ejemplo "El Gerente", la firma digitalizada quedaría guardada con el nombre siguiente: El Gerente.jpg (o la extensión con que decidas guardarla)

Además, en el código que he puesto antes, falta añadir la extensión así:

forms!frmfirmas!rutafirma = combofirma.column(1) & ".jpg"

Esto de escribir con prisas...

-------------
solo sé que no sé nada... aunque algo sé, pues sé que no sé nada...


Publicado por: guarracuco
Fecha de publicación: 02/Diciembre/2014 a las 12:11
En la línea que plantea jgtorpe, utiliza la propiedad Formato / Imagen de los reportes y configura la posición deseada para la firma.
En el evento 'Al abrir' del reporte:

    marcaagua = Dir(CurrentProject.Path & "\" & ConjuntoSel & ".jpg", vbArchive)
    If marcaagua <> "" Then
        Me.Picture = CurrentProject.Path & "\" & ConjuntoSel & ".jpg"
    End If


-------------
https://tucondominioaldia.net


Publicado por: zfeliu
Fecha de publicación: 10/Abril/2015 a las 17:56
Ok gracias a todos, tema cerrado, con la solución de jgtorpe i guarracuco, gràcias a todos.





Imprimir página | Cerrar ventana