Cómo utilizar el método Seek con ActiveX Data Objects (ADO) en un conjunto de registros Jet

Seleccione idioma Seleccione idioma
Id. de artículo: 287638 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E287638
Avanzado: requiere conocimientos avanzados de código, interoperabilidad y multiusuario.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Para obtener una versión de este artículo para Microsoft Access 2000, vea 243465.
Expandir todo | Contraer todo

Resumen

En este artículo se muestra cómo utilizar el método Seek con un conjunto de registros de ADO (Objetos de datos ActiveX).

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se muestra, así como las herramientas empleadas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.

Más información

En el ejemplo siguiente se muestra cómo utilizar el método Seek para buscar el pedido de un cliente con un Id. de pedido y un Id. de producto determinados. Si se encuentra el pedido, el ejemplo imprime la cantidad del pedido del cliente en la ventana Ejecución.

Normalmente, se puede elegir entre utilizar una biblioteca de cursores del cliente o una ubicada en el servidor. Para que el método Seek funcione, debe usar un cursor del cliente, que se indica en la propiedad CursorLocation.

Asimismo, sólo puede utilizar el método Seek cuando el conjunto de registros obtiene acceso directamente a la tabla. En este ejemplo, el acceso directo a la tabla se indica mediante el argumento adCmdTableDirect del método Open. No se puede utilizar el método Seek en objetos como consultas y tablas vinculadas. Sólo se puede utilizar el método Seek en tablas de Microsoft Jet nativas. Si la base de datos contiene tablas vinculadas, puede abrir una conexión externa a la base de datos de servidor que contiene la tabla y, a continuación, utilizar el método Seek directamente en la tabla.
  1. Cree una nueva base de datos de Microsoft Access y llámela Db1.mdb.
  2. En Objetos, haga clic en Módulos y luego en Nuevo.
  3. En el menú Herramientas, haga clic en Referencias. Compruebe que la Biblioteca Microsoft ActiveX Data Objects 2.x está incluida en el cuadro Referencias disponibles (donde 2.x es la versión 2.1 o posterior).
  4. En el nuevo módulo, escriba o pegue el siguiente código:
    Option Compare Database
    Option Explicit
    
    Function SeekRecord()
        Dim conn As ADODB.Connection
        Dim rst As ADODB.Recordset
    
        Set conn = New ADODB.Connection
        Set rst = New ADODB.Recordset
    
        'Set the connection properties and open the connection.
        With conn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "<Drive>\<Path to Northwind sample database>"
            .Open
        End With
    
        With rst
            'Select the index used in the recordset.
            .Index = "PrimaryKey"
    
            'Set the location of the cursor service.
            .CursorLocation = adUseServer
    
            'Open the recordset.
            .Open "Order Details", conn, adOpenKeyset, _
              adLockOptimistic, adCmdTableDirect
    
            'Find the customer order where OrderID = 10255 and ProductID = 16.
            .Seek Array(10255, 16), adSeekFirstEQ
    
            'If a match is found, print the quantity of the customer order.
            If Not rst.EOF Then
                Debug.Print rst.Fields("Quantity").Value
            End If
        End With
    End Function
    						
    Tenga en cuenta que en el código la ruta de acceso a Neptuno.mdb puede variar en función del equipo.
  5. En el menú Depurar, haga clic en Compilar Db1.
  6. En la ventana Ejecución, escriba la línea siguiente y presione ENTRAR:
    SeekRecord

Referencias

Para obtener información adicional acerca de cómo usar el método Seek con tablas de Microsoft Jet, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290060 ACC2002: No se puede establecer la propiedad Index de un conjunto de registros ADO basado en una base de datos de Microsoft Jet

Propiedades

Id. de artículo: 287638 - Última revisión: martes, 23 de enero de 2007 - Versión: 7.3
La información de este artículo se refiere a:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palabras clave: 
kbado kbdatabase kbprogramming kbdta kbhowto KB287638

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com