Condividi:        

[ACCESS] copiare struttura tra 2 database

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[ACCESS] copiare struttura tra 2 database

Postdi ivo » 10/03/11 15:51

Il titolo dice tutto!
Ma sarò molto più esplicativo ;)
Ho 2 database MS ACCESS 2000
sul mio pc ho installato MS ACCESS 2003
Uno dei 2 è pressoché vuoto e contiene la struttura aggiornata di tutte le tabelle.
L'altro è pieno di dati dei clienti e non è aggiornato.
Per fortuna che ho trovato "StarInix Database Compare" per fare il confronto dei 2 database :D
Però mi tocca comunque andare a manina (funzione COLEMAN) ad inserire i nuovi campi o modificare quelli diversi. :aaah
Siccome mi ritengo un pastrocchione, non ho la minima intenzione di dare ai clienti il database aggiornato con la funzione COLEMAN. Vorrei sapere se c'è la possibilità di esportare la struttura del database vuoto e di importarla in quello pieno.
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Sponsor
 

Postdi archimede » 10/03/11 16:37

ivo ha scritto:Vorrei sapere se c'è la possibilità di esportare la struttura del database vuoto e di importarla in quello pieno.
Non che io sappia, ma puoi importare i dati nel db vuoto, no?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re:

Postdi ivo » 10/03/11 17:26

archimede ha scritto:Non che io sappia, ma puoi importare i dati nel db vuoto, no?


Non l'ho mai fatto, anche perché i campi nuovi non sono messi in coda alla tabella. Sono sparsi qua e la, tanto per intenderci, il programmatore che mi fornisce il database nuovo cerca di mettere i campi che hanno una certa attinenza tutti continui ...
Non so cosa succederebbe se cercassi di fare l'importazione ...
Comunque tanto per non saper ne leggere ne scrivere
ho provato a fare l'importazione con 2 database con la struttura aggiornata: uno pieno e l'altro vuoto.
da quello pieno esporto la tabella in excel, da quello vuoto ho cercato di importare il foglio excel nella tabella tramite la funzione CARICA DATI ESTERNI - IMPORTA, ovviamente cerco di importare i dati nella tabella esistente ...
mi da un bel messaggio. Qui sotto allego uno screenshot commentato:
Immagine
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Postdi archimede » 10/03/11 17:43

Ora non ho nè il tempo nè il modo di fare delle prove ma:

