Error en Modulo de un Cuadro de Dialogo
Tengo un formulario que permite escoger el reporte por (Usuario, Local, Status), también por periodo (anual, mensual o trimestral), y escoger el filtro por (nombre del usuario, nombre del local o por el status) además muestra una ves seleccionado el periodo color car el mes, el ano o el trimestre. Me da error de User-defined type not defined. Anteriormente me daba error en la ultima sentencia de nombre ambiguo. Este es el procedimiento:
Option Compare Database
Option Explicit
Enum PropuestasPeriodEnum
ByMonth = 1
ByQuarter = 2
ByYear = 3
End Enum
Sub PrintReports(ReportView As AcView)
' This procedure used in Preview_Click and Print_Click Sub procedures.
' Preview or print report selected in the ReportToPrint option group.
' Then close the Print Sales Reports Dialog form.
Dim strReportName As String
Dim strReportFilter As String
Dim lGastosCount As Long
' Determine report filtering
If Nz(Me.lstReportFilter) <> "" Then
strReportFilter = "([GastossGroupingField] = """ & Me.lstReportFilter & """)"
End If
' Determine reporting time frame
Select Case Me.lstGastosPeriod
Case ByYear
strReportName = "Informe de Gastos anuales"
lGastosCount = DCountWrapper("*", "Análisis de Gastos", "[Año]=" & Me.cbYear)
Case ByQuarter
strReportName = "Informe de Gastos trimestrales"
lGastosCount = DCountWrapper("*", "Análisis de Gastos", "[Año]=" & Me.cbYear & " AND [Trimestre]=" & Me.cbQuarter)
Case ByMonth
strReportName = "Informe de Gastos mensuales"
lGastosCount = DCountWrapper("*", "Análisis de Gastos", "[Año]=" & Me.cbYear & " AND [Mes]=" & Me.cbMonth)
End Select
If lGastosCount > 0 Then
TempVars.Add "Agrupar por", Me.lstGastosReports.Value
TempVars.Add "Mostrar", DLookupStringWrapper("[Mostrar]", "Informes de Gastos", "[Agrupar por]='" & Nz(Me.lstGastosReports) & "'")
TempVars.Add "Año", Me.cbYear.Value
TempVars.Add "Trimestre", Me.cbQuarter.Value
TempVars.Add "Mes", Me.cbMonth.Value
DoCmd.OpenReport strReportName, ReportView, , strReportFilter, acWindowNormal
Else
MsgBoxOKOnly NoGastosInPeriod
End If
End Sub
Private Sub Form_Load()
SetGastosPeriod ByYear
InitFilterItems
End Sub
Sub SetGastosPeriod(GastosPeriod As GastosPeriodEnum) - Aqui es que me da el error mencionado
Me.lstGastosPeriod = GastosPeriod
Me.cbQuarter.Enabled = (GastosPeriod = ByQuarter)
Me.cbMonth.Enabled = (GastosPeriod = ByMonth)
End Sub
Private Sub lstGastosPeriod_AfterUpdate()
SetGastosPeriod Me.lstGastosPeriod
End Sub
Private Sub lstGastosReports_AfterUpdate()
InitFilterItems
End Sub
Private Sub InitFilterItems()
Me.lstReportFilter.RowSource = DLookupStringWrapper("[Origen de fila de filtro]", "Informes de Gastos", "[Agrupar por]='" & Nz(Me.lstGastosReports) & "'")
Me.lstReportFilter = Null
End Sub
Private Sub cmdPreview_Click()
PrintReports acViewReport
End Sub
Private Sub cmdPrint_Click()
PrintReports acViewNormal
End Sub
Private Function GetLastGastosDate() As Date
GetLastGastosDate = Nz(DMaxWrapper("[Fecha]", "Gastos"), Date)
End Function