Gegevens splitsen in Access

Status
Niet open voor verdere reacties.
Sommige problemen zijn net ******vliegen, niet weg te krijgen... ;)

UPDATE [Orders] SET [Artikelcode] = IIf(IsNumeric([Artikelcode]),Left([Artikelcode],4),[Artikelcode]);

De code die ik net plakte, kwam uit de querybuilder. In het SQL venster moet je de ; vervangen door komma's...

Code:
UPDATE [Orders] SET [Artikelcode] = IIf(IsNumeric([Artikelcode]),Left([Artikelcode],4),[Artikelcode]);

Michel
 
0150.

Heb trouwens misschien nog een aardige oplossing op het andere probleem, met de seizoenspatronen etc. Kijk maar even in dat topic als je wilt ;).
 
Je kan het alsnog ook nog met een functie proberen:
Als je naar de groep Modules gaat, en je maakt een nieuwe module aan, kun je daar de volgende code in plakken:

Code:
Function EersteNummers(Waarde As String)

If IsNumeric(Waarde) Then
    EersteNummers= Left(Waarde, 4)
Else
    EersteNummers= Waarde
End If

Deze functie kun je dan in een query gebuiken, op de volgende manier:

Expr1: EersteNummers([Artikelcode])

Dat zou moeten werken.

Michel
 
Maar nu update die de tabel niet, maar laat enkel een lijst zien.
 
Je kunt de functie gewoon in een updatequery gebruiken; het voorbeeldje was inderdaad voor een selectiequery.
Voor een bijwerkquery zet je de opdracht EersteNummers([Artikelcode]) in het vak <Wijzigen in>
Ik heb 'm net getest, en hij werkt...

Michel
 
Opgelost, bedankt :thumb:!

Heb ik nog een vraag.

Ik maak nu een berekening

Code:
Kosten Folie/Doosje: (([Aantal besteld]*[folie doosje].[folie])+([Aantal besteld]*[folie doosje].[folie]))

Code:
Drukprijs incl >1klr: (([Aantal besteld]*0,3)*([Kleur]))
Drukprijs incl >1klr: (([Aantal besteld]*0,3)*([Kleur]))

Waar deze totaalsom uitkomt

Code:
Totaal Intern kostprijs: [Drukprijs incl >1klr]+[Kosten Folie/Doosje]

Berekening verloopt prima enkel wanneer uit de 1e berekening 0 komt (of eigenlijk geen waarde) blijft de totaal intern kostprijs leeg. Hoe kan ik dit oplossen?
 
Nieuw probleem heb de volgende soort waarden:

VGL-3253366715

Eerste 4 karakters moeten eraf en het laatste karakter ook (de 5).

Rest moet blijven staan in een tabel.

Hoe kan ik dit doen?
 
Als je echt de 1e 4 karakters eraf wilt en het laatste karakter dan de volgende functie gebruiken:

Code:
Mid([Veld1];5;Len([Veld1])-5)

Hiermee zeg je pak de waarde vanaf karakter 5. En neem het aantal karakter dat bepaald is door de lengte -5 (4+1) te doen.
 
Is dit dan de lengte vanaf rechts -5? Ik heb het misschien verkeerd gezegd. Ik wil het laatste karakater eraf halen (dat is hier toevallig een waarde 5).
 
Wat Greenery voorstelt is prima. Doordat je op het vijfde karakter begint, en bij het voorlaatste karakter wilt eindigen, moet je weten hoeveel karakters je wilt opnemen in de string. Daarvoor gebruik je de funtie Len. Door van dit getal de waarde 5 af te trekken, sluit je het voorlaatste karakter dus altijd uit.
 
Je wilde de 1e 4 eraf hebben, dus beginnen bij het 5e karakter.
En je wou het laatste karakter eraf, dus Lengte van het veld -5.
Dat het laatste getal ook 5 is, is gewoon toeval.

Is het nog gelukt?
 
Het was gisteren erg druk, maar ik heb er net naar gekeken en ik krijg het geheel niet goed in een query? Heb er een andere bijwerkquery bijgepakt, maar deze krijg ik niet werkend,
 
Bij mij doet ie t wel gewoon...
Ik heb maar even een voorbeeldje bijgevoegd met een bijwerkquery.


Veel suc6!
 
Laatst bewerkt:
Sorry ik kan geen rar openen hier op mijn werk. Kan je hem anders inpakken?
 
Heb ik nog iets wat volgens mij niet werkt met Len.

Ik heb de volgende 2 soorten getallen
10764994
10764993,1

Alles na de , (inclusief de komma mag weg).
De getallen kunnen nog weleens verschillen in lengte, maar altijd alles na de komma moet weg.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan