Hola  Avellaneda, gracias por contestar, mira pego el codigo y me sale el error " el subindice esta fuera del intervalo", he estado tratando de verdonde esta el problema pero con mi escasa informacion no lo encuentro, te dejo  todo el codigo..
 
en un boton tengo el siguiente codigo :   
 Código PHP:
    Call abrir
de = "Select count(*) as ultimo from contactos"
apertura.Open de, conectar
ultimo = apertura!ultimo + 1
apertura.Close
    MSFlexGrid1.FixedCols = 0
    MSFlexGrid1.Cols = 8
    MSFlexGrid1.FixedRows = 0
    MSFlexGrid1.Rows = ultimo
    MSFlexGrid1.ColWidth(0) = 1801
    MSFlexGrid1.ColWidth(1) = 1301
    MSFlexGrid1.ColWidth(2) = 1301
    MSFlexGrid1.ColWidth(3) = 1101
    MSFlexGrid1.ColWidth(4) = 1312
    MSFlexGrid1.Font = 8
    MSFlexGrid1.TextMatrix(0, 0) = "NOMBRE y APELLIDO"
    MSFlexGrid1.TextMatrix(0, 1) = "TEL PERSONAL"
    On Error Resume Next
    MSFlexGrid1.TextMatrix(0, 2) = "TEL COMERCIAL "
    MSFlexGrid1.TextMatrix(0, 3) = "CELULAR"
    MSFlexGrid1.TextMatrix(0, 4) = "E-MAIL"
    MSFlexGrid1.TextMatrix(0, 5) = ""
    MSFlexGrid1.TextMatrix(0, 6) = ""
    MSFlexGrid1.TextMatrix(0, 7) = ""
    Call cerrar 
    
  que por ahora lo tengo en un boton.,.. mas adelante lo pondre donde corresponda... y en un "Private Sub Text2_Change()" tengo el codigo que diste..  
 Código PHP:
    x = "Select * from contactos where nombre_apellido like '" & Text2.Text & "%'"
apertura.Open x, Conectar
MSFlexGrid1.Rows = apertura.RecordCount + 1
MSFlexGrid1.Sort = flexSortStringNoCaseAscending
i = 1
Do While Not apertura.EOF
    With MSFlexGrid1
        .TextMatrix(i, 0) = apertura!nombre_apellido
        .TextMatrix(i, 1) = apertura!domicilio
        .TextMatrix(i, 2) = apertura!tel_personal
         On Error Resume Next
        .TextMatrix(i, 3) = apertura!tel_comercial & ""
        .TextMatrix(i, 4) = apertura!email & ""
        .TextMatrix(i, 5) = apertura!cel & ""
        .TextMatrix(i, 6) = apertura!comentarios & ""
    End With
    i = i + 1
    apertura.MoveNext
Loop 
    
  y me sale ese error.. no se por donde seguir viendoY por ultimo ya avusando de tu confianza para que sirve esta sentencia? 
MSFlexGrid1.Sort = flexSortStringNoCaseAscendingSaludos Y muchisimas Gracias