La instrucción «INSERT INTO» sirve para añadir registros a una tabla, NO
para modificarlos, que es lo que creo que quieres hacer, o por lo menos, es
lo que he deducido de tu mensaje. Además, con «INSERT INTO» tendrías
problemas con la clave principal de la tabla, ya que, como bien sabes, no se
puede duplicar ni tampoco puede tener valor 'Null'.

Pero tranquilo, que hay solución. Para ello tienes que exportar la 'Tabla B'
a la base de datos 'BD 1', y después hacer una consulta de ACTUALIZACIÓN de
la 'Tabla A'. Te dejo un ejemplo con las explicaciones en los comentarios:


    Dim cnnActual As New ADODB.Connection
    Dim cnnExterna As New ADODB.Connection

    ' Establezco la conexión con la base de datos actual
    With cnnActual
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                          "Data Source=C:\Bd2.mdb;"
        .Open
        ' Exportamos la tabla
        .Execute "SELECT * INTO [Tabla Temporal] IN 'C:\Bd1.mdb' FROM [Tabla
B]"
        ' Cierro la conexión
        .Close
    End With

    ' Establezco la conexión con la base de datos externa
    With cnnExterna
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=C:\Bd1.mdb"
        .Open
        ' Actualizo los registros
        .Execute "UPDATE [Tabla A] INNER JOIN [Tabla Temporal] ON [Tabla
A].Articulo = [Tabla Temporal].Articulo SET [Tabla A].ArtPersonalizados =
[Tabla Temporal].[ArtPersonalizados]"
        ' Elimino la tabla temporal
        .Execute "DROP TABLE [Tabla Temporal]"
        ' Cierro la conexión
        .Close
    End With

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)