
filtro multiple de combox
Publicado por Julian David (20 intervenciones) el 29/03/2013 10:19:06
Buen dia amigos,
les comento mi problema,
tengo un formulario dividido (FdivididoConsulta) , en este ultimo tengo 3 combox (CbosubestacionFD, CboCircuitosFD, CboCDFD ) y un boton ( CmdFiltroFD ),
lo que quiero lograr al hacer click en CmdFiltroFD es lo siguiente:
* actualizar el formulario filtrando cada uno de los valores ingresados en los combox
* si algun combo no tiene valor asignado, no lo tenga en cuenta
* si no hay registros que coincidan con los valores ingresados en los combox me lo indique en un msgBox;
el codigo que tengo solo me filtra el ultimo valor es el siguiente:
Private Sub CmdFiltroFD_Click()
Dim vSubestacion As String
Dim vcircuito As String
Dim vcd As String
Dim vLargo As Integer
Dim miFiltro As String
vSubestacion = Nz(Me.CbosubestacionFD.Value, "")
vcircuito = Nz(Me.CboCircuitosFD.Value, "")
vcd = Nz(Me.CboCDFD.Value, "")
miFiltro = ""
If vSubestacion <> "" Then
miFiltro = "AND [subestacion]='" & vSubestacion & "'"
End If
If vcircuito <> "" Then
miFiltro = miFiltro & " AND [circuito]='" & vcircuito & "'"
End If
If vcd <> "" Then
miFiltro = miFiltro & " AND [cd]='" & vcd & "'"
End If
vLargo = Len(miFiltro)
If vLargo > 0 Then
miFiltro = Right(miFiltro, vLargo - 4)
End If
Me.Filter = miFiltro
Me.FilterOn = True
End Sub
les comento mi problema,
tengo un formulario dividido (FdivididoConsulta) , en este ultimo tengo 3 combox (CbosubestacionFD, CboCircuitosFD, CboCDFD ) y un boton ( CmdFiltroFD ),
lo que quiero lograr al hacer click en CmdFiltroFD es lo siguiente:
* actualizar el formulario filtrando cada uno de los valores ingresados en los combox
* si algun combo no tiene valor asignado, no lo tenga en cuenta
* si no hay registros que coincidan con los valores ingresados en los combox me lo indique en un msgBox;
el codigo que tengo solo me filtra el ultimo valor es el siguiente:
Private Sub CmdFiltroFD_Click()
Dim vSubestacion As String
Dim vcircuito As String
Dim vcd As String
Dim vLargo As Integer
Dim miFiltro As String
vSubestacion = Nz(Me.CbosubestacionFD.Value, "")
vcircuito = Nz(Me.CboCircuitosFD.Value, "")
vcd = Nz(Me.CboCDFD.Value, "")
miFiltro = ""
If vSubestacion <> "" Then
miFiltro = "AND [subestacion]='" & vSubestacion & "'"
End If
If vcircuito <> "" Then
miFiltro = miFiltro & " AND [circuito]='" & vcircuito & "'"
End If
If vcd <> "" Then
miFiltro = miFiltro & " AND [cd]='" & vcd & "'"
End If
vLargo = Len(miFiltro)
If vLargo > 0 Then
miFiltro = Right(miFiltro, vLargo - 4)
End If
Me.Filter = miFiltro
Me.FilterOn = True
End Sub
Valora esta pregunta


0