Gegevens splitsten in Access

Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Op verzoek van mod een nieuw topic aangemaakt.

Ik heb een waarde die in het midden wordt gesplitst door een /.

Nu zou ik graag de waarde voor de spatie willen hebben.

Wannneer de waarde korter is dan 6 karakters moeten er voorloopnullen voor geplaatst worden zodat de waarde 6 karakters lang wordt.

Wanneer er geen spatie staat moet hij die waarde nemen.

Hoe kan ik dit oplossen
 
Je kan een functie maken die het voor je opknapt:

Code:
Public Function Splitsen(Tekst As String) As String
Dim sTmp As String, sLijst() As String

sLijst = Split(Tekst, "/")
If LBound(sLijst) = UBound(sLijst) Then
    sTmp = Left(Tekst, 6)
Else
    sTmp = Left(sLijst(0), 6)
End If
Do Until Len(sTmp) = 6
    sTmp = "0" & sTmp
Loop
Splitsen = sTmp

End Function
Bijvoorbeeld...
 
De functie zet je in een aparte Module. Omdat het een Public functie is, kun je hem verder in een query gebruiken.
Je krijgt dan in de query iets als: Expr1:Splitsen([Veldnaam])
 
Ik heb nu ongeveer hetzelfde ik heb echter een datum veld opbouw bijvoorbeeld 11-12-2009

Nu wil ik altijd de maand en het jaar (in dit geval 122009).
Wanneer de maand januari is en er bijvoorbeeld 1-1-2009 moet hij als waarde meenemen 012009.
Er moet bij de maanden januari tm september dus een voorloopnul bij.
 
Dat is een kwestie van een Format opdracht op de datum:
sDatum:Format([Datumveld];"ddmmyyyy")
 
Het orginele veld blijft wel staan. Dit wordt een nieuw veld gebaseerd op een ander veld.
 
Ik heb alleen de dag niet nodig dus die heb ik weggehaald. Maar het werkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan