Problemi importazione file Excel

di il
12 risposte

Problemi importazione file Excel

Buonasera.

Sto provando ad importare un file Excel in un database creato con Microsoft Access. Il file Excel contiene i dati relativi ai prodotti, che settimanalmente deve essere importato in Access per aggiornare  la tabella Prodotti con le nuove quantità di quest'ultimi. 

Tuttavia, quando tento di effettuare l' importazione del file Excel, vengono presi in considerazione solo i primi 25 record su 66 esistenti. Inoltre, tentando di andare avanti, quindi provando ad aggiungere solo i 25 record, alla fine vengo bloccato e l' operazione non va a buon fine.

Vi ringrazio a tutti in anticipo per eventuali risposte.

12 Risposte

  • Re: Problemi importazione file Excel

    Come fai l'importazione?

  • Re: Problemi importazione file Excel

    Ciao Oregon.

    Semplicemente faccio tasto destro sulla tabella Prodotti, seleziono importa file Excel, successivamente scelgo il percorso del file, scegliendo la prima opzione di importazione. 

  • Re: Problemi importazione file Excel

    24/08/2023 - Dany30 ha scritto:


    importato in Access per aggiornare  la tabella Prodotti con le nuove quantità di quest'ultimi

    L'importazione deve sostituire il contenuto della tabella esistente? accodare i valori? Aggiornare record già presenti?

    vengono presi in considerazione solo i primi 25 record su 66 esistenti

    Sei riuscito ad identificare la particolarità di questi primi 25 record / righe del file di Excel rispetto agli altri 66?

    provando ad aggiungere solo i 25 record, alla fine vengo bloccato e l' operazione non va a buon fine.

    C'è qualche errore particolare? Violazione di chiave primaria? incompatibilità tra i campi?

    Hai provato ad importare in un database vuoto o in un'altra tabella senza record, con la medesima struttura di quella in cui provi di solito?

    Abbiamo bisogno di qualche informazione in più perché non ci sono elementi a sufficienza per inquadrare il problema. Se può essere più semplice pubblica qualche schermata.

  • Re: Problemi importazione file Excel

    Ciao.

    Provando a  risolvere il problema ho riscontrato che il vincolo di integrità referenziale non mi consentiva l' importazione dei dati nel database, quindi ho provato a toglierlo ed inserire i dati e tutto ha funzionato perfettamente. 

    Inoltre, ho costatato che in fase di importazione vengono mostrati solo i primi 25 record, mentre una volta finita questa fase vengono importate tutti e 66. 

  • Re: Problemi importazione file Excel

    25/08/2023 - Dany30 ha scritto:


    il vincolo di integrità referenziale non mi consentiva l' importazione dei dati nel database, quindi ho provato a toglierlo ed inserire i dati e tutto ha funzionato perfettamente. 

    Quindi delle due, una: o l'integrità referenziale non serviva o carichi dati che hanno una chiave esterna senza che ci sia un record della tabella “lato 1”. Ma se hai risolto così… ci fidiamo.

  • Re: Problemi importazione file Excel

    Tasto destro?

    Ok, e record orfani?

    Avrai pensato di implementare l'inserimento lato 1 suppongo.

    Cioè filtri per lato1 (fk) null e provvedi all'inserimento?

    Chiedo per un amico.

  • Re: Problemi importazione file Excel

    Tratto da microsoft

    Quando si utilizza l'integrità referenziale, si applicano le regole seguenti:

    Non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esiste nella chiave primaria della tabella primaria. Tuttavia, è possibile immettere un valore Null nella chiave esterna. Ciò specifica che i record non sono correlati. Ad esempio, non è possibile avere un ordine assegnato a un cliente che non esiste. Tuttavia, è possibile avere un ordine assegnato a nessuno immettendo un valore Null nel campo ID Cliente.

  • Re: Problemi importazione file Excel

    26/08/2023 - Philcattivocarattere ha scritto:


    25/08/2023 - Dany30 ha scritto:


    il vincolo di integrità referenziale non mi consentiva l' importazione dei dati nel database, quindi ho provato a toglierlo ed inserire i dati e tutto ha funzionato perfettamente. 

    Quindi delle due, una: o l'integrità referenziale non serviva o carichi dati che hanno una chiave esterna senza che ci sia un record della tabella “lato 1”. Ma se hai risolto così… ci fidiamo.

    26/08/2023 - sihsandrea ha scritto:


    Tasto destro?

    Ok, e record orfani?

    Avrai pensato di implementare l'inserimento lato 1 suppongo.

    Cioè filtri per lato1 (fk) null e provvedi all'inserimento?

    Chiedo per un amico.

    Infatti, a tal proposito mi stava venendo un dubbio: perchè il vincolo di integrità referenziale dovrebbe essere un problema, se ho controllato che tutti i valori della FK coincidono  con i valori della PK della tabella lato 1?

  • Re: Problemi importazione file Excel

    26/08/2023 - Dany30 ha scritto:


    perchè il vincolo di integrità referenziale dovrebbe essere un problema

    Eh, non lo so, diccelo tu, visto che il problema di importazione si è risolto togliendo l'integrità referenziale. Solo tu hai sotto mano i dati che contiene il file xls e la struttura della/e tabella/e coinvolta/e.

  • Re: Problemi importazione file Excel

    26/08/2023 - Dany30 ha scritto:


    Infatti, a tal proposito mi stava venendo un dubbio: perchè il vincolo di integrità referenziale dovrebbe essere un problema, se ho controllato che tutti i valori della FK coincidono  con i valori della PK della tabella lato 1?

    Coincidono perché i valori pk e fk coincidono ma non è garantito che tutte le relazioni siano corrette.

    Una tabella può avere più relazioni e più di una integrità referenziale. Magari importa perché hai tolto un'altra integrità referenziale che ha la tabella, non quella che stai importando.

    Per fare un banale esempio

    Fatture: id pk, idcliente fk referenziata, idordine fk, iddestinazione fk ref, idvettore fk ref, ecc… tu stai verificando che id cliente sia corretto ma stai trascurando che id ordine non è integro (o destinazione o vettore o altro). Magari importi ordine 1991773737373 che non esiste, ed eliminando l'integrità referenziale passa comunque.

    Ma per darti una risposta precisa, poiché la magica sfera di cristallo non esiste, bisogna capire come sono strutturate le tabelle.

  • Re: Problemi importazione file Excel

    Ciao.

    Scusatemi se non sono stato tempestivo nel rispondervi, ma ero molto impegnato…

    26/08/2023 - sihsandrea ha scritto:


    Coincidono perché i valori pk e fk coincidono ma non è garantito che tutte le relazioni siano corrette.

    Una tabella può avere più relazioni e più di una integrità referenziale. Magari importa perché hai tolto un'altra integrità referenziale che ha la tabella, non quella che stai importando.

    Il mio database si compone di 2 tabelle: Prodotti e categorie. La relazione che le unisce è Prodotti N:1 Categorie

    (un prodotto appartiene ad una sola categoria, mentre una categoria può appartenere ad uno o più prodotti), pertanto nella tabella prodotti ho solo una sola FK e quindi non possono esserci problemi di violazione a ulteriori  viconcoli di integrità referenziali. 

    26/08/2023 - Philcattivocarattere ha scritto:


    Eh, non lo so, diccelo tu, visto che il problema di importazione si è risolto togliendo l'integrità referenziale. Solo tu hai sotto mano i dati che contiene il file xls e la struttura della/e tabella/e coinvolta/e.

    Si temo di essere stato troppo superficiale nell' esposizione del problema, pertanto ora vi allego la tabella categorie con i dati in essa contenuti e tutti i dati del file Excel che sto tentando di importare. Inoltre, l' ultima immagine mostra il messaggio di informazione che mi viene segnalato nel momento in cui finisco di seguire tutti i passaggi utili per l' importazione di un file Excel in Access (tipi che coincidono, definizione della pk e fk ecc..)

    Dato che il database segue 2 menù che vengono alternati rispettivamente nella settimana 1 e 3 ( prima e terza settimana del mese) e nella settimana 2 e 4 ( seconda e quarta settimana del mese), i campi settimana_1_3 e settimana_2_4 consentono di sapere se quel determinato prodotto servirà nella settimana 1 oppure nella 3 e analogamente nella settimana 2 e 4, attraverso dei valori numerici 0 e 1 che saranno a loro volta tradotti rispettivamente in falso e vero.


    Questo è il messaggio di informazione che mi viene rilasciato alla fine dell' importazione del file Excel: 

    Semplicemente non mi è concesso sovrascrivere la tabella Prodotti e non vengono aggiunte informazioni aggiuntive. 

  • Re: Problemi importazione file Excel

    Scusa hai detto che togliendo l'integrità funziona…

    Ora hai un altro problema?

    30/08/2023 - Dany30 ha scritto:



    Questo è il messaggio di informazione che mi viene rilasciato alla fine dell' importazione del file Excel: 

    Semplicemente non mi è concesso sovrascrivere la tabella Prodotti e non vengono aggiunte informazioni aggiuntive. 

    sempre a cappella e senza vedere il cruscotto delle tabelle, quando importi o sovrascrivi dati in tabella devi considerare sempre nell'ordine:

    1. duplicati di chiavi primarie
    2. campi relazionati
    3. natura dei campi che vai a scrivere o sovrascrivere.

    banalmente, la data 2003-08-30 genera o potrebbe un errore se la importi come testo del tipo 30/08/23

    di solito va bene da db a xls non il contrario.

    potresti creare una tabella di import con tutti i campi delle colonne del file xls (occhio alla formattazione del file xls tipo unione di celle) in formato testo e poi da codice inserire, se necessario, i nuovi valori opportunamente convertiti al tipo di campo della tabella.

    in altri termini:

    hai una tabella import sempre vuota in modo da non creare duplicati di indice

    tramite query o codice controlli il primo record della tabella import

    cerchi il record dalla tabella prodotti

    modifichi o inserisci il record

    elimini il record da import (o vai al successivo record)

    rifai i passaggi finchè non sei all'ultimo record (o la tabella import e' vuota se man mano cancelli il record da import)

    alla fine, se hai scelto l'opzione record successivo, svuoti la tabella import.

    perdi un'oretta per il codice ma poi all'esecuzione vai alla velocità della luce (o del vetusto pc) e sei sicuro di cosa e come importti i dati.

    questo è il modo piu' sicuro per importare un file xls.

    in questo modo puoi prevedere il caso in cui ti inviano la scopa pippo che tu non hai tra i prodotti.

    in questa situazione blocchi l'import chiedendo all'utente;

    haooo! mo a sta scopa che caspita di caegoria glie metto?

    e apri la tabella di scelta categorie con la possibilità di inserire una nuova categoria…

    saluti!

Devi accedere o registrarti per scrivere nel forum
12 risposte