Autor Tema: Como automatizar busquedas con rs.filter con mas de 10 campos  (Leído 2231 veces)

0 Usuarios y 1 Visitante están viendo este tema.

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Como automatizar busquedas con rs.filter con mas de 10 campos
« en: Octubre 12, 2011, 03:32:04 pm »
Explico un poco lo que nose como hacer.

Tengo esta funcion para mostrar en un list los campos de una tabla
Código: [Seleccionar]
Public Sub CargarCampos2()
Dim n As Integer
Dim i As Integer
n = rs.Fields.Count

List1.Clear
 For i = 0 To n - 1
    List1.AddItem rs.Fields(i).Name
 Next
List1.ListIndex = 0

End Sub


Ahora desde un boton quiero hacer un filtro, si hay solo 2 campos lo hago asi
Código: [Seleccionar]
Public Sub Buscar2()
rs.Requery
Select Case List1.ListIndex
   Case 0
      rs.Filter = "" & List1 & "='" & Text1 & "'" 'campo numerico
   Case 1
      rs.Filter = "" & List1 & " like '" & Text1 + "%" & "'" 'campo texto
End Select

If rsCargo.RecordCount <= 0 Then
   MsgBox "No se encontro ningun registro", vbInformation, "Información"
End If
End Sub

El problema o mejor dicho nose como hacer cuando la tabla tiene 10 campos con diferentes tipos de datos numero o texto, se puede automatizar eso con un bucle FOR o tendria que utilizar si o si 10 CASES en mi funcion Buscar2, ojala y lo haya explicado bien.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Como automatizar busquedas con rs.filter con mas de 10 campos
« Respuesta #1 en: Octubre 12, 2011, 04:39:12 pm »
para saber de que tipo de datos es el campo , simplemente basta con hacer:

Código: [Seleccionar]
rs.Fields(i).Type
eso te devuelve un numero, por ejmeplo el 133 equivale a fecha

aca tenes una tabla con los valores de cada tipo de dato:

ADO Data Types

saludos.