Impresión de registros en etiquetas

Tengo una base con 200 registros, configure un formato para etiquetas con el asistente para etiquetas (para etiquetas continuas) en access, tengo un formulario con un combobox donde selecciono un código y un botón para enviar a imprimir en una etiqueta el código seleccionado en el combobox pero me envía a imprimir los 200 registros; en internet encontré estas líneas para filtrar y solo enviar un registro a imprimir pero continua enviándome a imprimir los 200 registros:
  Filtro = "[Codigo] = '" & Cod & "'"  (Cod es mi variable con el valor seleccionado en el combobox)

DoCmd. OpenReport "Etiqueta", acViewNormal, Filtro

De antemano agradezco la ayuda que puedan proporcionar a mi tema.

2 Respuestas

Respuesta

Posibles causas y soluciones

1. El valor de Cod no se está pasando correctamente al filtro.

  • Verifica la variable Cod: Asegúrate de que la variable Cod realmente contenga el valor seleccionado en el combobox antes de construir la cadena Filtro. Puedes usar MsgBox Cod justo antes de la línea Filtro = "[Codigo] = '" & Cod & "'" para ver qué valor tiene.
  • Tipo de datos del campo Codigo:
    • Si Codigo es texto: Tu filtro Filtro = "[Codigo] = '" & Cod & "'" es correcto (las comillas simples son necesarias para valores de texto).
    • Si Codigo es numérico: No debes usar comillas simples. El filtro debería ser Filtro = "[Codigo] = " & Cod.
    • Si Codigo es de tipo fecha/hora: Se requieren almohadillas (#). Por ejemplo: Filtro = "[Codigo] = #" & Cod & "#".

2. El informe Etiqueta no está configurado para usar el filtro.

Asegúrate de que el origen de registros de tu informe "Etiqueta" sea la tabla o consulta que contiene el campo "Codigo". Si el informe no tiene un origen de registros que contenga el campo al que intentas filtrar, el filtro no tendrá efecto.

3. Error en el nombre del campo o del informe.

Revisa que el nombre del campo en tu tabla (Codigo) y el nombre del informe (Etiqueta) estén escritos exactamente igual en tu código, incluyendo mayúsculas y minúsculas (aunque Access suele ser indulgente con esto, es una buena práctica).

4. El combobox no está devolviendo el valor esperado.

Asegúrate de que la propiedad Columna dependiente de tu combobox esté configurada para devolver el valor del campo Codigo. Por ejemplo, si tu combobox muestra el nombre del producto pero el Codigo es la segunda columna oculta, debes asegurarte de que la propiedad Column del combobox se use correctamente (ej. Me. NombreCombobox. Column(1) si Codigo es la segunda columna, siendo 0 la primera).


Pasos para depurar el problema

  1. Punto de interrupción: Coloca un punto de interrupción en la línea DoCmd.OpenReport "Etiqueta", acViewNormal, Filtro. Para hacerlo, haz clic en el margen gris a la izquierda de esa línea en el editor de VBA.
  2. Ejecuta el formulario: Cuando hagas clic en tu botón, la ejecución se detendrá en el punto de interrupción.
  3. Inspecciona las variables: Pasa el cursor sobreCod y sobreFiltro para ver qué valores contienen.
    • ¿Cod tiene el valor correcto del combobox?
    • ¿Filtro tiene la cadena de filtro correcta (por ejemplo, [Codigo] = 'XYZ' o [Codigo] = 123)?

Si después de revisar estos puntos el problema persiste, es probable que la clave esté en cómo el informe "Etiqueta" está estructurado o en la configuración de la columna que el combobox está devolviendo.

Respuesta
1

Encontré la forma de solo enviar a imprimir el registro que se está seleccionando en el combobox, en la línea donde se abre el reporte agregué 2 parámetros, el resultado es de la forma siguiente:

DoCmd.OpenReport "Etiquetas_Prueba", acViewDesign,  , "[Codigo] = '" & Cod & "'", acDialog 

El filtro lo agrego en el tercer parámetro y capturo el quinto parámetro como acDialog

Perdón, el filtro no se captura en el tercer parámetro, se captura en el cuarto parámetro.

Perdón, el filtro no se captura en el tercer parámetro, se captura en el cuarto parámetro.

La pregunta no admite más respuestas

Más respuestas relacionadas