Visual Basic - FILTRO EN COLECCION

Life is soft - evento anual de software empresarial
   
Vista:

FILTRO EN COLECCION

Publicado por Matias (135 intervenciones) el 08/09/2008 05:00:20
Hola como va??? bueno queria preguntarles si se puede hacer un filtro en una coleccion, suponiendo que guardo en uan coleccion datos de los clientes y quiero cargar a un control como el msflexgrid estos datos y desde un textbox buscar por nombre... puedo hacer ese filtro que haria con una conslta sql contra una bd en los datos de la coleccion?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FILTRO EN COLECCION

Publicado por marchand (59 intervenciones) el 08/09/2008 09:14:17
La consulta SQL sería así

SELET * FROM clientes WHERE nombre = '" & textbox.Text & "'"

se la aplicas a un recordset y lo enlazas al msflexgrid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FILTRO EN COLECCION

Publicado por Matias  (135 intervenciones) el 08/09/2008 13:48:49
Si eso lo se lo que queiro saber es como hacerlo cuando los datos estan en una coleccion y ademas tambien puedo hacer directamente el filtro con el recordset o debo hacerlo si o si con la coleccion?
Osea la idea es hacer una consulta en la base de datos y ese recordset cargarlo a la coleccion, despues a esa coleccion hacerle el filtro. tambien puedo declarar un recorset como publico y usarlo en todo mi proyecto ????
Bueno gracias por su ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

QUISIERA AGREGAR ALGO

Publicado por MATIAS (135 intervenciones) el 08/09/2008 15:33:37
Otra duda
Intento usar colecciones con vb
El tema es que consegui un ejemplo y lo adapte mas o menos a lo que quiero... Intento recorrer una tabla de clientes y guardar los datos de estos en la coleccion (cmdAsignar_Click()). Aca esta el codigo

funciona pero solo tiene un problema

Si la cosulta me trae 2000 registros cuando recorro la coleccion (cmdMostrar_Click()) y los cargo al listbox me carga 2000 registros, el problema es que todos con el mismo dato y ese mismo dato siempre es el del ultimo registro

si es ultimo registro es Juan Perez me trae 2000 registros pero todos son Juan Perez

Bueno estoy usando vb6 + mysql y la idea es cargar estos datos a la coleccion para no tener que acceder tanto a la bd teniendo en cuenta que me conecto al servidor atravez de internet
Muchas Gracias


Dim rs As ADODB.Recordset
Dim db As ADODB.Connection

Option Explicit
' Colección para almacenar los datos de los clientes
Private mColegas As Collection

Private Sub cmdAsignar_Click()

Dim oColega As ccolega

Set oColega = New ccolega

On Error Resume Next

Dim strsql As String

strsql = "select apellido, fechanac, nombre from clientes"
Set rs = New ADODB.Recordset
rs.ActiveConnection = db
rs.Open (strsql), db, adOpenDynamic, adLockOptimistic
If rs.BOF And rs.EOF Then

Else


rs.MoveFirst
While rs.EOF = False
oColega.nombre = rs!nombre
oColega.email = rs!apellido
oColega.fechanacimiento = rs!fechanac

mColegas.Add oColega


rs.MoveNext
Wend
End If
End Sub


Private Sub cmdMostrar_Click()

Dim oColega As ccolega

List1.Clear

For Each oColega In mColegas
List1.AddItem oColega.nombre & " - " & oColega.email & " - " & oColega.fechanacimiento
Next

End Sub


Private Sub Form_Load()


Set db = New ADODB.Connection
db.Open "Driver={MySQL ODBC 3.51 Driver};" & _
"Server=localhost;" & _
"Port=3306;Database=ssdmgestion;" & _
"User=root;Password=tiamirta;Option=3;"


' Creamos el objeto colección
Set mColegas = New Collection
'


End Sub


y tengo ademas un modulo de clase solo con esto

Public nombre As String
Public email As String
Public fechanacimiento As Date
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar