Filtro sobre campo turno

Estimado Jordi.
Necesito aplicar un filtro ahora sobre un campo tipo texto, el campo es de turno y necesito muestre las coincidencia en "Matutino", o "Vespertino" o "Mixto" pero en caso de que no se metan datos en el inputbox muestre todos los registros de turno
Con base en lo que me explicaste sobre el filtro de fechas aplique lo siguiente:
Declare las siguientes variables
Dim datturno As String
Dim turnofilter As String
luego en el evento de la forma al cargar
datturno = InputBox("Indica el Turno", "Datos de Trabajo")
If datturno = "" Then
datturno = "matutino" or "vespertino" or "mixto"
End If
(Este bloque tengo la idea pero no funciona)
Luego viene el filtro que me hiciste favor de aplicar:
trFilter = "[Fecha] Between #" & Format(datDesdeFecha, "mm/dd/yy") & "# AND #" & Format(datHastaFecha, "mm/dd/yy") & "#"
Me.Filter = strFilter
Me.FilterOn = True
El codigo siguiente es el que quiero aplicar tambien pero no funciona.
turnofilter = "[turno]&[datturno]"
Me.Filter = turnofilter
Me.FilterOn = True
Ojala y me des un tip de como resolver esta consulta.
Saludos y gracias por enseñarme a mejorar la aplicación para tener los conocimientos básicos de access97. Gracias a ti estoy aprendiendo demasiado.
Fabiola Rojas.

1 respuesta

Respuesta
1
Vamos a ver...
Dim datturno As String
Dim turnofilter As String
luego en el evento de la forma al cargar
datturno = InputBox("Indica el Turno", "Datos de Trabajo")
If datturno = "" Then
'El usuario no ha indicado ningún turno, por lo que los
'mostraremos todos..
TurnoFilter=""
'Aunque tambien podriamos..
TurnoFilter="Turno='Matutino' Or Turno='Vespertino' Or Turno='Mixto'"
'Personalmente prefiero el primero, ya que si más adelante me invento otro turno
'por ejemplo Fin de Semana, tendré que modificar el programa..
Else
TurnoFilter="Turno = '" & datturno & "'"
End If
Ahora, después de aplicar el filtro por fechas a la variable strFilter, debemos incluir el filtro por turno..
if len(TurnoFilter) then
StrFilter=strFilter & " AND " & TurnoFilter
End if
Me.Filter=strFilter
Me.FilterOn=True
Atención... veo que has utilizada la variable datTurno... deberías acostumbrarte a indicar prefijos en las variables..
dat = Date - Fecha
str = String - Texto
bln = Boolean
int = Integer - Entero
lng = Long - Entero Largo
cur = Currency - Moneda
frm = Form - Formulario
rpt = Report - Informe
tbl = Table - Tabla
qry = Query - Consulta
mdl = Module - Módulo
dbs = Database
rst = Recordset
fld = Field - Campo
prp = Property - Propiedad
Etc.
De este modo, cuando estás programando ya sabes de que tipo es la variable que estás utilizado..
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)
No hay más estrellas, pero te las mereces, voy a estudiar con mucha calma todas tus explicaciones veo que con access puedes hacer maravillas.
Infinitamente agradecida.
Fabiola Rojas
Cd. de Mexico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas