› Sviluppare funzionalita su Microsoft Office con VBA › ACCESS: Campo data in formato numerico da tabella su AS400
-
AutoreArticoli
-
Devo popolare con una query di accodamento una tabella su Access con dei dati provenienti da una tabella su AS400.
Il campo Data sulla tabella su AS400 e' numerico (Es.:20221108) e devo convertirlo nel formato "Data in cifre" (08/11/2022).
Ho ricostruito la data in ggmmaaaa, sempre numerica, ma quando lancio la query dice che non puo' aggiornare il campo per errata conversione dei dati, infatti la funzione IsDate dice che non e' una stringa trasformabile in data. Chiaramente anche CDate non funziona.
Qualcuno sa come posso fare?
Grazie.
A me sembra un passaggio in più quello di trasformare un numero in altro numero per poi convertirlo in formato data.
Io tenterei questa strada:
- prendo il dato numerico,
- trasformo la stringa in formato data,
- lo passo alla SELECT del motore Jet.SELECT CDate(Right(field1,2) & "/" & Mid(field1,5,2) & "/" & Left(field1,4)) As date1 FROM tabledove chiaramente field1 è il campo che contiene il numero che rappresenta la data e table la tabella da cui si preleva il dato.
Purtroppo vado a tentativi dal momento che non conosco la struttura dati del db né la query di selezione. Presumo comunque che da Access ti stai interfacciando al database mediante ODBC.
Come al solito mi perdo nelle c.....e
Questo e' come avevo scritto Cdate: CDate(Right([ADEFINTEML_STPRATW0]![STP241];2) & Mid([ADEFINTEML_STPRATW0]![STP241];5;2) & Left([ADEFINTEML_STPRATW0]![STP241];4)) ........
La vecchiaia avanza. Grazie Vecchio Frac.
Mancavano gli slash! 😀 Non sai quante volte mi capita... queste piccole cose ti fanno diventare matto.
Io pure ho una struttura dati che memorizza le date in quel formato (yyyymmdd) per praticità di ordinamento e ricerca, ma poi per visualizzare all'utente ho costruito una Function ToDate(string) che converte la stringa in ingresso formattandola nel modo desiderato e la restituisce al codice. In questo modo ovunque, anche all'interno delle SELECT, posso utilizzarla per avere una data dd/mm/yyyy (i puristi storceranno il naso perché rallenta... pazienza 🙂 )
-
AutoreArticoli
