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
- 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.
- Ejecuta el formulario: Cuando hagas clic en tu botón, la ejecución se detendrá en el punto de interrupción.
- 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.