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
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)