• Lunes 23 de Diciembre de 2024, 02:36

Autor Tema:  Filtrar Datos  (Leído 2079 veces)

don_leopardo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Filtrar Datos
« en: Viernes 11 de Noviembre de 2005, 17:00 »
0
Buenas. En un programa de control de stock ke tengo ke hacer necesito hacer un filtro de datos. La cosa es asi: El usuario ingresa el Rubro del proveedor, pone Buscar, y le aparecen todos los proveedores de ese rubro. Hice el codigo de esto, con una instruccion SQL, pero no me anda, no me tira nada. Kisiera saber cual es el error, ya ke me parece ke puede estar en la concatenacion de la variable. El codigo es el sgte:

Código: Text
  1.  
  2. Private Sub CmdBuscarR_Click()
  3. Dim Rubro As String
  4.  
  5. Rubro = FrmProveedores.TxtBRubro.Text
  6.  
  7. If DataEnvironment2.rsCommand1.State = 1 Then
  8. DataEnvironment2.rsCommand1.Close
  9. End If
  10.  
  11. DataEnvironment2.rsCommand1.Source = "SELECT * FROM Proveedores WHERE Rubro = " [COLOR=green]'&Rubro&' ""[/COLOR]
  12. End Sub
  13.  
  14.  

El final lo puse en verde porke asi aparece en el Visual. Desde ya les agradezco.
EDIT: Bueno, parece ke no se puede poner en verde adentro del codigo, o al menos no me dejo, pero igual lo dejo para ke vean ke es lo ke aparece en ese color.

Saludos.

jc_moty

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Filtrar Datos
« Respuesta #1 en: Miércoles 28 de Diciembre de 2005, 00:16 »
0
Porque no cambias el signo '=' por 'LIKE', tene en cuenta que si pones "=" la cadena tiene que coincidir completamente (mayusculas, minusculas, texto completo, etc), sin embargo si pones LIKE no importa si son mayusculas o minusculas y con el signo '%' le decis que tome en cuenta los rubros que empiecen por lo que esta almacenado en la variable "Rubro", por ejemplo:
Código: Text
  1.  
  2. DataEnvironment2.rsCommand1.Source = "SELECT * FROM Proveedores WHERE Rubro LIKE '" & Rubro & "%'"
  3.  
  4.  
Saludos
[size=109]Compartir el conocimiento es una acción de seres inteligentes, que han comprobado que el conocimiento es un bien que crece a medida que se lo comparte.

Firma la petición para que Microsoft mantenga activo VB6(mas información]aquí[/url])[/size]

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Filtrar Datos
« Respuesta #2 en: Jueves 29 de Diciembre de 2005, 19:47 »
0
Hola Leopardo

Cuando programes y te cambien el color de texto en los codigos, debes fijarte bien que estas escribiendo puesto que te puedes estar volando las comillas,no estas cerrando bien o separas mal las instrucciones porque se te olvido la coma.

DataEnvironment2.rsCommand1.Source = "SELECT * FROM Proveedores WHERE Rubro ='&Rubro&' "

Quitandole las instrucciones

Te deberia funcionar, aunque el consejo de Jc es muy practico, esto te lo digo para que lo tengas en cuenta.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

ElberGon

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Filtrar Datos
« Respuesta #3 en: Domingo 5 de Febrero de 2006, 02:28 »
0
Yo haria esto:

Private Sub CmdBuscarR_Click()
Dim Rubro As String
Dim sql As String          ''''''''''''''''''''''''''''''''''''

Rubro = FrmProveedores.TxtBRubro.Text

If DataEnvironment2.rsCommand1.State = 1 Then
DataEnvironment2.rsCommand1.Close
End If


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'si el campo rubro es textual
sql= "SELECT * FROM Proveedores WHERE Rubro = " ' " &Rubro &" ' "   'checalo
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'si el campo rubro es numerico
sql= "SELECT * FROM Proveedores WHERE Rubro =  &Val(Rubro)     'checalo
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


DataEnvironment2.rsCommand1.Source =sql       ''''''''''''''''''''''''
End Sub

Nota: Los valores de sql solo llevate uno ve tu caso y anlizalo.....

Espero y sirva
[size=109]  eLbErGoN  [/size]  

[El conosimiento es el arma que hace la Diferencia entre las personas; pero el saber no te hace mas que otra persona solo estas mas preparado