tekst uit XLS naar datum in Access

Status
Niet open voor verdere reacties.

Visus

Gebruiker
Lid geworden
21 sep 2006
Berichten
101
L.s.

Ik heb een Excel bestand waarin diverse kolommen voor komen waar ogenschijnlijk een datum in staat (zie bijlage). De opmaak van deze kolommen is echter "standaard'. Ik moet dit bestand koppelen aan een Access bestand. Importeren werkt niet omdat het Excel bestand elke week andere gegevens bevat. Nu kan in Access niet rekenen met deze datums. Omdat het een gekoppelde tabel is kan ik de eigenschap van de gegevens niet wijzigen. Is er een oplossing om deze gegevens in Access om te zetten in een datum? Bij het importeren van het Excel bestand kan ik importspecificaties aangeven maar kan ik dat bij het koppelen ook?

Mvg

Visus
 

Bijlagen

Ik begrijp niet helemaal wat je wilt. Je kunt toch in Excel de kolom ipv standaard, datum maken. Dan ben je er volgens mij. Als je dit doet dan worden de kolommen in Access ook datum velden.
 
Als ik de eigenschappen in Excel wijzig "ziet" Access het nog steeds niet als een datum. Het is geen datum in Excel. Het is origineel een XML bestand wat ik als XLS op sla en waardoor de eigenschap op standaard komt te staan. Ik wil er in Access een datum van maken.
 
Het klopt dat zodra je in Excel een kolom een andere format geeft deze gewoon op de oude waarde blijft staan. Hier is wel een truc voor om het op te lossen, maar die weet ik even niet.

Je kunt natuurlijk ook gewoon in Access een query maken en hier extra velden in maken en deze via de functie datevalue een datumveld van maken. Hier kun je dan mee rekenen.

Hoop dat dit misschien een oplossing voor je is.
 
De truc waar Jootje op doelt is(bijvoorbeeld) bijgaande macro:

Code:
Sub DaumOmzetten()
Dim iDatum As Date, i As Integer
    
    Range("B2").Select
    i = 0
    Do Until ActiveCell.Offset(i, 0).Value = ""
        iDatum = CDate(ActiveCell.Offset(i, 0).Value)
        ActiveCell.Offset(i, 0).Value = iDatum
        i = i + 1
    Loop

End Sub

Je moet namelijk, nadat je de veldeigenschappen hebt aangepast, de inhoud van het veld verversen, omdat Excel de oorspronkelijke opmaak nog vasthoudt. Als je dus in de formulebalk klikt, of op <F2> drukt, en daarna op <Enter> zul je zien dat de datum netjes als datum word geïnterpreteerd.
Bovenstaande macro voert dat proces uit voor elke cel, tot-ie een lege cel tegenkomt. Als je lege cellen hebt in kolom B moet je dus op een andere manier het aantal rijen bepalen, en de macro daarop aanpassen.

Overigns vraag ik me af, of al dat werk nodig is; ik heb in je testbestand een aantal kolommen op Datum gezet, en vervolgens het bestand gekoppeld in Access. Geen enkel probleem met de kolommen, netjes als datum opgemaakt. Weliswaar is de eigenschap nog steeds Tekst, maar met CDate kun je er in queries altijd een datum van maken. Overigens wordt de kolom B, die met macro is geconverteerd tot datum, wel goed ingelezen, dus die weg kun je altijd op.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan