Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464

    Importazione dati da foglio excel a db acces

    Salve a tutti, sono riuscito ad importare un foglio dati da excel ad access ma l'unica cosa che non mi torna � il formato della data.

    Nel foglio excel il campo della data � stato sia settato come semplice testo che come data ma il risultato non cambia, cio� nel db access la data viene importata ma non � quella esatta.

    Ad esempio da excel ho: 16-01-2017

    dopo l'importazione nel db access diventa: 07/07/1894

    Ho fatto tantissime prove modificando il formato della cella ma nulla da fare.

    Avete per cortesia qualche consiglio?
    Grazie in anticipo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La data la formatti tramite asp?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    La data la formatti tramite asp?
    Hai ragione, non la formattavo per niente.

    Ho trovato la funzione di un file include per altre date del sito ma neanche va, riporto i passaggi:

    ' qui leggo dal file excel
    strData = objRS("Data")

    'qui la formatterei con la funzione StrToData
    strData2 = StrToData(strData)

    'e poi inserisco
    strSQLInsert = strSQLInsert & ""& strData2 &","


    provo a stampare a video e vediamo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    scusa queste le funzioni

    Function DataToStr(Data)
    Anno = CStr(Year(Data))
    Mese = CStr(Month(Data))
    If Len(Mese) = 1 Then
    Mese = "0" & Mese
    End If
    Giorno = CStr(Day(Data))
    If Len(Giorno) = 1 Then
    Giorno = "0" & Giorno
    End If
    DataToStr = Anno & Mese & Giorno
    End Function

    Function StrToData(Stringa)
    Anno = Mid(Stringa, 1, 4)
    Mese = Mid(Stringa, 5, 2)
    Giorno = Mid(Stringa, 7, 2)
    StrToData = CDate(Giorno & "/" & Mese & "/" & Anno)
    End Function

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    scusate ma proprio non capisco.
    Sto provando a personalizzare questa funzione:

    Function DataToStr2(Data)
    Anno = CStr(Year(Data))
    Mese = CStr(Month(Data))
    If Len(Mese) = 1 Then
    Mese = "0" & Mese
    End If
    Giorno = CStr(Day(Data))
    If Len(Giorno) = 1 Then
    Giorno = "0" & Giorno
    End If
    DataToStr2 = Giorno & "-" & Mese & "-" & Anno
    End Function


    e se la stampo a video viene fuori così come servirebbe a me cioè gg-mm-aaaa

    Se faccio l'insert invece mi esce 07/07/1894
    perche?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Potrebbe essere la codifica del db, per esperienze pregresse sopratutto con access usavo un campo formato numerico e gli inserivo la data annomesegiorno (20170116) poi la mostravo formattandola con asp.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da Partisan75 Visualizza il messaggio
    e se la stampo a video viene fuori così come servirebbe a me cioè gg-mm-aaaa
    Se faccio l'insert invece mi esce 07/07/1894
    cosa inserisci... gg-mm-aaaa? e il campo che riceve che formato ha? (data, testo... se data: che formato?) lo sai che le date prima del 1900 non sono trattate come le successive (e che quindi è meglio trattarle come testo o numeriche)?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    cosa inserisci... gg-mm-aaaa? e il campo che riceve che formato ha? (data, testo... se data: che formato?) lo sai che le date prima del 1900 non sono trattate come le successive (e che quindi è meglio trattarle come testo o numeriche)?
    Dunque nel file excel il formato è Data gg-mm-aaaa ma ho provato a cambiare anche con altre impostazioni.

    Nel DB access di destinazione il formato è Data/ora.

    La cosa che non capisco è che se importo la data dall'excel e la stampo a video con la funzione di cui sotto me la formatta bene cioè gg-mm-aaaa (16-01-2017) ma se faccio l'insert nel db al posto della data vera trovo 07/07/1894...

    Function DataToStr2(Data)
    Anno = CStr(Year(Data))
    Mese = CStr(Month(Data))
    If Len(Mese) = 1 Then
    Mese = "0" & Mese
    End If
    Giorno = CStr(Day(Data))
    If Len(Giorno) = 1 Then
    Giorno = "0" & Giorno
    End If
    DataToStr2 = Giorno & "-" & Mese & "-" & Anno
    End Function

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Hai provato ad inserire la data Excel direttamente in access senza formattarla e il campo access impostato testo?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Hai provato ad inserire la data Excel direttamente in access senza formattarla e il campo access impostato testo?
    il campo access non posso cambiarlo perche altrimenti dovreri modificare tutto il resto del sito...

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.