Selecionando e destacando uma linha de um DataGrid.

Se você quiser selecionar e destacar uma linha de um controle DataGrid numa consulta precisa informar o bookmark do registro de destino dentro do recordset da sua fonte de dados. Assim cada bookmark incluido na coleção será exibido no controle DataGrid.

Para selecionar uma nova linha você deverá remover as linhas selecionadas anteriormente da coleção caso contrário as linhas continuarão destacadas.

1- Inicie um novo projeto no VB e no formulário padrão insira

2- O Layout deverá ser algo como :

3- Crie uma conexão usando o controle adodc1 com o banco de dados Biblio.mdb e defina o recordsource como sendo igual a tabela Authors. veja abaixo:

4- Defina a propriedade DataSource do controle DataGrid1 igual a Adodc1.

5-Agora insira o seguind código no evento click do botão de comando - command1:

Private Sub Command1_Click()
Dim criterio As String

' remove os bookmark salvos anteriormentes da coleção
If (DataGrid1.SelBookmarks.Count <> 0) Then
   DataGrid1.SelBookmarks.Remove 0
End If

' Solicita o criterio para busca
criterio = InputBox("Informe o nome do Autor que deseja localizar ", "Localizar")
If criterio <> "" Then
   Adodc1.Recordset.Find "Author = '" & criterio & "'", , , 1
Else
   MsgBox " Criterio invalido ! "
   Exit Sub
End If

' anexa o seu bookmark a coleçãode de linhas selecionadas
DataGrid1.SelBookmarks.Add Adodc1.Recordset.Bookmark

End Sub

Ao executar o projeto e realizar uma busca teremos algo como exibida na sequência abaixo:

Iniciando a busca por nome
A linha selecionada e destacada

E, é só isto....