Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Demiste
    Registrato dal
    May 2001
    Messaggi
    188

    Importare un txt in access

    Sto importando un txt in access ma mi si sono presentati dei problemini, che non riesco a risolvere, premettendo che sto seguendo un tracciato record per eseguire l'import la prima domanda è:

    - E'possibile definire un campo numerico e poi inserire un record con degli zeri davanti, perchè una volta importati i dati e apro la tabella gli zeri vengono cancellati.

    - E' possibile definire una lunghezza specifica del campo numerico così come si fà per un campo stringa.

    - Nel caso importo una data che nel file txt mi viene passata come testo è possibile trasformala in un campo data/ora, perchè mettendo come campo data/ora a quel punto l'importazione mi dà errore

    Spero di essermi spiegato e che qualcuno mi sappia dare delle risposte, perchè ci sto sbattendo la testa da diverse ore ma non riesco ad uscirne.
    E'dura la vita in pianura

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Importare un txt in access

    Originariamente inviato da Demiste
    - E'possibile definire un campo numerico e poi inserire un record con degli zeri davanti, perchè una volta importati i dati e apro la tabella gli zeri vengono cancellati.
    Gli zeri davanti non hanno senso in un campo di tipo numerico, un dati di questo tipo, nel database, dev'essere gestito per forza come stringa. Per la visualizzazione a video invece puoi fare quello che ti pare.
    Originariamente inviato da Demiste
    - E' possibile definire una lunghezza specifica del campo numerico così come si fà per un campo stringa.
    I campi numerici in Access non vengono memorizzati in modo posizionale (1 byte a cifra) ma come Integer, Long, ecc...
    Originariamente inviato da Demiste
    - Nel caso importo una data che nel file txt mi viene passata come testo è possibile trasformala in un campo data/ora, perchè mettendo come campo data/ora a quel punto l'importazione mi dà errore
    Dovrai importare come testo e poi correggere a mano o scrivere il codice che gestisca gli errori; sarebbe meglio controllare la creazione del TXT in modo che produca un file che si importi senza problemi di formato data.

  3. #3
    Utente di HTML.it L'avatar di Demiste
    Registrato dal
    May 2001
    Messaggi
    188

    Re: Re: Importare un txt in access

    Originariamente inviato da longline
    Gli zeri davanti non hanno senso in un campo di tipo numerico, un dati di questo tipo, nel database, dev'essere gestito per forza come stringa. Per la visualizzazione a video invece puoi fare quello che ti pare.
    Ok!
    Originariamente inviato da longline
    I campi numerici in Access non vengono memorizzati in modo posizionale (1 byte a cifra) ma come Integer, Long, ecc...
    Ok!
    Originariamente inviato da longline
    Dovrai importare come testo e poi correggere a mano o scrivere il codice che gestisca gli errori; sarebbe meglio controllare la creazione del TXT in modo che produca un file che si importi senza problemi di formato data.
    I dati mi vengono passati così per cui non credo, per lo meno per ora, di potere ricevere txt differente, esludendo la correzione a mano cosa intendi Scrivere il codice che gestisca gli errori?
    E'dura la vita in pianura

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Re: Re: Importare un txt in access

    Originariamente inviato da Demiste
    Ok! (1)
    Mi sono spiegato un po' male. Penso che tu abbia capito, ma lo ripeto con maggior dettaglio.
    Metodo 1: importi come stringa i valori tipo 00012, 00346, ecc...
    Metodo 2: importi come Long e poi, a video metti davanti al numero tanti zeri quanti te ne servono.
    Originariamente inviato da Demiste
    I dati mi vengono passati così per cui non credo, per lo meno per ora, di potere ricevere txt differente, esludendo la correzione a mano cosa intendi Scrivere il codice che gestisca gli errori?
    Significa che devi scrivere un codice che, qualsiasi schifezza ci sia scritta, lui riesca a convertirlo in una data. Un lavoraccio.

  5. #5
    Utente di HTML.it L'avatar di Demiste
    Registrato dal
    May 2001
    Messaggi
    188

    Re: Re: Re: Re: Importare un txt in access

    Originariamente inviato da longline
    Mi sono spiegato un po' male. Penso che tu abbia capito, ma lo ripeto con maggior dettaglio.
    Metodo 1: importi come stringa i valori tipo 00012, 00346, ecc...
    Metodo 2: importi come Long e poi, a video metti davanti al numero tanti zeri quanti te ne servono.
    Ti ringrazio ma eri stato chiarissimo anche prima.
    Originariamente inviato da longline
    Significa che devi scrivere un codice che, qualsiasi schifezza ci sia scritta, lui riesca a convertirlo in una data. Un lavoraccio.
    Però visto che la data mi arriva già in formato aaaammgg ma come testo speravo che cambiare semplicemente tipo di campo andasse comunque bene, in fin dei conti quando io esporto i dati tramite txt tutti i dati volendo possono diventare stringa, non so se mi sono spiegato
    E'dura la vita in pianura

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Re: Re: Re: Re: Importare un txt in access

    Originariamente inviato da Demiste
    Ti ringrazio ma eri stato chiarissimo anche prima.

    Però visto che la data mi arriva già in formato aaaammgg ma come testo speravo che cambiare semplicemente tipo di campo andasse comunque bene, in fin dei conti quando io esporto i dati tramite txt tutti i dati volendo possono diventare stringa, non so se mi sono spiegato
    Prego

    Per quanto riguarda la data, se è in formato aaaammgg non hai troppi problemi: credevo che quando parlavi di problemi nell'importazione parlassi di formati data diversi o sbagliati (ad esempio in un file in cui le date vengono inserite a mano).

    Nel caso in cui ti trovi io importerei la data come testo in un campo chiamato ad es. DataTesto, poi creerei una query che mi travasa i dati di DataTesto in un campo Data vero e proprio in questo modo:

    Data = CDate("#" & Mid(DataTesto,7,2) & "/" & Mid(DataTesto,5,2) & "/" & Mid(DataTesto,1,4) & "#")

  7. #7
    Utente di HTML.it L'avatar di Demiste
    Registrato dal
    May 2001
    Messaggi
    188

    Re: Re: Re: Re: Re: Re: Importare un txt in access

    Originariamente inviato da longline
    Nel caso in cui ti trovi io importerei la data come testo in un campo chiamato ad es. DataTesto, poi creerei una query che mi travasa i dati di DataTesto in un campo Data vero e proprio in questo modo:

    Data = CDate("#" & Mid(DataTesto,7,2) & "/" & Mid(DataTesto,5,2) & "/" & Mid(DataTesto,1,4) & "#")
    Cioè devo fare una query di aggiornamento? E se si la condizione che mi hai atto vedere te dove ti costruisci la data la devo inserire nell INSERT TO? Ho sto prendendo un granchio
    E'dura la vita in pianura

  8. #8
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Ci sei!
    L'unica appunto che ti faccio è che ti conviene fare una query di creazione tabella, visto che il tuo txt genererà una tabella che non presenta il campo Data finale. Devi fare una query che generi una tabella che non abbia il campo DataTesto ma il campo Data, popolato dai dati elaborati dall'espressione che ho postato.
    Ti torna?

  9. #9
    Utente di HTML.it L'avatar di Demiste
    Registrato dal
    May 2001
    Messaggi
    188
    No no ci sono, o megliolato teoria si ma lato pratico concreto la query mi da errore, innanzi tutto com l'ho fatta io mi chiede, dal momento che lancio la query di inserire le due date, poi una vola inserite me le ripropone nel formato txt.

    Ti faccio vedere la query:

    codice:
    SELECT DataTesto.Id,DataTesto.Nome,DataTesto.CDate("#" & Mid(DataTesto,7,2) & "/" & Mid(DataTesto,5,2) & "/" & Mid(DataTesto,1,4) & "#") FROM DataTesto;
    E'dura la vita in pianura

  10. #10
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Posta i nomi dei campi della tabella ottenuta dall'importazione del TXT.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.