Imprimir Credencial con Access

Se me dañó un programa para imprimir credenciales plásticas. El fabricante ya no lo hace ni da soporte a este software. Las bases de datos son de access, yo las he usado así. Pero nunca había impreso credenciales desde access, siempre lo hacia desde mi software, incluso la foto del empleado la ponía desde mi software en OLE.
Ahora mi petición es ¿cómo puedo imprimir una credencial desde access? Si ya tengo la base de datos elaborada.

1 respuesta

Respuesta
1
Tendrás que crear un informe. Los datos a imprimir ¿están en una o varias tablas?, ¿Tienes qué elegir algún registro en particular? Porque entonces tendrás que utilizar parámetros.
Dime algo más de la tabla o tablas que tienes que manejar a ver si te puedo ayudar.
Gracias por tu interés en apoyarme. Pues respondiendo a las dudas, aclaro que la base de datos está en una sola tabla yo imagino que debo de elegir un registro, ya que al momento de querer imprimir lo hago registro por registro. Ahora bien, la base de datos es de una liga de fútbol. He intentado en hacerlo mediante un Informe, pero no puedo ver las fotografías de los jóvenes ni el fondo, además de que me salen todos los registros juntos . Ambos deben de ir variando dependiendo del jugador y del equipo en que participa.
Hice la credencial en un formulario y puedo ver las fotos, lo hice mediante la definición de un campo tipo texto indicando la ruta en donde esta la imagen ¿Puedo imprimir directamente de este formulario?
Saludos.
David.
¿Por qué no pones en el informe el campo tipo texo indicando la ruta como haces en el formulario?
El formulario si se puede imprimir, pero no está diseñado para ello, por lo que es mejor un informe.
Gracias, ya lo hice en un Informe, pero me esta repitiendo la imagen en todas las fotos y el campo de foto en cada registro es distinto. De hecho en el formulario no me hace esto, me muestra la foto de cada individuo ¿qué debo de hacer para evitar esta duplicación?
Por otra parte ¿qué debo de hacer para que el fondo cambie dependiendo del registro de que se trate?
Gracias.
Lo he probado poniendo el campo de foto como objeto OLE, en este campo he insertado un objeto (he probado con incrustrar y vincular y da lo mismo) objeto de mapa de bits, luego he creado un formulario basado en la tabla y funciona.
Prueba con algunos registros y dime como va.
Desafortunadamente como objeto OLE, el tamaño de la base se hace enorme. Es por eso que decidí hacerlo Texto y poner la ruta.Lo que hago es que en un campo llamado Foto, le pongo la ruta de la imagen que esta ligada a cada registro, porsteriormente y para ver la foto Inserto una imagen en el Informe. A esta imagen en propiedades, la llamo FotoJug, poteriormente en propiedades delinforme, en la pestaña de Eventos en "al activar el registro", me voy a los "..." y me abre el Visual Basic en donde doy la siguiente expresión:
Option Compare Database
Private Sub Report_Current()
    FotoJug.Picture = Foto
