Cómo compactar una base de datos mediante JRO ===================================== por Enrique Martínez «Softjaen» - 2002 ------------------------------------------------ En primer lugar hay que hacer una referencia a Microsoft Jet and Replication Object 2.6 Library. Utilizar el siguiente código para bases de datos Access 2000: Dim Cjro As JRO.JetEngine Set Cjro = New JRO.JetEngine Dim cnn1 As String, cnn2 As String ' Cadena de conexión de origen cnn1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=c:\bd1.mdb;" & _ "Jet OLEDB:Engine Type = 5;" & _ "Jet OLEDB:Database Password = Contraseña" ' Cadena de conexión de destino cnn2 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data source=c:\bd2.mdb;" & _ "Jet OLEDB:Engine Type = 5" & _ "Jet OLEDB:Database Password = Contraseña" Cjro.CompactDatabase cnn1, cnn2 Comentarios ------------ La propiedad «Provider» indica el nombre del proveedor que se va a utilizar para conectarse al origen de datos. Si no se especifica esta propiedad, se supone que es el proveedor «Microsoft.Jet.OLEDB.4.0», el único permitido para bases de datos Access. Si una base de datos tiene contraseña, y queremos que la base de datos resultante, tenga la misma u otra nueva, tendremos que establecerla en la cadena de conexión de destino, ya que de lo contrario, la base de datos resultante no tendrá ninguna contraseña. La propiedad «Jet OLEDB:Engine Type = 5» no es necesaria establecerla, si se va a compactar una base de datos Access 2000, ya que es el valor por defecto del tipo de motor OLE DB que se utilizará. Los tipos de motores OLE DB que se pueden utilizar son: 1 - para JET versión 1.0 2 - para JET versión 1.1 3 - para JET versión 2.x 4 - para JET versión 3.x 5 - para JET versión 4.x Si se indica una versión del motor OLE DB distinta de la versión de la base de datos que se desea compactar, se producirá el siguiente error: «No se puede realizar esta operación; las características de esta versión no están disponibles para bases de datos con formatos más antiguos.» Para más información, consultar el siguiente Artículo de Microsoft Knowledge Base - Q230501: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q230501