Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

convertire tabella access da collegata a locale

450 views
Skip to first unread message

mario mengozzi

unread,
Apr 11, 2018, 11:18:56 AM4/11/18
to
buongiorno,
ho un database che utilizza due tabelle collegate che non sono nient'altro che due file di testo

il database sta diventando molto lento

se le converto in locale ho visto che divento super veloce

vorrei da vba fare una copia di questa tabella collegata e fare diventare questa copia una tabella locale

facendo una copia con vba della tabella anche la copia rimane collegata

grazie in anticipo

@Alex

unread,
Apr 11, 2018, 12:12:43 PM4/11/18
to
Non si capisce NULLA.
Parli di tabelle ma sono file di testo... di cosa parli... dal momento che solo un matto lavorerrbbe su file ti testo collegati... sempre siano editabili.
Se invece hai un DB remoto... Usa l'importazione guidata.

@Alex

ogrn

unread,
Apr 11, 2018, 3:18:10 PM4/11/18
to
>ho un database che utilizza due tabelle collegate che non sono nient'altro
>che due file di testo
>vorrei da vba fare una copia di questa tabella collegata e fare diventare
>questa copia una tabella locale
>facendo una copia con vba della tabella anche la copia rimane collegata

Ho risolto cosi: lascia pure il file di testo collegato, potrebbe servirti
se un domani esso verrà aggiornato da un nuovo file di testo con lo stesso
formato (di fatto è un analogo del csv di excel).
Quindi non usare VBA, ma usa una query di creazione tabella, la quale ti
crea una tabella interna ad access con gli stessi nomi-campo (oppure li
rinomini).
Se sono stato poco chiaro, dimmi pure.

Bruno Campanini

unread,
Apr 11, 2018, 7:02:32 PM4/11/18
to
mario mengozzi laid this down on his screen :
Dalla finestra database seleziona la prima tabella collegata,
quindi CTRL+INS poi SHIFT+INS specificando Structure and Data.
Analogamente per la seconda tabella collegata.

Cancella le due tabelle collegate (verranno eliminati solo i
collegamenti al database corrente).

Rinomina le due nuove tabelle col nome dei due vecchi link.

Bruno

GiorgioDaPrato

unread,
Apr 12, 2018, 5:33:44 AM4/12/18
to

> vorrei da vba fare una copia di questa tabella collegata e fare diventare questa copia una tabella locale


nota aggiuntiva:
SE i file di testo NON rimangono fissi nel tempo
(generati e aggiornati da un altro sistema),
può risultare limitativo procedere SENZA una routine VBA
(in modo solo manuale)

e quindi dovrai "mettere in VBA" le operazioni suggerite:
in fondo si tratta solo di IMPORTARE di volta in volta i file testo
(ed eventualmente ANCHE di collegarli per scopo di controllo)

Bruno Campanini

unread,
Apr 12, 2018, 7:49:32 AM4/12/18
to
on 12-04-18, GiorgioDaPrato supposed :
Ottimo suggerimento.
La procedura seguente importa dall'esterno una tabella,
sostituendo l'omonima esistente (Table ovvero Link) nel
database corrente.
=========================
Private Sub Command81_Click()
Dim SourceDatabase As String, SourceTable As String, DestinationTable
As String

SourceDatabase = "D:\Access\MDB\BC1.accdb"
SourceTable = "Immobili"
DestinationTable = "Immobili"

On Error Resume Next
DoCmd.DeleteObject acTable, DestinationTable
On Error GoTo 0

DoCmd.TransferDatabase _
TransferType:=acImport, _
DatabaseType:="Microsoft Access", _
DatabaseName:=SourceDatabase, _
ObjectType:=acTable, _
Source:=SourceTable, _
Destination:=DestinationTable, _
StructureOnly:=False, _
StoreLogin:=False

End Sub
==================================

Sostituendo in TransferType, acImport con acLink si
creerà un collegamento anziché una tabella.

Bruno

GiorgioDaPrato

unread,
Apr 12, 2018, 10:29:03 AM4/12/18
to
e, nel caso in questione, la routine,
DOPO aver eliminato le tabelle da rinnovare,
farà più propriamente uso di DoCmd.TransferText

http://access-excel.tips/access-vba-docmd-transfertext-method/

per usare questo comando è meglio anticipare
una importazione/collegamento a mano
con la quale definire E REGISTRARE la specifica di importazione
(argomento SpecificationName)

Bruno Campanini

unread,
Apr 12, 2018, 12:26:30 PM4/12/18
to
It happens that GiorgioDaPrato formulated :
Io uso specifioche di import/export solo se l'istruzione
dove essere usata più volte da più procedure.
Nella fattispecie verrà presumibilmente usata più volte
ma da una sola procedura.

Bruno
0 new messages