border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 09-05-2008, 22:03:12
Un Nuevo Amigo
 
Registrado: may 2008
Posts: 23
chamy_juan Aun no valorado
Predeterminado Filtro personalizado de DataGrid

Necesito ayuda nuevamente, llevo días tratando de resolver esto:

Private Sub Command2_Click()
If Combo1 = "Rut" Then
Adodc1.Recordset.Filter = "Rut = '" & Text1 & "'"
Set DataGrid1.DataSource = Adodc1.Recordset
Else
If Combo2 = "Comienza con" Then
Adodc1.Recordset.Filter = "Nombre LIKE '" & Text1 & "%'"
Set DataGrid1.DataSource = Adodc1.Recordset
End If
If Combo2 = "Contiene a" Then
Adodc1.Recordset.Filter = "Nombre LIKE '%" & Text1 & "%'"
End If
End If
End Sub

Los filtros en rojo me funcionan perfecto, quiero hacer lo mismo pero con el rut, el problema es que no me funciona "No se puede abrir el filtro", creo que es porque lo datos a buscar son números, he intentado darle formato, pero no me resulta.

Si alguien me pudiera ayudar, lo agradeceria.
Responder Con Cita
  #2 (permalink)  
Antiguo 09-05-2008, 22:34:55
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.100
J.M.Movilla Valoración +2
Predeterminado Re: Filtro personalizado de DataGrid

Las variables numéricas no tienen que ir envueltas entre comillas.
Código:
         Adodc1.Recordset.Filter = "Rut = " & Text1
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 09-05-2008, 22:42:35
Un Nuevo Amigo
 
Registrado: may 2008
Posts: 23
chamy_juan Aun no valorado
Predeterminado Re: Filtro personalizado de DataGrid

Según lo que entendi, mi código debería ser así:

If Combo2 = "Comienza con" Then
Adodc1.Recordset.Filter = "Rut = " & Text1 & "%"
Set DataGrid1.DataSource = Adodc1.Recordset
End If

Pero no me resulta.
La idea para este filtro es, ingresar en el Text1 "80522" y en el DataGrid aparezcan todos los que comiencen con "80522"

Gracias por la primera respuesta y ojalá me puedan seguir ayudando.

Juan Espoz
Responder Con Cita
  #4 (permalink)  
Antiguo 10-05-2008, 19:13:48
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.100
J.M.Movilla Valoración +2
Predeterminado Re: Filtro personalizado de DataGrid

Ante esto, lo primero que quiero decirte es que para el Rut no debes emplear un campo numérico (ten en cuenta que los campos numéricos tienen la finalidad de poder realizar con ellos operaciones aritméticas, pero nunca vas a pretender un Rut/2 ni un Rut - 345...). Porque entiendo que vuestro Rut es como nuestro DNI (Documenteo Nacional de Identidad), sólo que el DNI lleva un número y una o varias letras.

Si tienes algún motivo que te obligue a definir ese campo como numérico, la búsqueda deberías hacerla convirtiendo el número en string. Algo así como

Código:
If Combo2 = "Comienza con" Then
    Adodc1.Recordset.Filter = "Trim(Str(Rut)) = '" & Trim(Text1) & "%'"
    Set DataGrid1.DataSource = Adodc1.Recordset
End If
con la esperanza de que ese paso no te dé error... porque nunca he tenido necesidad de buscar números por "los que empiecen por 2"... ya que te saldrían el 2, el 20, 21, 22, 23... el 200, 201, 202... que en principio no sé para qué podría servirme...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 05:46:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right