No cabeza, si la importaras ahi si te creceria el tamaño de la BD pero al vincularla vos nomas creas un puntero a la tabla en la otra BD.
Aca te paso 2 metodos, uno para vicular y otro para desvincular tablas (necesitas una referencia a "
ADO Ext. 2.x for DDL and Security"):
Código:
Public Function VincularTabla(pTabla As String) As Boolean
Dim tblLink As ADOX.Table
On Error GoTo ctrlErr
Set catDB = New ADOX.Catalog
Set catDB.ActiveConnection = ConexionDestino
'ConexionDestino es la conexion de la Base de datos donde se creara el vinculo (es del tipo ADODB.Connection)
If DesvincularTabla(pTabla) Then
Set tblLink = New ADOX.Table
With tblLink
.Name = pTabla
'nombre con el que te vas a referir a la tabla vinculada en tus consultas
Set .ParentCatalog = catDB
.Properties("Jet OLEDB:Create Link") = True
.Properties("Jet OLEDB:Link Datasource") = ConexionOrigen
.Properties("Jet OLEDB:Remote Table Name") = pTabla
'ConexionOrigen paso completo de la Base de datos de origen (la que contiene la tabla a vincular)
'Remote Table Name nombre de la tabla a vincular
End With
catDB.Tables.Append tblLink
VincularTabla = True
Else
VincularTabla = False
End If
Exit Function
ctrlErr:
VincularTabla = False
End Function
Public Function DesvincularTabla(pTabla As String) As Boolean
On Error GoTo ctrlErr
DesvincularTabla = True
catDB.Tables.Delete (pTabla)
Exit Function
ctrlErr:
If Err.Number <> 3265 Then
DesvincularTabla = False
End If
End Function
Como veras no es dificil hacerlo, a la primer funcion podrias pasarle "ConexionDestino" ya como parametro, pero queda a criterio de cada uno.
Espero te sirva, cualquier cosa avisa como te fue, saludos!