Olá pessoal, estou precisando de ajuda.... Preciso mover o cursor do BDGrid para o registro localizado através de uma consulta em um textbox. Inicialmente tentei fazer por SQL, a consulta ficou perfeita mas eu não consigo mover o cursor do DBGrid para o registro localizado. Depois, tentei fazer através do componente data e também não consegui...por favor preciso muito de ajuda... quem puder me ajudar.... Desde já agradeço... abaixo os códigos das duas tentativas..... ' Essa é com SQL Public Function Consultar(ByVal strMPN As String, strPN As String, strSN As String) As Variant Dim linha As Integer Set rs = CreateObject("ADODB.Recordset") With rs .Open "SELECT * FROM componentes WHERE MPN='" & strMPN & "' or PN='" & strPN & "' or SN='" & strSN & "'", cn, adOpenKeyset, adLockOptimistic If .RecordCount = 0 Then MsgBox "Nenhum componente localizado", vbExclamation, "Consulta" Else frmComp.txtNome2.Text = IIf(IsNull(!nomeclatura), Empty, !nomeclatura) frmComp.txtMPN2.Text = IIf(IsNull(!MPN), Empty, !MPN) frmComp.txtPN2.Text = IIf(IsNull(!PN), Empty, !PN) frmComp.txtSN2.Text = IIf(IsNull(!SN), Empty, !SN) frmComp.dbg_comp2.Refresh linha = CInt(!cod) - 1 frmComp.dbg_comp2.Scroll 0, linha frmComp.dbg_comp2.Row = linha End If .Close End With ' Essa é com componente data 'Aqui aparece um erro, dizendo que esse método não é permitido If Right(txtMPN2, 1) = Chr(39) Then txtMPN2 = Right(txtMPN2, Len(txtMPN2) - 1) End If Dim vntPosicao As Variant With dt_comp .Recordset.OpenRecordset vntPosicao = .Recordset.Bookmark 'Grava a posicao do registro atual .Recordset.OpenRecordset .Recordset.MoveFirst .Recordset.Find "MPN like '" & txtMPN2.Text & "*'" If .Recordset.EOF Then 'se não encontrou "ED" .Recordset.Bookmark = vntPosicao .Recordset.MoveNext 'vai para o proximo "EE..." End If End With ------K@guru Comp@ny