Access - Imprimir misma etiqueta

 
Vista:

Imprimir misma etiqueta

Publicado por Ignacio (34 intervenciones) el 09/03/2007 11:07:38
Buenos dias:

Tengo una tabla con la direcccion de clientes y tengo un informe de etiquetas en donde pongo las direcciones de los clientes, el problema es que me gustaria poder imprimir las etiquetas de un solo cliente las veces que yo quiera (por ejemplo 20) para asi completar la una hoja de etiquetas con la direcccion de ese cliente.

No se como hacerlo.

Muchas gracias
Un saludo
Ignacio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Imprimir etiquetas de un solo cliente múltiples veces en un informe

Publicado por Alejandro (4142 intervenciones) el 04/08/2023 17:34:43
Hola, Ignacio.

Para imprimir las etiquetas de un solo cliente varias veces en una misma hoja de etiquetas, puedes utilizar un informe y configurar el número de copias que deseas imprimir para ese cliente. A continuación, te explico cómo hacerlo:

1. Crea un informe etiquetas:
Asegúrate de tener un informe etiquetas que muestre la dirección de los clientes. Si ya tienes un informe configurado para imprimir etiquetas, puedes usar ese. Si no, crea un nuevo informe basado en la tabla de direcciones de clientes.

2. Agrega un cuadro de texto oculto para el número de copias:
En el encabezado del informe, agrega un cuadro de texto invisible (sin borde ni relleno) y llámalo "txtCopias" (o el nombre que prefieras). Este cuadro de texto servirá para almacenar la cantidad de copias que deseas imprimir.

3. Agrega un control de selección para el cliente:
Agrega un control de selección (por ejemplo, una casilla de verificación) en el encabezado del informe para que el usuario pueda seleccionar el cliente del cual desea imprimir las etiquetas.

4. Agrega un botón de impresión:
Agrega un botón de comando en el encabezado del informe y llámalo "btnImprimir" (o el nombre que prefieras). Este botón se utilizará para iniciar la impresión.

5. Configura el evento del botón de impresión:
En el evento "Al hacer clic" del botón de impresión, agrega el siguiente código VBA para configurar el número de copias y abrir el informe de impresión:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub btnImprimir_Click()
    Dim numCopias As Integer
    Dim strSQL As String
 
    If Me.chkSeleccionado = True Then ' Reemplaza "chkSeleccionado" con el nombre de tu control de selección
        ' Aquí determina el número de copias que deseas imprimir (por ejemplo, 20)
        numCopias = 20
        Me.txtCopias = numCopias
 
        ' Crea una consulta con el número de copias para el cliente seleccionado
        strSQL = "SELECT TOP " & numCopias & " * FROM TuTablaClientes WHERE CampoCliente='" & Me.NombreCliente & "';" ' Reemplaza "TuTablaClientes" con el nombre de tu tabla de clientes y "CampoCliente" con el nombre del campo que identifica al cliente (puedes usar otro campo en lugar de "NombreCliente" si es necesario).
 
        ' Crea una tabla temporal con el resultado de la consulta
        CurrentDb.Execute "SELECT * INTO TempClientes FROM (" & strSQL & ");"
 
        ' Abre el informe de etiquetas utilizando la tabla temporal
        DoCmd.OpenReport "NombreDeTuInformeEtiquetas", acViewPreview, , , acNormal ' Reemplaza "NombreDeTuInformeEtiquetas" con el nombre de tu informe de etiquetas
    End If
End Sub

6. Configura el evento "Al abrir" del informe de etiquetas:
En el evento "Al abrir" del informe de etiquetas, agrega el siguiente código VBA para ocultar el informe y ajustar el número de copias de acuerdo al cuadro de texto oculto:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Report_Open(Cancel As Integer)
    Dim numCopias As Integer
 
    numCopias = Nz(Me.txtCopias, 1) ' Si no se ha especificado el número de copias, por defecto será 1
    Me.Visible = False ' Oculta el informe original
 
    ' Imprime el informe utilizando el número de copias configurado
    DoCmd.PrintOut , , , acHigh, numCopias
 
    ' Cierra el informe después de imprimirlo
    DoCmd.Close acReport, Me.Name
End Sub

Con este código, cuando el usuario seleccione un cliente y haga clic en el botón de impresión, se creará una tabla temporal con los datos del cliente seleccionado y se abrirá el informe de etiquetas con el número de copias especificado. Luego, el informe se imprimirá automáticamente y se cerrará sin mostrarlo en pantalla.

Espero que esta solución te sea útil para imprimir las etiquetas de un solo cliente varias veces. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar