Access - Konverzija tekst-polja u datumski format
07.02.2002
Kada budete konvertovali baze podataka i tabele iz nekog drugog formata (dBase, Paradox...) u Access format, možda će vam se javiti potreba da promenite datumska polja koja su u tekstualnom formatu (moguće kombinacije MMDDYY ili DDMMYY) u "pravo" datumsko polje. Kako izvršiti ovakvu konverziju u Accessu? U slučaju da imate podatke (slogove) u tabeli koji se čuvaju u tekst-polju, u odgovarajućem kratkom formatu datuma (recimo DD/MM/YY), možete jednostavno modifikovati strukturu tabele u dizajn modu. Treba da promenite osobinu tipa podatka u Date/Time format, i tačnije Short Date format, a Access će odraditi konverziju za vas. A da biste došli do ove tačke, preporučujemo tri koraka. Prvo, preuzmite podatke iz tekst-polja i to u originalnom DDMMYY formatu, najverovatnije putem uvoza podataka (importovanja). Zatim, upotrebite UPDATE vrstu upita za ubacivanje "/", tako da datum bude u odgovarajućem short-date formatu. I treće, modifikujte strukturu tabele, kao što smo već naveli: promenite format polja u Date/Time i detaljnije u Short Date format datuma. UPDATE upit bi trebalo da izgleda slično ovome, pretpostavljajući da polje ima naziv txtDatum, a tabela Tabela:
UPDATE Tabela SET txtDatum = Left([txtDatum],2)+"/" +Mid([txtDatum],3, 2)+"/" +Right([txtDatum],2); Ukoliko ćete konverziju obaviti funkcijom, trebalo bi da tekstualno polje DDMMYY formata odradite sledećom funkcijom: Public Function TekstUDatum(strDDMMYY) '*********************************** ' Public Function TekstUDatum(strDDMMYY) ' konverzija teksta u format DDMMYY kao datumski tip podatka '*********************************** Dim strDatum As String, dtmDatum As Date strDatum = Left([strDDMMYY], 2) + "/" + Mid([strDDMMYY], 3, 2) + _ "/" + Right([strDDMMYY], 2) dtmDatum= CDate(strDatum) Text2Date = dtmDatum End Function