Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: xDie en 5 Diciembre 2006, 22:07 pm



Título: Buscar en un datagrid
Publicado por: xDie en 5 Diciembre 2006, 22:07 pm
Hola como peudo hacer esto.. vi unso psot viejos de hacer sentencias sql y eso.. pero yo tengo un textbox y un boton buscar y un datagridd con toda un bd en access, queiro que me busque ahi com peudo hacer ???


Título: Re: Buscar en un datagrid
Publicado por: CeLaYa en 5 Diciembre 2006, 23:13 pm
puedes hacerlo con una consulta sql, usando solo la caja de texto y el boton

Código:

private sub Command1_Click()
dim Bd as database
dim Tb as database


set BD = workspaces(0).Opendatabase("c:\....\tu_BD")
set Tb =BD.OpenRecordset("SELECT * FROM Tabla " & _
                                         "WHERE Campo = '" & text1.text & "';")

If tb.Recordcount > 0 then
    'Encontro registros que cumplen la condición
else
    Msgbox "no encontre nada de nada"
end if

tb.close
set tb = nothing

BD.close
Set BD = Nothing


end sub


Título: Re: Buscar en un datagrid
Publicado por: CeLaYa en 5 Diciembre 2006, 23:18 pm
o si estas usando un datacontrol pues le pones la consulta SQL y luego un Refresh


Título: Re: Buscar en un datagrid
Publicado por: xDie en 5 Diciembre 2006, 23:30 pm
Como hago eso celaya? uso un datacontrol, lo que quiero es que me meustre el resultado en algun lado  ;D gracias


Título: Re: Buscar en un datagrid
Publicado por: CeLaYa en 7 Diciembre 2006, 19:56 pm
el datacontrol no lo uso, prefiero hacerlo con ADO, que en teoria seria lo mismo, mira más o menos esto es lo que hago:



Código:
´Declaro variables para el acceso a la BD
dim BD as Database
dim Rd as RecordSet

'Abro la BD
Set BD = Workspaces(0).Opendatabase("c:\..\BD.mdb", Lectura, Excritura, Password)
'Abro la tabla o en este caso hago un filtrado
set Rd = BD.OpenRecordset("SELECT * FROM Tabla WHERE Campo = '" & text1.text & "';")
'Checo si encontro registros
if Rd.RecordCount > 0 then
   ' Encontro registros
else
   ' msgbox "No hay registros para mostrar"
end if
'Cierro la tabla y la BD
Rd.close
BD.close

'Libero memoria
set Rd = nothing
set BD = nothing



aunque creo que con el data lo podrías hacer más o menos asi

Código:

data1.DabaseName = "tuBD.mdb"
data1.RecordSource = "Tabla"
data1.refresh


If Data1.Recordset.RecordCount > 0 Then
   data1.Recordset.FindFirst "Campo1 = '" & text1.text & "'"
   if data1.Recordset.NoMatch then
      msgbox "no hay registros que mostrar"
   else
      'encotro unos registros
   end if
end if


alguna vez use el datacontrol pero luego se me hizo mejor usar variables para lo que estaba haciendo