Problema con importazione campi excel con #N/D

di il
4 risposte

Problema con importazione campi excel con #N/D

Ciao a tutti,
ho un problema nell'importazione in ACCESS di un file EXCEL. In alcuni campi di quest'ultimo c'è il valore #N/D derivante da precedenti elaborazioni. Quando vado a importare il file in ACCESS, nel momento in cui tocco questo campo va ovviamente in errore.
Esiste una funzione che mi permetta di testare questo campo (es. sesbagliato(campo)=boolean) o qualcosa di simile?
Grazie a chi potrà aiutarmi.
Silver

4 Risposte

  • Re: Problema con importazione campi excel con #N/D

    silver5656 ha scritto:


    ...In alcuni campi di quest'ultimo c'è il valore #N/D derivante da precedenti elaborazioni. Quando vado a importare il file in ACCESS, nel momento in cui tocco questo campo va ovviamente in errore.
    Hai già escluso l'intenzione di affrontare la cosa all'origine, cioè nel file di Excel, per un'importazione di dati puliti?
    Come fai l'importazione? La tabella è già presente in Access (anche se vuota, non importa) o viene creata di volta in volta dall'importazione? Sempre a livello di tabella Access che tipo di dati contiene quel campo?
  • Re: Problema con importazione campi excel con #N/D

    Non ho escluso l'ipotesi di intervenire sul file excel, ma lo produce il cliente e vorrei evitare che ci mettesse mano. Considererò questa ipotesi in ultima analisi.

    Di serguito un pezzo di codice che indica come importo:

    Workbooks.Open FileName:=INDIRIZZO
    Set DBCOrrente = CurrentDb
    Set Tabella = DBCOrrente.OpenRecordset("ImportiSospensioni")
    I = 2
    While Not IsNull(Worksheets("SOSE").Range("A" & I)) And Worksheets("SOSE").Range("A" & I) <> "" And Worksheets("SOSE").Range("A" & I) <> " "

    Tabella.AddNew
    Tabella.Fields("Duplicati") = Worksheets("SOSE").Range("A" & I)
    Tabella.Fields("Contratto") = Worksheets("SOSE").Range("B" & I)
    Tabella.Fields("Commodity") = Worksheets("SOSE").Range("C" & I)
    Tabella.Fields("Data_Ordine") = Worksheets("SOSE").Range("D" & I)
    Tabella.Fields("Importo") = Worksheets("SOSE").Range("E" & I)
    Tabella.Fields("Pod_Pdr") = Worksheets("SOSE").Range("F" & I)
    Tabella.Fields("Work_Order") = Worksheets("SOSE").Range("G" & I)
    .......

    il campo in grassetto contiene l'errore e ovviamente mi ferma. E' un campo text.
    Vorrei sapere come intercettarlo per non trasferirlo.
    Grazie
    Silver
  • Re: Problema con importazione campi excel con #N/D

    silver5656 ha scritto:


    
            Tabella.Fields("Work_Order") = Worksheets("SOSE").Range("G" & I)
    
    Vorrei sapere come intercettarlo per non trasferirlo.
    Sottoponi il valore del Range alla funzione IsError.
    Suggerisco di usare una variabile specifica a cui assegnare il Worksheet SOSE senza dover ogni volta dover andare a cercarlo nella collection Worksheets, insieme all'uso del blocco With/End With
  • Re: Problema con importazione campi excel con #N/D

    Grazie per la disponibilità. Seguirò anche il tuo consiglio per il valore di Woksheet SOSE.
    Grazie ancora
    Silver
Devi accedere o registrarti per scrivere nel forum
4 risposte