+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Problema importazione numero decimale da file .csv in tabella access

  1. #1
    pierovb non  in linea Scolaretto
    Post
    356
    Like Inviati  
    0
    Like Ricevuti  
    0
    Buonasera a tutti,
    dopo un problemino di salute ho ripreso un progetto del quale avevo postato settimana scorsa un quesito su un campo della query di importazione di un file csv, poi risolto.
    Il problema che mi si ripresenta ora, che pongo alla vostra attenzione, riferito a due numeri decimali presenti nel file ( ad esempio 1961.828) che nella tabella access, in un campo testo, vengono riportati senza il segno decimale.
    sSQL = " INSERT INTO [t_CD34] ([Id],[Nominativo],[Data],[Ora],[Operatore],[rCD34],[vCD34]) "
    sSQL = sSQL & " SELECT [Sample Name],[Sample Id],Mid([Date Analyzed], 1, 10),Mid([Date Analyzed], 11, 6), "
    sSQL = sSQL & " [Reviewer Name], [BD Stem Cell + 7AAD CD34+ Viable Abs Cnt (cells/µl)],"
    sSQL = sSQL & " [BD Stem Cell + 7AAD CD34 Viability (%)] "
    sSQL = sSQL & " FROM [TEXT;HDR=YES;DATABASE=" & App.path & "\].Lavoro1.csv"
    


    Ho provato ad usare la funzione Replace per recuperare il numero decimale anche se espresso come testo in questo modo

    'sSQL = " INSERT INTO [t_CD34] ([Id],[Nominativo],[Data],[Ora],[Operatore],[rCD34],[vCD34]) "
    'sSQL = sSQL & " SELECT [Sample Name],[Sample Id],Mid([Date Analyzed], 1, 10),Mid([Date Analyzed], 11, 6), "
    'sSQL = sSQL & " [Reviewer Name],Replace([BD Stem Cell + 7AAD CD34+ Viable Abs Cnt (cells/µl)],'.',','),"
    'sSQL = sSQL & " replace([BD Stem Cell + 7AAD CD34 Viability (%)],'.',',')"
     FROM [TEXT;HDR=YES;DATABASE=" & App.path & "\].Lavoro1.csv"
    
    ma solleva l'errore

    " Funzione Replace non definita nell'espressione."

    Se provo a scriverla con i doppi apici va subito in errore fermandosi sul punto (.)

    Ho provato a cambiare il tipo di campo, ma niente.


    Vi chiedo un aiuto per risolvere il problema.
    Grazie

    p.s.
    Ho ritenuto opportuno non riesumare il vecchio post, spero di aver fatto bene

  2. #2
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,503
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Mi sa che, prima di importare, dovrai cambiare le impostazioni di Windows relative al "Formato dei numeri" da Italiano ad Inglese.

    E poi lo metti a posto.
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    pierovb non  in linea Scolaretto
    Post
    356
    Like Inviati  
    0
    Like Ricevuti  
    0
    Infatti.
    Ho chiamato al laboratorio e sul computer c' Window 10 in......inglese.
    I dati sono salvati nel formato testo, ma va bene comunque in quanto rappresentano i risultati dell'analisi
    e in ogni caso posso sempre modificarli.
    Sempre grato

  4. #4
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,503
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Puoi sempre evitare l'importazione con una sola INSERT in automatico e scrivere il codice che legga il csv riga per riga, la modifichi dove ti serve e fai la singola INSERT in un ciclo.

    Non sono tante linee e funzionerebbe ugualmente bene.
    ℹ️ Leggi di pi su AntonioG ...

  5. #5
    pierovb non  in linea Scolaretto
    Post
    356
    Like Inviati  
    0
    Like Ricevuti  
    0
    No va bene cos, in genere sono 5/6 test per una decina di pazienti al giorno. Poi una volta che ho i dati nella tabella li posso modificare come meglio credo.
    In pratica il tutto nato per la stampa di un listato e di un report dei test eseguiti, che possono effettuare con i file csv, ma preferiscono gestire tutto tramite un programmino dedicato.

  6. #6
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,503
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Ok nn ho capito dalla tua risposta se vuoi scrivere il tuo codice per leggere il csv o no
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    pierovb non  in linea Scolaretto
    Post
    356
    Like Inviati  
    0
    Like Ricevuti  
    0
    Scusami, quando scrivo dal cellulare mi impallo facilmente.
    Importo il file csv dentro una tabella di access, dalla quale poi sviluppo un semplice programma per archiviare, stampare report e listati e fare una statistica.
    In pratica i dati in formato csv li elabora un analizzatore che li scarica su un computer interfacciato.
    Gli utenti possono stampare un report elaborato con i dati del file csv, ma preferiscono avere qualcosa in pi per gestire i dati dei test.
    Tutto qui. Spero di essere stato chiaro.
    Ciao e ancora grazie.

  8. #8
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,503
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Io ti avevo detto un'altra cosa.

    Ti avevo suggerito di scrivere del codice apposito per leggere il csv al posto di quello che hai scritto tu e che non avrebbe i limiti del punto decimale potendo sfruttare la regolare. Ma lasciamo perdere
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Importazione file .csv in tabella access
    Da pierovb nel forum Visual Basic 6
    Risposte: 25
    Ultimo Post: 09-12-2020, 16:29
  2. Importazione file .csv in tabella Access
    Da pierovb nel forum Visual Basic 6
    Risposte: 16
    Ultimo Post: 06-06-2018, 11:35
  3. Risposte: 1
    Ultimo Post: 26-11-2016, 04:26
  4. Risposte: 3
    Ultimo Post: 29-10-2013, 08:10
  5. Risposte: 1
    Ultimo Post: 01-02-2007, 19:36