Te he arreglado un ejemplo que hay sobre el método Seek para ADO para que lo pruebes con la base de datos neptuno.mdb (en el ejemplo sale la ruta en la que suele estar esta base de datos, corrigela si es necesario). No es posible utilizar Seek en tablas vinculadas. Además, necesitas poner la propiedad CursorLocation del recordset en adUseServer. Además, la "solución" que alguien inventó para DAO también puede servir para ADO (sólo hay que utilizar la misma lógica). En fin, aquí te paso el ejemplo en el que utilizo Seek con ADO. Sub buscarconSeekADO() Dim rst As ADODB.Recordset Dim conexion As ADODB.Connection Dim cadSQL As String Dim buscar As String Dim strPrompt As String buscar = InputBox("Entra el IdCliente") Set conexion = New ADODB.Connection cadSQL = "Provider='Microsoft.Jet.OLEDB.4.0';" & _ "Data Source='C:\Archivos de programa\" & _ "Microsoft Office\Office\Samples\" & _ "neptuno.mdb';" conexion.Open cadSQL Set rst = New ADODB.Recordset rst.CursorLocation = adUseServer cadSQL = "clientes" rst.Open cadSQL, conexion, adOpenKeyset, _ adLockReadOnly, adCmdTableDirect rst.Index = "PrimaryKey" rst.MoveFirst Debug.Print rst.CursorLocation rst.Seek Array(buscar), adSeekFirstEQ If rst.EOF Then MsgBox "Cliente no encontrado." Else MsgBox "Nombre del cliente: " _ & rst!NombreCompañía End If rst.Close conexion.Close Set rst = Nothing Set conexion = Nothing End Sub PD. Si luego tengo un rato, podría intentar crear una rutina para "solucionar" el asunto este de Seek con tablas vinculadas también con ADO, al igual que aparece en el ejemplo que mencionaba CarCar. Si te interesa, estáte atento a ESTE hilo, no seas impaciente :-) Saludos, happy