End Sub
Con esto estoy indicando que el campo que tiene una imagen denominado FotoJug es una imagen que corresponde a la ruta que esta en el campo Foto.
Este mismo procedimiento lo tengo en formulario y me trabaja perfectamente, pero no así en el Informe, que es en donde me deja en todos los registros, la misma foto.
Espero haya explicado mejor para que me puedas ayudar. Te comento que yo no se nada de Visual Basic, lo que hice lo hice por que he buscado como hacerle en la red y va funcionando.
Gracias.
Supongo que al incrustrar, al ser muchas fotos la base se hace enorme... ¿pero si utilizas vincular también?
Voy a investigar como vincular un objeto OLE en la Base. La verdad no lo he hecho, estoy investigando, pero no se como ligar la a una ruta.
Abres la tabla y te pones en el campo OLE, en el menú ---> Insertar ---> Objeto Aquí te sale que puedes chequear para que sea vinculado.
De todos modos no entiendo muy bien como no te sale en el informe, vamos que te sale la misma foto en todos los registros. ¿No tendrás, en el cuadro de texto, en origen del registro una ruta fija y no una como campo de la tabla?
Se me olvidaba, para imprimir un formulario puedes utilizar el método:
DoCmd. PrintOut
Hola Angeles
En cuanto a tu pregunta sobre sobre "¿No tendrás, en el cuadro de texto, en origen del registro una ruta fija y no una como campo de la tabla?", mira cheque las propiedades de la Imagen en el informe y aparece, una ruta. Volví a dar de alta la imagen como texto y siguen apereciendo la misma foto. Lo extraño es que hago el mismo procedimiento en el formulario y si me aparecen fotos diferentes, lo único es que me manda un error de Null, me imagino que es por los registros que no tiene asignada ninguna ruta.
En cuanto a la forma para imprimir un formulario, no se en donde poner esta instrucción de DoCmd.PrintOut
Saludos, David.
No se que puede pasar en el informe, generalmente siguen los mismos pasos que el formulario.
En cuanto al valor del Null, no lo he utilizado para rutas, pero en registros de texto o numéricos se soluciona con la función Nz([NombreCampo]), esta función lo que hace es devolver 0 en los campos nulos, te repito que nunca lo utilicé en campos en los que se incuyen rutas.
Referente a donde pones el método DoCmd. PrintOut te diré que lo puedes poner en un botón en el propio formulario, creas un botón y con botón izquierdo vas a Genera Evento y luego a Generador de código, ahí es donde tienes que escribir el método docmd.
Angeles, tu ayuda a sido muy buena y enriquecedora.
Ya no se que está pasando en el informe, pero si el formulario puede llegar a ser impreso, pues la la hice, sino pues a batallar.
En cuanto a tus comentarios dime en donde pongo la función Nz([NombreCampo])
Gracias.
En origen del registro tendrás =[NombreCampoFoto] es ahí donde tienes que gestionar los nulos, =Nz([NombreCampoFoto])
Te vuelvo a decir que el Nz nunca lo utilicé con rutas, siempre en campos con valor, porque, como ya te dije, lo que hace es que un nulo lo convierte en cero.
Disculpa la tardanza pero tuve complicaciones personales.
Ya he estado Imprimiedo las credenciales. Gracias por tu apoyo y excelente ayuda.
Solo tengo una duda más, al mandarle imprimir un registro, siempre me presenta el registro en el que estoy y otro en blanco ¿sabes qué puede estar pasando? Y para ajustar una imagen o un texto a un espacio ¿puedo usar la función Size to fit? ¿Me puedes explicar su uso y como debo de ponerla en VB?
Sobre el método PrintOut, buscando en la ayuda de access sale lo siguiente:
Método PrintOut
Vea también Corresponde a EjemploDetalles
El método PrintOut lleva a cabo la acción PrintOut (Imprimir) en Visual Basic.
Expresión. PrintOut(PrintRange, PageFrom, PageTo, PrintQuality, Copies, CollateCopies)
Expresión Requerida. Expresión que devuelve uno de los objetos de la lista Aplicar a.
PrintRange AcPrintRange opcional.
AcPrintRange puede ser una de estas constantes AcPrintRange. AcPages acPrintAll valor predeterminado acSelection
Si deja en blanco este argumento, se asume la constante predeterminada (acPrintAll).
PageFrom Variant opcional. Una expresión numérica que es un número de página válida en el formulario u hoja de datos activa. Este argumento es obligatorio si especifica acPages en el argumento intervaloimpresión .
PageTo Variant opcional. Una expresión numérica que es un número de página válido en el formulario u hoja de datos activa. Este argumento es obligatorio si especifica acPages en el argumento intervaloimpresión .
PrintQuality AcPrintQuality opcional.
AcPrintQuality puede ser una de estas constantes AcPrintQuality. AcDraft acHigh valor predeterminado acLow acMedium
Si deja en blanco este argumento, se asume la constante predeterminada (acHigh).
Copies Variant opcional. Una expresión numérica. Si deja en blanco este argumento, se asume el valor predeterminado (1).
CollateCopies Variant opcional. Utilice True (-1) para intercalar copias y False (0) para imprimir sin intercalar. Si deja en blanco este argumento, se asume el valor predeterminado (Verdadero).
Comentarios
Para obtener más información sobre cómo funcionan la acción y sus argumentos, consulte el tema de la acción.
Puede dejar en blanco un argumento opcional en mitad de la sintaxis, pero debe incluir la coma del argumento. Si deja en blanco uno o más argumentos de la cola, no use una coma a continuación del último argumento que especifique.
Ejemplo
El siguiente ejemplo imprime dos copias intercaladas de las cuatro primeras páginas del formulario u hoja de datos activa:
DoCmd. PrintOut acPages, 1, 4, , 2
Creo que con poner 1 en páginas a imprimir seria suficiente.
En cuanto a la función Size to fit, lo siento pero nunca la he utilizado.
Angeles, muchas gracias, todo la información me ha servido mucho. Solo quisiera pedirte que me digas como puedo mandar a imprimir un solo registro. Ya cree un botón de comando con la instrucción para imprimir en el apartado de evento, pero no me imprime nada, lo que hace es que me manda a la pantalla de impresión. ¿Cómo puedo imprimir directamente el registro que tengo abierto? Sin que pase por la pantalla de impresión y le diga que me imprima este registro una solo vez.
Gracias.
Para imprimir un solo registro creo que lo mejor que puedes hacer es:
Te aseguras que el asistente está activado. Creas un botón y al abrirse el asistente seleccionas Operaciones con Registros ---> Imprimir Registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas