Recupero calcolo data di nascita

di il
8 risposte

Recupero calcolo data di nascita

Buongiorno a tutti,

ho un quesito, ho importato in una tabella access, da un file di testo, un elenco di dati tra cui la data di nascita dei dipendenti.

ora il problema è che importandolo esce un dato di questo tipo (es. 300859) se provo a convertirlo in formato data diventa (21/09/2723)

qualcuno conosce un formula per farmi evitare di ridigitarli tutti dato che sono più di 470 numeri? oltre all' elevato rischio di sbagliare

grazie

8 Risposte

  • Re: Recupero calcolo data di nascita

    È una stringa di 6 caratteri gg mm aa?
  • Re: Recupero calcolo data di nascita

    Si ovviamente senza spazi ggmmaa
  • Re: Recupero calcolo data di nascita

    Avresti almeno un paio di soluzioni da mettere in atto, entrambe similari riguardo la "formattazione" di quel testo.
    A) Sfruttando una query e qualche funzione.
    B) Via codice VBA.

    Ragionando a piccoli passi:
    1. Fai un Replace tale che "dopo il 3° carattere" e "dopo il 5° carattere" ci metti uno "slash" (/)
    2. Poi ti consiglio di cambiare gli ultimi 2 caratteri, mettendo un ulteriore Replace dopo il secondo slash con "19"
    3. Quando sei certo che le date hanno il formato a te congeniale, puoi anche pensare di sostituire il campo da tipo "testo" a "data/ora".

    Prova anche a sfruttare la funzione Format
    https://support.office.com/it-it/article/funzione-format-6f29d87b-8761-408d-81d3-63b9cd842530
  • Re: Recupero calcolo data di nascita

    Se verifichi la tabella in cui importi i dati dal file di testo vedrai che il campo è numerici.
    Ti basta modificare il campo della tabella in Data.
    Se però l'operazione prevede cancellazione della tabella o creazione di tabella nuova devi impostare una specifica di importazione e definire quel campo come data.
    Quindi importi da codice appoggiandoti alla specifica salvata.
  • Re: Recupero calcolo data di nascita

    Ciao osvaldo, ho cercato ti fare la query che mi dicevi ma non avendola mai usata ho qualche problema:
    ho credato l' espressione Espr1: Replace([Data nascita];2;"/") ma mi trova il 2 e lo stotituisce ho provato a scrivere Espr1: Replace([Data nascita];##;"/") ma niente come faccio a dirgli "dopo il 3 carattere?

    Grazie
  • Re: Recupero calcolo data di nascita

    eternityck ha scritto:


    Ciao osvaldo, ho cercato ti fare la query che mi dicevi ma non avendola mai usata ho qualche problema:
    ho credato l' espressione Espr1: Replace([Data nascita];2;"/") ma mi trova il 2 e lo stotituisce ho provato a scrivere Espr1: Replace([Data nascita];##;"/") ma niente come faccio a dirgli "dopo il 3 carattere?

    Grazie
    Stai operando in modo errato non va bene questa soluzione, il campo ora è Numerico convertilo in data.
  • Re: Recupero calcolo data di nascita

    Lo ho convertito in data ma la data che mi esce è diversa.
    ho la tabella numerica con la data di nascita 300859 uindi è nato il 30 agosto 1959 quando la tabella metto come tipo di dato "Data/ora" nella tabella spunta 21/09/2723
  • Re: Recupero calcolo data di nascita

    Adesso ho capito... ho detto una cosa sbagliata.
    La cosa migliore tuttavia è di operare in modo intermedio... perché un campo in tabella di tipo Data devi averlo per non complicato le cose in seguito.
    Quindi importa in una tabella di appoggio, quindi usi una query di accodamento in cui ometti il campo Testo della tabella temporanea e generi un calcolato con le stringhe parziali...
    INSERT INTO table2 (column1, column2, column3, ...)
    SELECT column1, cdate(left(campodata,2),mid$(campo Data,3,2),right(campo Data,2) As column2,column3, column4, ...
    FROM table1
Devi accedere o registrarti per scrivere nel forum
8 risposte