Excel e gli applicativi Microsoft Office problema import excel-access

Login Registrati
Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #22114 Score: 0 | Risposta

    roberto21
    Partecipante
      4 pts

      Chiudiamo l'anno con un semplice problemino.

      Sto cercando di importare in access una tabella excel. Da Access, new source, excel, wb book1, sheet LibroSoci, nuova tabella Access. Su circa 1700 records, access segnala errore di conversione su 401 record, sul campo Data Ammissione, che è uno short date formato dd/mm/yyyy, e in quei record lascia il campo vuoto. Non sono riuscito a capire che cosa ci sia di diverso in questi 401 record rispetto agli altri.

      Allego estratto del file excel e immagine parziale della tabella ImportErrors di access (sono 401 record, fidatevi). Magari qualcuno ha l'occhio di lince e vede subito il problema.

      Auguri a tutti per un felice Anno nuovo

      Allegati:
      You must be logged in to view attached files.
      #22272 Score: 0 | Risposta

      DeletedUser
      Bloccato
        13 pts

        Per qualche strana ragione sembrache il campo Data cessazione abbia qualche problema.

        Prova così:

        1. da Excel salva il file su file di testo con tabulazione

        2. da Access esegui l'importazione da file testo

        3. apri la tabella in struttura e modifica su Data/Ora il campo Data cessazione

        BUONE FESTE

        #22278 Score: 0 | Risposta

        roberto21
        Partecipante
          4 pts

          Ciao, grazie per la risposta e l'attenzione. Ti descrivo altri misteri e come ho risolto la cosa (risolvere in questo caso non vuol dire aver capito). In sostanza, ho risolto senza capire che cosa non va a genio a Excel, il che mi lascia inquieto.

          Mistero 1. Selezionando la colonna Data ammissione, e cambiando il formato da Date a General, tutte le date (tranne le 401) appaiono come numeri: le 401 rimangono date. Tentativo di conclusione: quelle 401, pur sembrando date, non lo sono ma sono testo. 

          Mistero 2. Provo a trasformare tutte le date in testo, almeno per uniformare le cose. Scrivo quindi in ua colonna a parte:

          =TEXT(Tabella4[@[Data Ammissione];"dd/mm/yyyy")

          TUTTE le entries (incluse le 401) della colonna Data Ammissione danno errore #VALUE!, a prescindere quindi da quanto contenuto nella cella. la funzione è corretta, ci sono innumerevoli esempi su internet

           

          La disperazione spinge ad una ricerca su Internet. Il mio salvatore, non so chi nè come gli sia venuto in mente, suggerisce di provare  con text-to-column. Che ç@## !  c'entri non lo so, fatto sta che :

          seleziono la colonna Data ammissione;

          dal ribbon data prendo text-to-column

          nei dialoghi successivi, lascio Delimited e nessun carattere delimiter

          scelgo formato uscita date(dmy)

          Miracolosamente tutte le celle della colonna si trasformano (anche se non si vede) in date corrette, che vengono importate senza ulteriori errori.  

          Ho risolto, ma non ho capito. Lasciamo perdere o ci incaponiamo?

           

           

          #22301 Score: 0 | Risposta

          Oscar
          Partecipante
            32 pts

            Ciao Roberto , l'errore è nel file Excel Book 1 è la colonna data , se tu cambi il formato da data a generale vedi tutti gli errori , poi hai il riferimento nel database che ti dice il numero della riga che c'è l'errore

            #22325 Score: 0 | Risposta

            Oscar
            Partecipante
              32 pts

              Vedi il file allegato te l'ho corretto io , prova con questo e vedi 

              Allegati:
              You must be logged in to view attached files.
              #22327 Score: 0 | Risposta

              roberto21
              Partecipante
                4 pts

                Grazie Oscar, ma come vedi nel mio post precedente ci ero già arrivato, e conoscevo perfettamente le 401 righe che davano errore. Il problema è che non so tuttora che cosa ci sia in quelle celle, e comunque non riesco in alcun modo logico a trasformarle in date reali (modo logico intendo: seleziono la cella, e la formatto come short date. La cella non fa una piega, ma rimane quello che è, ossia ignota, anche se all'apparenza sembra una data). Anche il tentativo di trasformarle tutte in testo è fallito miseramente, e non mi spiego il motivo.

                Alla fine ci sono riuscito con l'inghippo indicato nel post, che comunque mi ha lasciato parecchi dubbi 

                Aggiungo solo che usando la tabella con l'applicazione vba excel (non access) no mi ha mai dato problemi.

                Grazie comunque e ciao

                #22330 Score: 0 | Risposta

                roberto21
                Partecipante
                  4 pts

                  Scusa, ho visto ora l'allegato. Vero, funziona. Come hai fatto a cambiare il formato? io, nel mio file originale, comunque non ci riesco: con General, quelle date non si convertono in numeri, ma rimangono dd/mm/yyyy, e anche cercandio di forzarle a date, non si spostano. Che sia la versione di Excel?? 

                  #22331 Score: 0 | Risposta

                  Oscar
                  Partecipante
                    32 pts

                    l'ho convertito con  CDate  

                     

                    Private Sub CommandButton1_Click()
                    For i = 2 To 1685
                    Cells(i, 4) = CDate(Cells(i, 4))
                    Next
                    End Sub

                    #22434 Score: 0 | Risposta

                    roberto21
                    Partecipante
                      4 pts

                      Chiudiamo questa storia. La soluzione di Oscar fa uso di VBA, ma la soluzione, confesso, è molto più banale. Fermo restando quanto notato nel mio post, l'errore che ricevevo nella funzione TEXT era dovuto al fatto che, nonostante io abbia excel impostato in inglese US, il formato data è comunque rimasto a gg/mm/aaaa, e non, come pensavo io, dd/mm/yyyy. Quindi,  

                      =TEXT([@[Data ammissione]];"gg/mm/aaaa")

                      ha funzionato su tutte le celle della colonna data ammissione, nessuna esclusa, anche sulle famose 401 (che, peraltro, ripeto, non cambiano in numero quando vengono riformattate a General e che quindi devono avere qualcosa di diverso). Riformattando la nuova colonna in Date, e riportandola come value sulla colonna originale, non ci sono più problemi. 

                      Grazie dell'attenzione

                      #22436 Score: 0 | Risposta

                      Oscar
                      Partecipante
                        32 pts

                        Ma e ovvio che se formatti  una cella in formato data con formula in formato TEXT il formato è "gg/mm/aaaa) , mentre con il VBA è "dd/mm/yyyy"  l'inglese qui non centra proprio nulla 

                        #22473 Score: 0 | Risposta

                        roberto21
                        Partecipante
                          4 pts

                          Dipende. L'inglese c'entra se il regional format viene messo a, per esempio, English world. In questo caso gg/mm/aaaa non funziona, mentre dd/mm/yyyy sì. Nel mio caso io, che sono un po' fuori, avevo sì Region a US, ma avevo lasciato regional setting a Italy, creando un casino di cui mi sono reso conto troppo tardi. Non si finisce mai di imparare.

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: problema import excel-access
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: