Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: importare dati ACCESS

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42

    importare dati ACCESS

    Ciao Ragazzi,

    Eccomi qui a rivolgermi nuovamente a voi...
    Devo importare in access, tramite una query o macro, dei dati da un foglio excel con questa formattazione:

    DATA/ORA ZONA VALORE
    01/01/2012 00:00 A 15
    01/01/2012 00:00 B 14
    01/01/2012 00:00 C 10
    01/01/2012 01:00 A 2
    01/01/2012 01:00 B 1
    01/01/2012 01:00 C 17

    La tabella access è già strutturata come sopra.

    Vorrei impostare come chiave primaria la data e l'ora in modo tale che non mi importi dati già presenti in quell'arco temporale. Come potrei fare? essendo data e ora correlata con la zona?

    grazie anticipatamente a chi risponde...

  2. #2
    essendo data e ora correlata con la zona?
    intendi che deve esserci un solo record per zona ad una determinata ora?
    Esempio
    ORA ZONA
    12:22 A
    12:22 B
    12:23 A

    Va bene?


    Se si devi impostare come chiave primaria sia la data che la zona.
    Per l'import in access da excel, c'è l'utility integrata importa dati

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42
    grazie mille! non credevo fosse possibile impostare due chiavi primarie...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42
    Ho provato a mettere la doppia chiave primaria ma non funziona... mi restituisce "modifiche non apportate perché provocherebbero valori duplicati nell'indice".

    Effettivamente ha ragione access perché appunto, come ho spiegato nel mio primo post, ci sono valori doppi.

    come posso fare per risolvere?

    grazie anticiparamente

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42
    niente non so proprio come fare... Vorrei programmare questo pulsante per l'importazione dei dati cosicchè, nella fase di importazione, vengono scartati automaticamente i datiche sono già presenti nel database... Come posso fare?

  6. #6
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Tralasciando per il momento il problema della doppia chiave

    Che metodo usi per importare i dati ???


    __________________________________________________ _____


    se fai un INSERT direttamente dal file di Exel alla tabella di Access

    puoi raggruppare durante il trasferimento


    __________________________________________________ ___


    Se usi altri metodi puoi
    __ Trasferire tutto con i doppioni in una tabella temporanea
    __ Fare in INSERT raggruppato dalla temporanea alla destinazione finale
    __ Svuotare ( o eliminare ) la temporanea

    __________________________________________________ _

    .

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42
    ciao,

    per importare i dati utilizzo il comando TransferSpreadsheet nel vba.

    Effettivamente mi hanno consigliato di utilizzare una tabella temporanea per importare i dati. Nella tabella dovrei realizzare un campo calcolato con i campi data/ora+zona, poi trasferire il tutto in una tabella definitiva in cui come chiave primaria c'è il risultato del campo calcolato. Cosi non dovrei avere "doppioni di dati" quando importo nuovi dati. Spero di riuscirci...

    cosa ne pensi?

  8. #8
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da sky998
    cosa ne pensi?
    a me il TransferSpreadsheet non piace.
    pertanto farei cosi:

    __________________________________________________ ____

    Immagina di avere una cartella
    con dentro un file di exel
    cpn le colonne cosi strutturate:
    A ___ Data
    B ___ Testo
    C ___ Numero

    Nella stessa cartella hai un file Access
    con la tabella "Tab"
    con questi Campi:
    DaOr ___ DataOra
    Zona ___ Testo
    Valo ____ Numerico
    _________Puo anche essere senza Key

    Nel file di Access ci fai un collegamento
    al file di Exel

    Clic Dx sul riquadro delle tabelle
    poi collega tabelle poi segui la procedura
    selezionando il tuo exel


    Dovresti arrivare a vedere nel file di Access il File di Exel
    chiamato "Foglio1" con dentro i campi F1, F2, F3,


    Poi fai una nuova query di INSERT con questo testo:
    codice:
    INSERT INTO 
    Tab ( DaOr, Zona, Valo )
    SELECT 
    Foglio1.F1, 
    Foglio1.F2, 
    Foglio1.F3
    FROM 
    Foglio1 
    LEFT JOIN 
    Tab 
    ON 
    (Foglio1.F2 = Tab.Zona) 
    AND 
    (Foglio1.F1 = Tab.DaOr)
    GROUP BY 
    Foglio1.F1, 
    Foglio1.F2, 
    Foglio1.F3, 
    IIf((Foglio1!F1 & Foglio1!F2)=(Tab!DaOr & Tab!Zona),"n","s")
    HAVING 
    (((IIf(([Foglio1]![F1] & [Foglio1]![F2])=([Tab]![DaOr] & [Tab]![Zona]),"n","s"))="s"))
    ;
    A questo punto al tuo pulsante gli fai aprire la query





    Facci sapere



    .

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    42
    però cosi ogni volta, quando devo aggiornare il database, dovrei copiare i nuovi dati nel file excel presente nella stessa cartella del file access, giusto?

  10. #10
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da sky998
    Devo importare in access, tramite una query o macro, dei dati da un foglio excel
    Certo, non è questo che volevi ?

    Diversamente significa che non ho capito niente

    __________________________________________________ ______________

    Se preferisci puoi usare il doppio inserimento
    ___ Scrivendo direttamente i dati nella tabella di Access
    ___ Usando il file di Excel

    __________________________________________________ ______________

    Piuttosto, ho notato un problema nella query di INSERT che ti ho proposto:

    __significa che ti scarta correttamente i "doppioni" con la tabella di Access


    __ma se fra i nuovi dati in Excell hai li dei "doppioni" ti vengono importati doppi <<<--

    __________________________________________________ ______________


    Non è grave bisogna solo perfezionare la query,

    facci sapere come procedi e se eventualmente
    vai in difficoltà per perfezionare la query



    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.