Reducir o eliminar comandos de un formulario
Tengo el formulario de la imagen. Con tres tipos de búsqueda, según seleccione una u otra me muestra el comando correspondiente (los comandos están ocultos) y me realiza una búsqueda de unos datos entre dos fecha, mostrándome los datos en el formulario. En cada uno de los comandos tengo las siguientes instrucciones, es mas extensa pero pongo solo un poco, para no hacerlo muy extenso:
Private Sub cmdverañoactual_Click()
'Compruebas que haya una fecha inicial y final
If IsNull(Me.txtfi) Then
MsgBox "Tienes que seleccionar una fecha inicial", vbOKOnly + vbInformation, "SIN FECHA"
Me.txtfi.SetFocus
Exit Sub
End If
If IsNull(Me.txtff) Then
MsgBox "Tienes que seleccionar una fecha final", vbOKOnly + vbInformation, "SIN FECHA"
Me.txtff.SetFocus
Exit Sub
End If
If txtff < txtfi Then
MsgBox " La fecha final no puede ser menor que la inicial", vbExclamation, "Error"
Exit Sub
End If
'Turnos1,2,3,
txtTurno1 = DCount("TURNO", "TAltas", "Fecha Between Forms!FEstadistica!txtfi.value and Forms!FEstadistica!txtff.value and [TURNO] = '1'")
txtTotalturnos = txtTurno1 + txtTurno2 + txtTurno3
….
Todo esto me funciona bien. Lo quiero es tener un solo comando, es decir que no tuviera los tres comandos sino que con uno solo me hiciera lo mismo. Para eso he insertado un grupo de opciones.
Al activar una opcion me muestra el comando y para eso he usado la instrucción select case,
Select Case Me.Marco163
Case 1
Comando172.Visible = True
Comando172.Caption = "Historico I"
Comando172.ForeColor = 1671168
Case2
Comando172.Visible = True
Comando172.Caption = "Historico II"
Comando172.ForeColor = 1671168
Case 3
Comando172.Visible = True
Comando172.Caption = "Año Actual"
Comando172.ForeColor = 1671168
La instrucción que puse al principio va en cada uno de los Case, no la pongo para no hacerlo muy extenso.
Ahora lo que me ocurres es que por ejemplo, si selecciono Año actual, me muestra el comando, inserto la fecha de búsqueda y al pulsar el comando no me muestra los datos, tengo que desmarcar Año actual y al volverlo a marcar, sorpresa me realiza la búsqueda.
Me podríais ayudar u orientar si estoy usando la opción correcta o existe alguna otra opción menos complicada para aplicar.