CopiaIncolla da excel...help - RISOLTO

di il
7 risposte

CopiaIncolla da excel...help - RISOLTO

Ciao a tutti,
ho cercato in giro ma non ho trovato soluzione e temo che ahimè potrebbe non esserci.
Sempificando, ho una tabella costituita da 13 campi: 1 di descrizione e 12 mesi.
Per popolare i 12 campi dei mesi vorrei utilizzare i dati contenuti in 12 celle di un foglio excel e per velocizzare il tutto vorrei potere copiare le 12 celle di excel ed incollarne il contenuto nei 12 campi della tabella in visualizzazione foglio dati.
Per quanto ho avuto modo di indagare, l'unica operazione possibile è quella di incollare il record intero ma a me così non serve.
Avete qualche suggerimento al riguardo?
grazie a tutti
ciao
fausto

7 Risposte

  • Re: CopiaIncolla da excel...help - RISOLTO

    Sei sicuro che le logiche delle 2 applicazioni (Excel e Access) siano analoghe? È vero che le colonne di Excel sono compatibili con le colonne di Access, ma osservando i tipi di campo che hai organizzato, dubito che funzioni alla stessa maniera in Access.
  • Re: CopiaIncolla da excel...help - RISOLTO

    Grazie Osvaldo per la pronta risposta,
    l'operazione è proprio banale ma a quanto vedo in giro probabilmente il foglio dati di access non è proprio interoperabile con un foglio di excel.
    L'operazione banale che intendo fare è copiare il contenuto delle celle B2:O1 all'interno di un record di una tabella di access costituita da 12 campi di tipo numerico ed 1 campo di tipo testo.
    Ma non posso importare tutto la riga di excel come un nuovo record.
    Sembra banale ma non ho trovato un modo per farlo. Forse con VBA ci potrebbe essere qualche possibilità in più ma temo che si tratterebbe di analizzare il contenuto di una stringa, suddividerlo in 12 stringhe e copiarne il contenuto nei 12 campi... mi sembra troppo macchinoso...
    Continuo a cercare una soluzione comunque.
    grazie ancora,
    ciao
    fausto
  • Re: CopiaIncolla da excel...help - RISOLTO

    fcasini ha scritto:


    l'operazione è proprio banale ma a quanto vedo in giro probabilmente il foglio dati di access non è proprio interoperabile con un foglio di excel
    In Access un "foglio dati" è molto di più di un "semplice foglio dati". È la visualizzazione di dati inclusi in un oggetto che si chiama TABELLA. Una tabella di Access ha molte proprietà e potenzialità che poi non hanno più nulla a che spartire con Excel.
  • Re: CopiaIncolla da excel...help - RISOLTO

    OsvaldoLaviosa ha scritto:


    fcasini ha scritto:


    l'operazione è proprio banale ma a quanto vedo in giro probabilmente il foglio dati di access non è proprio interoperabile con un foglio di excel
    In Access un "foglio dati" è molto di più di un "semplice foglio dati". È la visualizzazione di dati inclusi in un oggetto che si chiama TABELLA. Una tabella di Access ha molte proprietà e potenzialità che poi non hanno più nulla a che spartire con Excel.
    si capisco, il foglio dati di access è solo una modalità di visualizzazione di una tabella però mi sarei aspettato, almeno all'interno dello stesso pacchetto di office una maggiore interazione tra oggetti. In fondo questa feature già esiste in oracle da tempo immemore. io quotidianamente popolo una visualizzazione stile foglio dati di una tabella di oracle utilizzando il copia&incolla da un foglio excel.
    Se non trovo una soluzione, per memorizzare i 12 mesi che mi servono e non potendo copiare l'intero record devo necessariamente ricorrere al copia&incolla tra due fogli excel, poi alla importazione del foglio excel di upload e infine una query di aggiornamento...ma è un passaggio che mi sarei evitato volentieri.
    grazie comunque
    ciao
  • Re: CopiaIncolla da excel...help - RISOLTO

    Non confondere 2 concetti ben diversi.
    1) Il copia/incolla o importa da Excel verso Access è una operazione molto compatibile. Esiste una apposita procedura guidata che individua le colonne di Excel e le va a piazzare in Access. In questo il pacchetto Office c'ha visto giusto. Poi però bisogna riscontrare la fondatezza di una operazione del genere.
    2) La mia obiezione nasce dal fatto che in una tabella di Access non ha alcun senso avere, da un punto di vista SIGNIFICATIVO (1 colonna Descrizione OK), 12 colonne mesi.
    Prima di creare una tabella in Access devi domandarti a cosa serve e individuare valori di campi omogenei. In Access una colonna rappresenta un CAMPO.

    Per essere sicuri al 100% se stai sbagliando o no, ti chiedo:
    - A cosa serve questa tabella?
    - Quali valori vuoi memorizzare?
  • Re: CopiaIncolla da excel...help - RISOLTO

    Ciao Osvaldo, perdonami un pizzico di presunzione ma access lo conosco abbastanza bene e lo utilizzo sin dalla sua prima uscita, quando office ancora non esisteva ed al posto dei dvd c'erano i floppy da 5,25 e da 3,5 quindi credimi, so bene cosa è una tabella e cos'è un campo.
    Dove lavoro ora si utilizza molto excel, che conosco molto meno, in quanto i sistemi aziendali che si basano su Oracle e Sap esportano i dati in formato xls o csv.
    Ora sto realizzando un db costituito al momento da circa 9 tabelle relazionate tra loro ed una di queste contiene un campo chiave, un campo che realizza il lato molti di una relazione e 12 campi numerici precisione singola al cui interno vengono memorizzati valori che vanno da 1 a decine di milioni con 2 decimali. Sono 12 e rappresentano i valori da memorizzare nei 12 mesi dell'anno. Sono circa 2500 record ogni anno. Non è praticabile utilizzare i mesi come intestazione riga.
    Ogni mese vengono modificati tutti e 12 i campi di circa 500 record con i dati provenienti da almeno 15 fogli excel diversi.
    Access li raggruppa tutti, effettua dei check, vari aggiornamenti ed infine restituisce una query per popolare una interfaccia di navigazione.
    Ora, collegare 15 fogli diversi e creare altrettante query non è possibile visto che il contenuto dei singoli fogli è molto diverso e sopratutto il contenuto non ha sempre la struttura classica di un foglio elettronico.
    La cosa più semplice che utilizzo al momento è quella di creare per ogni foglio excel una sequenza di 12 celle contigue (B1:O1) che utilizzo per popolare poi un unico file excel il quale a sua volta viene collegato ad un db access che, tramite una routine elimina i 500 record esistenti (nel db) e vi accoda i 500 nuovi (nel file excel collegato).
    Fermo restando che l'operazione sui 15 fogli excel deve comunque essere svolta, vorrei evitare il passaggio sul foglio excel, la pulizia della tabella esistente ed il nuovo accodamento dei record.
    Quindi, sto cercando un modo di:
    1) Selezionare il contenuto di 12 celle contigue di uno dei 15 fogli excel
    2) copiarlo negli appunti
    3) aprire la tabella del db relativa a quel foglio excel
    4) selezionare il primo campo del record che mi interessa
    5) Incollare il contenuto degli appunti nei 12 campi del record.

    Poi siccome l'ordine dei record rispecchia esattamente l'ordine degli stessi record nel foglio excel, sarebbe bello potere selezionare un'area del foglio excel (12 colonne per 5 righe) ed incollarle nei 12 campi dei 5 record del db.
    Ovviamente, mi ripeto, non posso accodare record, altrimenti non sarei qui a chiedere aiuto.
    Pensavo che essendo all'interno dello stesso pacchetto ed utilizzando lo stesso linguaggio, vi fosse una maggiore integrazione tra un foglio excel ed una tabella in modalità foglio dati ma credo che così non è.

    Quindi, sto cercando il modo di fare quando descritto ai punti 1-5, non altro.

    Spero, nonostante la lunghezza del post di essere stato più chiaro.
    a presto
    ciao
  • Re: CopiaIncolla da excel...help - RISOLTO

    Ciao,
    grazie al prezioso aiuto di un utente di un forum inglese ho trovato la soluzione al mio problema.
    In breve, volevo avere la possibilità di selezionare un0area di celle contigue all'interno di un foglio excel e copiarne il contenuto in una tabella in modalità di visualizzazione foglio dati.
    Il tutto per evitare di passare per una query di accodamento o di aggiornamento nel caso di pochi record o poche celle.
    In sostanza è importante che sia l'area del foglio di excel da cui copiare i dati e sia l'area della tabella su cui incollarli siano identiche in termini di colonne (campi) e righe (records).
    Dopodichè è sufficiente selezionare l'area dal foglio excel, poniamo C1:P5 (quindi 12 colonne per 5 righe) e "Copia".
    Aprire la tabella di access e posizionarsi sul bordo sinistro del primo campo su cui incollare (apparirà una croce bianca; a quel punto selezionare l'area - CHE RIPETO DEVE ESSERE SPECULARE ALL'AREA DEL FOGLIO EXCEL - e premere incolla…ed il gioco è fatto.

    In questo modo, quando ho pochi dati da trasferire da excel ad access e specialmente quando questi provengono da fogli diversi, ho un metodo svelto ed efficace.

    grazie a tutti
    ciao
    fausto
Devi accedere o registrarti per scrivere nel forum
7 risposte