aanpassing aan code in access

Status
Niet open voor verdere reacties.

sjoemie1985

Gebruiker
Lid geworden
18 dec 2008
Berichten
302
dag allemaal,

Ik heb de volgende code in een access programma staan:
kenteken: Left$([Kfz-Kennz];2) & "-" & Mid$([Kfz-Kennz];4;2) & "-" & Mid$([Kfz-Kennz];7;2)

Deze code zorgt er voor dat in een rapport dat het programma kan genereren, een kenteken op het rapport word geplaatst.
En nu komt het probleem: de code zorgt er voor dat kentekens die er zo uitzien 88-ZG-KL (dus 3x 2 tekens)
op het rapport komen en deze haalt hij weer uit een txt bestand en een andere gedeelte haalt het programma uit een .csv bestand, maar nu staan er in dat csv bestand ook kentekens met 22-gkl-8 (2 tekens- 3tekens- 1 teken) en die geeft hij dus niet weer. weet iemand hoe dit op te lossen is?

ik hoop dat het te begrijpen is wat ik bedoel?

mvg sjoemie1985
 
Je moet het derde gedeelte controleren of het geen getal is met IsNumeric. Als dan het laatste karakter wel een getal is dan heb je te maken met een nieuw kenteken.
Pseudocode:
Code:
Deel3 = Mid$([Kfz-Kennz];7;2)
If Not Isnumeric(Deel3) then
   If IsNumeric(Right$(Deel3,1)) then 'Nieuw kenteken
       Deel2 = Mid$([Kfz-Kennz];4;3) 
       Deel3 = Mid$([Kfz-Kennz];8;1)
   EndIf
Endif
Enjoy!
 
is dit de totale code?
of moet ik ergens achter zetten?

want ik heb net alleen jouw code gebruikt en dan zegt hij als ik hem opsla: De syntaxis van de expressie die u hebt opgegeven, is ongeldig.
U hebt bijvoorbeeld een operand opgegeven zonder een operator.
 
alle "gewone" kentekens bestaan allemaal uit: 2 letters 2 letters 2 cijfers.
ik heb het programma programma bij gevoegd.
ik heb het programma inclusief bestanden toe gevoegd, alleen wel iets aan gepast anders zie je nog al veel bedrijfs informatie en dat is niet nodig.

in het mdb bestand moet je dan wel even bij de koppelings beheer de link naar de bestandjes aan passen.

Bekijk bijlage 97475
ik hoop dat het zo nog makkelijker is om te zien wat er gebeurt en wat niet.

als hij ergens om een code vraagt is dat: 6006655709
 
Zo te zien wil je alleen de spaties in het kenteken vervangen door een koppelteken...
Dat kan met: Num: Replace([Kfz-Kennz];" ";"-")
Hiermee hoef je geen rekening meer te houden met de plaats van de spatie in het kenteken.
 
het gaat er om dat hij ook een berekening toevoegt aan het rapport van de kentekens met 2tekens 3tekens 1teken.
 
je hebt het nog niet eerder over een berekening gehad; ik constateer wel dat er in de db een kringverwijzing zit op een tekstveld: in het tekstveld [EUR] heb je de formule =Som([EUR]) staan.... En dat kan natuurlijk niet.
 
dat haalt hij dus uit dat bestandje maut.csv daar heet de kolom waar de bedragen in staan EUR.

hoe zoe het dan volgens jouw er uit moeten zien zodat hij beide soorten kentekens in het rapport kan laten weergeven inclusief bedragen.
 
Wat wil je precies berekenen? En moet dat op basis van het veld [EUR]?
 
dat csv bestandje is gekoppeld aan die access database.
van uit die database maak open ik het rapport en die maakt dan automatisch een berekening van alle gegevens uit de kolom eur in dat csv bestandje.
maar op dit moment geeft hij op dat rapport alleen gegevens weer van de kentekens met 3 keer 2 tekens en niet de nieuwere kentekens en die moet hij in vervolg ook standaard weer geven op dat rapport.
naast die andere gegevens.

Ik weet niet of je al een keer een rapport gegenereerd hebt?
 
Dat had ik, vandaar dat ik zag dat er een kringverwijzing op staat.
Als je de Kentekenformule vervangt door de variant met Replace, zul je zien dat je totaal er netjes uitrolt...
 
maar nu heb ik een vraag over een andere code namelijk de volgende:


=[TotChauffeurs100]+[TotChauffeurZaterdag]+[TotChauffeurZondag]+[TotBijrijder100]+[TotBijrijderZaterdag]+[TotBijrijderZondag]+[TotBakwagen85]+[TotBakwagen100]+[TotCitytrailer]het probleem is dat als dat als bijvoorbeeld bij TotBakwagen100 niks is ingevuld moet hij alsnog de rest bij elkaar optellen en de totale waarde weergeven.
want nu geeft hij niks weer als er 1 niet is in gevuld.
 
Gebruik de Nz funktie:

= Nz([TotChauffeurs100],0) enzovoorts

Kan zijn dat je een puntkomma moet gebruiken:

= Nz([TotChauffeurs100];0) enzovoorts

Denk er aan om in het vervolg 1 vraag per onderwerp te stellen ;)

Tardis
 
oke dankje. :thumb:

maar ik moet dan dus al die plusjes weg halen begrijp ik? en alles veranderen in ([TotChauffeurs100],0) waarbij dus TotChauffeurs100 de waarde krijgt als in de reeks, dus nr2 word ([TotChauffeurZaterdag],0) ???
 
Laatst bewerkt:
oke dankje. :thumb:

maar ik moet dan dus al die plusjes weg halen begrijp ik? en alles veranderen in ([TotChauffeurs100],0) waarbij dus TotChauffeurs100 de waarde krijgt als in de reeks, dus nr2 word ([TotChauffeurZaterdag],0) ???

Nee.
Je moet overal de Nz functie toepassen.

Dus

=Nz([TotChauffeurs100],0) +Nz([TotChauffeurZaterdag],0) + enzovoorts

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan