Datagridview 查询有关问题

Datagridview 查询问题
请教 (注:基本目的达到即可给分,能回答advance的更棒!):

Basic:Datagridview已经绑定一个Access,想通过输入查询内容后点击查询按钮,查询过程都在Datagridview里进行,光标自动移动到想到达的行上。但是不知道该怎么通过查询的信息得到该行号,倘若行号知道后,就能用下列语句移动光标了: 

Cali_Record.FirstDisplayedScrollingRowIndex = index
Cali_Record.Rows(index).Selected = True

思路是这样的,但是进行不下去了… 
Dim strTable As String = TextBox1.Text
Dim strSQL As String = "select * from " & strTable
。。。

Advance: 
1. 每个TextBox绑定一个固定列,最好通过就查询该列得到行号(比如TextBox1的内容就在Columns(0)),既保证正确性,又提高搜索速度;
2. Index可能是多个数,比如查询后得到多个行号,这几行都要显示出来,最好是亮标;
3. 交叉查询功能(即通过TextBox1和TextBox2的搜索结果得到交集);
4. 模糊查询功能(即TextBox1输入的内容少个字符也可以查询到)。

问题比较多,望高手给予正解!

------解决方案--------------------
正好今天有点时间,看了楼主的问题,写了下面代码,参照下吧,不能完全实现,但至少提供了思路,稍微变通应该能实现楼主要求把。


       '1.Binding Access data with Datagridview

        Dim tableName As String = "a"
        Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb")

        Dim sql As String = "select * from " & tableName

        Dim conAdapter As New OleDb.OleDbDataAdapter(sql, con)
        Dim ds As New DataSet
        conAdapter.Fill(ds, tableName)

        Dim dataTabelObj As DataTable = ds.Tables(tableName) '绑定的数据表
        DataGridView1.DataSource = dataTabelObj

        '2.查询特定内容 Rows
        Dim selectValue As String = TextBox1.Text
        '假定datagridview绑定的表 有四个字段:ID(key),Name,Address, Tel,与datagridview字段一一对应
        '
        Dim orderSelectDataRows As DataRow() = dataTabelObj.Select(String.Format("Name like %" & selectValue & "% or Address like %" & selectValue & "% or Tel like %" & selectValue & "%")) '表中的所有字段匹配查询下