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

di Anonimizzato31726 il
10 risposte
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

  • 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.
  • Ti sto suggerendo "data in cifre" perchè mi sembra il più vicino/coerente alla stringa 27061980.
  • Grazie comunque del suggerimento, ma è senza risultato : l'inserimento dei dati, dal file testo, non si verifica.
  • 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.
  • 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".
  • 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.
  • 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.
  • 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
  • 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