INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

di il
10 risposte

INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

Buon giorno a tutti/e voi.
grazie per avermi accolto, tra voi. Inizio con una domanda .... intrigante : avendo un file testo di 1000 linee, in cui, in una riga, vi è , sempre nello stesso posto, una stringa di caratteri relativa una data es : ....27061980......, come faccio, senza riscriverla , ad inserirla in un campo data della mia tabella di ACCESS ? finora, mi sto avvalendo (ovviamente) di Excel, dopo aver creato un foglio dati di "appoggio" (e gia' di tempo ne ho risparmiato) .... pero' ..... una cosa piu' diretta, non c'e' , secondo voi ??? Grazie per l'aiuto.

10 Risposte

  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Leggi qui per una importazione generale in Access da txt
    https://www.mrw.it/database/importare-dati-database-access-file-testo_6857.html
    ...poi, secondo me, se imposti correttamente il campo di Access in tipo Data/Ora con il formato "Data in cifre", dovrebbe accettarlo direttamente.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Ovvero, se ho capito bene, è possibile importare in un campo DATA, con formato "data in cifre", una stringa di 8 caratteri di testo che contiene ggmmaaaa.
    GRAZIE. PROVO ... A DOPO.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Ti sto suggerendo "data in cifre" perchè mi sembra il più vicino/coerente alla stringa 27061980.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Grazie comunque del suggerimento, ma è senza risultato : l'inserimento dei dati, dal file testo, non si verifica.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Ho fatto un test inserendo i dati 27061980 in un campo testo. Poi ho provato a modificare il tipo di campo da Testo in Data/Ora. Mi invia un messaggio di errore, impedendomi di trasformarlo. A questo punto credo occorra sfruttare qualche espressione sulle stringhe e fare in modo di inserire gli slash e giocarsi qualche formato di tipo Data...questa cosa da farsi con qualche query di aggiornamento, oppure con del codice VBA...al momento mi trovi un po' impreparato...caso mai attendi una risposta più esperta.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Prova questa soluzione:
    1. Il campo che deve ospitare la stringa 27061980 deve essere di tipo Testo breve con le proprietà:
    Dimensione campo: 10
    Maschera di input: 00/00/0000;0;_
    2. Dopo aver effettuato il passaggio da txt nel campo testo, in visualizzazione struttura tabella puoi modificare il campo da tipo Testo breve in Data/Ora...direi con il formato "Data in cifre".
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    C'e' una cosa che mi da da pensare in Excel, sfrutti i comandi stringa "a piena potenza" e scindi la stringa degli 8 caratteri.txt della data per riempire 3 colonne con 2 (giorno) , 2 (mese) e 4 (anno). Dopodiche' da quelle tre colonne, con la funzione =DATA ottieni in una colonna, la data nel formato accettato da Access. Poco importa se siano 10 o 10.000 righe. Invece, in ACCESS, non trovo questa stessa facilità. Certo, la tua idea è interessante, ma il numero di passaggi, da fare, incomincia a diventare eccessivo. Forse, chi ha creato Access, non ha previsto questa necessita' di impiego, laggiu' in quel di Richmond.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    IH870TIGI ha scritto:


    sfrutti i comandi stringa "a piena potenza" e scindi la stringa degli 8 caratteri.txt della data
    Se riesci a manipolare le stringhe da txt alla fonte, meglio ancora.

    IH870TIGI ha scritto:


    Forse, chi ha creato Access, non ha previsto questa necessita' di impiego, laggiu' in quel di Richmond.
    È già tanto che sia possibile trasportare da un'applicazione a un'altra.
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Vero ! del resto, uno degli scopi dell'informatica è quello occuparsi del flusso di informazioni. Ora : ripensiamoci un momento.
    Excel, come abbiamo visto lo consente con molta facilità, come è noto. Ora, stamane, rileggendo ACCESS 2007 di M.R.Groh et alii (Hoepli Informatica, 2012), a pag. 527, mi hanno colpito le parole "quando si importano file di testo contenti dati di tipo data, occorre che i dati siano opportunamente strutturati come un separatore tra giorno, mese, anno, altrimenti Access genera un errore (come in effetti ho constatato !!! ) . Il bello è quel che viene adesso, sempre a pag 527 : "Quando si esportano campi data il separatore non è indispensabile". IN ALTRE PAROLE : QUESTO E' IL VERO PROBLEMA : LA CREAZIONE DI UNA SPECIFICA DI IMPORTAZIONE DEI DATI. GIUSTO ? Allora, mi faccio un caffe' e dato che occorre partire da qui, mi sono poi creato, una tabella in access, con un semplice campo data , di 721 date (da una tabella esistente), con una query di creazione tabella (giusto per focalizzare bene il discorso specifiche importazione ed esportazione). Ho esportato in file txt le 721 date, e poi, mi sono creato una specifica di importazione in cui ho specificato che il testo aveva formato data con lunghezza 10 caratteri (cioe', come avrete gia' capito, 8 di data gg-mm-aaaa e 2 di separatori tipo /) . Ad importazione avvenuta, ho aperto la nuova tabella, nata dal'importazione, ed ho notato che il campo attivazione era ancora di tipo testo, ma con i separatori. Allora, sono andato in struttura e l'ho ridefinito come campo Data/ora. Premo il tasto invio, aspettandomi un errore ... ma stavolta va!! . E' un tipico campo data, in tutti i sensi e pienamente efficace e sul quale posso operare con altre query che mi servono. Ecco, ve l'ho voluto dire, perchè penso che vi possa esser utile (non si sa mai cosa ti possano andare a chiedere la sera del 24 dicembre alle 23,30, dalla Direzione Aziendale, in tema di dati, verooo ???). Fatemi sapere che ne pensate di questa mio test. Grazie
  • Re: INSERIRE UNA STRINGA DI 8 CARATTERI (ES. 27061980) in un campo data di una tabella.

    Scusa ma tu fai "Importa" "File di testo" per la tabella che ti interessa?

    Per il campo stringa (della data) a lunghezza fissa, su Avanzate, hai eliminato il separatore "/" in modo che non ce ne sia nessuno?

    A questo punto, funziona e basta.
Devi accedere o registrarti per scrivere nel forum
10 risposte