Newsgroup: it.comp.appl.access
Titolo: Importare da Excel

Ciao amici,
sono un neofita di access e vorrei capirne qualcosa di piu'.
Ho da postarVi questo quesito: periodicamente mi arrivano delle liste con i
campi nome cognome e nota.
Effettuare una importazione da excel è semplice, la cosa pero' ke nn riesco
a fare è questa: se mi ricapita la stessa persona (quindi campi nome e
cognome già inseriti) e presenta delle modifiche o delle aggiunte, come
faccio a far modificare i campi già esistenti senza far creare un nuovo
record?
Se non sono stato chiaro vi chiedo di precisarlo.
Grazie cari.

 ha scritto nel messaggio
news:apHc9.41435$ub2.6...@news1.tin.it...

Importa tutto su di una tabella di appoggio e poi gestisci i cambiamenti con
una query di aggiornamento sulla tabella reale e gestisci le aggiunte di
nuovi nomi con una query di accodamento.
Dovrai creare una chiave primaria basata su almeno due campi: Cognome e Nome
in tutte e due le tabelle.
Certo anche con questo accorgimento non potrai evitare gli errori in caso di
omonimie. In questo caso ti servirebbe un campo in più tipo DataNascita.
Ciao, Carlo

 record?
    Cio' che effettivamente intendi fare non e' un'unica operazione. Questi
i passi che descrivi:
         1. accodamento dei nuovi nominativi e relativa nota;
         2. aggiornamento della nota dei nominativi esistenti.
    In pratica:
        1. ----------------------------------------
        Query "tabExcel Lista nuovi nominativi":
        SELECT
            tabExcel.Cognome AS Cognome
          , tabExcel.Nome AS Nome
          , tabExcel.Nota AS Nota
        FROM
            tabExcel
            LEFT JOIN
            tabAccess
            ON
                (tabExcel.Cognome = tabAccess.Cognome)
                AND
                (tabExcel.Nome = tabAccess.Nome)
        WHERE
            (tabAccess.Cognome Is Null)
            AND
            (tabAccess.Nome Is Null)
        ;
        Query "tabAccess Accoda nuovi nominativi":
        INSERT INTO
            tabAccess ( Cognome, Nome, Nota )
        SELECT
            [tabExcel Lista nuovi nominativi].Cognome
          , [tabExcel Lista nuovi nominativi].Nome
          , [tabExcel Lista nuovi nominativi].Nota
        FROM
            [tabExcel Lista nuovi nominativi]
        ;
        2. ----------------------------------------
        Query "tabExcel Lista Note modificate":
        SELECT
            tabExcel.Cognome AS Cognome
          , tabExcel.Nome AS Nome
          , tabExcel.Nota AS Nota
        FROM
            tabExcel, tabAccess
        WHERE
            (tabExcel.Cognome=tabAccess.Cognome)
            AND
            (tabExcel.Nome=tabAccess.Nome)
            AND
            (tabExcel.Nota<>tabAccess.Nota)
        ;
        Query "tabAccess Aggiorna Note":
        UPDATE
            tabAccess
          , [tabExcel Lista Note modificate]
        SET
            tabAccess.Nota
            =
            [tabExcel Lista Note modificate].[Nota]
        WHERE
            (
                [tabExcel Lista Note modificate].Cognome
                =
                [tabAccess].[Cognome]
            )
            AND
            (
                [tabExcel Lista Note modificate].Nome
                =
                [tabAccess].[Nome]
            )
        ;
    Ti bastera' quindi eseguire le query:
        "tabAccess Accoda nuovi nominativi"
        "tabAccess Aggiorna Note"
per effettuare l'importazione.
    Le altre due query puoi eseguirle per ispezionare i dati prima
dell'effettivo aggiornamento.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:al0leo$1lvnjm$2...@ID-52090.news.dfncis.de...


 faro' tesoro dei Vostri suggerimenti,
Fai tesoro anche dei suggerimenti sul modo di postare e cioč scrivendo DOPO
il quoting e tagliando le parti non importanti. Su un tuo reply di
ringraziamenti hai lasciato tutto il msg!!!
Antonio