1. Excel non serve: collega le tabelle del db pieno da copiare dentro al db vuoto
2. usa delle query di INSERT (prendendo i campi della tabella piena linkata e mappandoli nei corrispondenti della tabella vuota (lasciando, quindi, vuoti quei campi nuovi che non esistono nel db pieno)

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 10/03/11 18:11

beh la tua risposta presume che io sappia scrivere query in access ...
Siccome sono uno zuccone, le query in access me le faccio scrivere dal "wizard" e poi andavo a fare piccole modifiche.
In questo caso credo che debba scriverne una nuova nuova...
allora visto che ci siamo, chiedo se qualcuno del forum sa dove recuperare una guida su come creare le query a mano.

@archimede
grazie per l'aiuto :)
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Postdi archimede » 10/03/11 19:29

Crei una nuova query andando in Visualizzazione Struttura (con una tabella quasiasi). In alto a sinistra (sotto al menu File, a sinistra del bottone Salva) c'è un bottone: scegli Visualizzazione SQL tramite la freccetta a lato del bottone.

Qui puoi inserire qualcosa del genere (al posto del codice proposto da Access):
Codice: Seleziona tutto
INSERT INTO TabellaVuota (NomeCampo1, NomeCampo2, NomeCampo3, .... )
SELECT NomeCampo1, NomeCampo2, NomeCampo3, ....
FROM TabellaPiena;
Ovviamente dovrai adattare i nomi di cui sopra a quelli reali. Quindi salvi la query; facendo doppio clic sulla query, il codice viene eseguito e, se tutto è corretto, ti troverai la TabellaVuota popolata.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 10/03/11 20:05

@archimede
non so come sdebitarmi ....
domani, appena ho un attimo di tempo, eseguo la query.
Non mi sarei mai aspettato la soluzione servita su un piatto d'argento ... :o
ringrazio ancora! :D
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 11/03/11 15:47

oggi sono veramente sfigato! :aaah
ho creato la query come da tuo esempio (modificando il campi e nome tabelle)

non ne vengo fuori ...
ho lo stesso messaggio di errore che ho riportato nell'immagine precedente.
Per quanto mi riguarda, sto brancolando nel buio... :-?
ah tra l'altro la query di accodamento la sto facendo con 2 database che hanno la stessa identica struttura, poi se funzionerà la cosa proverò a spingermi oltre e ad eseguire la stessa query su 2 database con struttura diversa.
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Postdi archimede » 11/03/11 16:43

Il codice si può vedere?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 11/03/11 16:48

certo!
Codice: Seleziona tutto
INSERT INTO aziende ( azi_id, impianto, azienda_in, azienda_out, escludi )
SELECT aziende1.azi_id, aziende1.impianto, aziende1.azienda_in, aziende1.azienda_out, aziende1.escludi
FROM aziende1;


aziende, per me, è la tabella vuota. Di conseguenza aziende 1 è quella collegata e piena.
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Re: [ACCESS] copiare struttura tra 2 database

Postdi Flash30005 » 12/03/11 00:39

A me sembra che il consiglio fornito da Archimede sia ottimo e consiste nel collegare la tabella nel database vuoto alla tabella del database "pieno" e, poi, fai la query che ti occorre

è complicato?
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi archimede » 12/03/11 08:28

ivo ha scritto:aziende, per me, è la tabella vuota.
Ma è davvero vuota? Perché a me su Access2003 quella sintassi funziona e se l'errore è violazione di chiave ho idea che stai cercando di inserire dei records con una PK (azi_id?) che esiste già nella tabella di destinazione.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 12/03/11 11:00

beh la tabella è vuota percgè se la apro in modalità inserimento, sono posizionato sul primo record, pronto per scriverci
per quanto riguarda Azi_id è un contatore che si incrementa da solo per questo motivo avevo provato anche a non includerlo nella query di accodamento...
Non so, se volete lunedì, quando torno a lavoro, vi metto a disposizione i 2 database?
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Postdi archimede » 12/03/11 11:31

ivo ha scritto:ho lo stesso messaggio di errore che ho riportato nell'immagine precedente.
Ma quell'immagine non era relativa a un import da Excel?
avevo provato anche a non includerlo nella query di accodamento
E? Stesso errore? Non è che nella tabella vuota ci sono delle chiavi che in quella piena non ci sono? E cosa è la modalità inserimento? Se provi la query con UN solo campo hai gli stessi problemi? Se crei due tabelle a casaccio e provi con quelle hai gli stessi problemi?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi archimede » 12/03/11 11:35

E se alla domanda Continuare comunque rispondi cosa succede?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi archimede » 12/03/11 11:39

Ah, potrebbe anche essere che ci siano altre tabelle referenziate nella tabella che importi tramite delle FK: se i valori che tenti di importare nei campi con la FK non sono presenti nella/e tabella/e referenziata/e ovviamente avrai problemi (devi prima importare le altre tabelle).

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 12/03/11 11:50

se rispondo si
comunque non accoda nulla

scusatemi se i temini non sono corretti
per modalità inserimento intendo quella dove si vede la taballe e ci si può scrivere i dati in ogni record ....
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso

Re: [ACCESS] copiare struttura tra 2 database

Postdi ivo » 14/03/11 09:40

Ho controllato la relazione che c'è tra le varie tabelle.
Ho scoperto che c'è una tabella "impianti" che è relazionata praticamente con tutte le tabelle.
Dopodiché ho creato la query di accodamento per la tabella "impianti", l'ho eseguita e ...
NESSUN ERRORE !!!! :D
Le altre query di accodamento adesso funzionano, perché deve essere popolata prima quella con gli "impianti".
Grazie mille per l'aiuto.....
Immagine
Avatar utente
ivo
Utente Senior
 
Post: 1135
Iscritto il: 20/08/01 01:00
Località: Treviso


Torna a Applicazioni Office Windows


Topic correlati a "[ACCESS] copiare struttura tra 2 database":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti