Título: Criterios en Sql. Publicado por: mdg en 18 Octubre 2007, 22:50 pm Hola foreros, nuevamente apelo a su conocimiento, de antemano gracias por su tiempo y por su ayuda.
El asunto es que tengo un procedimiento que me filtra registros y los inserta en un listview, el problema lo tengo en las opciones del filtrado, en el formulario tengo un Chek, alhacer ckick en este se habilita o deshabilita un combo en el cual tengo los datos de la tabla categorias en formato 001 - Administracion, 002 - Trafico, Etc , lo que pretendo es que si el chek esta en False que me filtre todos los registros y si esta en true me filtre los registros para la categoria seleccionada del combo, he simplificado en este caso por que a demas de opcion por categoria tengo 7 opciones mas por lo que no se me hace facil hacer una sql por que tendria que realizar una combinacion terrible de datos por lo que se me ocurrio lo que les marco en rojo pero no me da error pero tampoco funciona, o sea no me devuelve todos los registros. Sub Filtrar() On Error GoTo Hay_err_err Dim Categoria As Variant If Me.Check2.Enabled = True Then Categoria = "*" end If If Me.Check2.Enabled = false Then Categoria = Mid(Me.Combo4,1,3) end If Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name StrSql = "SELECT * FROM tbl_Empleados WHERE categoria=" & Categoria Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass) Set Rst = Db.OpenRecordset(StrSql) While Not Rst.EOF Set Item = Me.ListView2.ListItems.Add(, , Rst!legajo) Item.SubItems(1) = Rst!nombres '& ", " & Rst!Apelldos Rst.MoveNext Wend Hay_err_exit: Rst.Close Db.Close Set Rst = Nothing Set Db = Nothing Hay_err_err: Select Case Err.Number Case 3024 MsgBox "Es imposible encontrar la base de datos. " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la ruta:" & App.Path & "\bases" & " e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" ' Exit Function Case 3078 MsgBox "Es imposible encontrar la tabla: " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la base de datos" & "Base_Actual.mdb" & "e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" 'Exit Function End Select End Sub Bueno, nuevamente gracias y disculpen si olvido algo es que lo escribo comoforme se me cruzan las palabras. Título: Re: Criterios en Sql. Publicado por: CeLaYa en 19 Octubre 2007, 03:03 am pues podrias "jugar" con una cadena de texto que vaya formando la consulta, por ejemplo al cargar el form pon el inicio de la sentencia SQL
Código: 'variable global en el form en caso de que deshabilites un check quitas cosas Código: Private Sub Check1_Click() y en cada Combo le pones le pones cosas Código: Private sub Combo1_Click() y ya en el procedimiento de filtrar pegas todo. Código:
|